iSCSI LUN 卡顿断连先做三线优化:存储、网络与主机侧清单

症状先对号

在 VMware、Windows 或其他主机上用 iSCSI LUN,遇到下面任一条,都可能与性能相关,值得按三条优化线走一遍:

  • iSCSI LUN 性能不佳;
  • 突然与 iSCSI Target 断开连接,或主机连接失败;
  • LUN 延迟过高警告;
  • 连接超时通知;
  • 建立连接耗时超出预期;
  • 连接不稳定、频繁断开。

存储线:先把池子理顺

  • 用 RAID 5、6、F1、TP 或包含三个以上硬盘的 SHR 时,减小 Stripe cache size——DSM 7.x 走存储管理器 > 存储空间,选存储池后 > 设置 > Stripe cache size,选较小的 stripe cache size;DSM 6.x 在存储管理器 > 存储池的操作 > 更改设置里改;
  • 确保存储池内所有硬盘健康,任何警告或严重状态的硬盘都会拖性能;
  • 空间利用率别过高(例如超过 90%),可用空间不足直接影响性能;
  • 给负载较重的 LUN 建专用存储池或存储空间;
  • 用 SSD 缓存或基于 SSD 的存储池/存储空间提速,对随机 I/O 高的应用尤其有效;
  • 块级 LUN 或 Thin Provisioned 的 ext4 LUN,切换到文件级 Btrfs LUN;
  • 用 Thick Provisioned LUN 替代 Thin Provisioned;
  • 高 I/O 任务(备份、快照保留等)安排在不同时间,别叠在一起抢。

官方注记:虚拟化环境强调随机读写,较小的 stripe cache size 有助降低读写延迟,但可能降低 I/O 吞吐量与 RAID 重新同步速度,按业务取舍。

网络线:让 iSCSI 独走一条道

  • 创建专用 iSCSI 网络,与其他流量隔离;条件允许,iSCSI 主机与 NAS 直接连接;
  • 配置网络绑定:DSM 7.x 进 SAN Manager > iSCSI,选一个 target,编辑 > 网络绑定,选仅限选定接口,只勾用于 iSCSI 服务的网卡;DSM 6.x 在 iSCSI Manager > Target 的操作 > 编辑里。

主机线:VMware 三个参数

Windows 主机按微软官方指引优化 iSCSI 连接;VMware 主机做三件事:

  • 把 ATS heartbeat 的值从 1 改为 0,禁用心跳;
  • 若 LUN 启用了硬件辅助锁定高级功能,确认 HardwareAcceleratedLocking 的值为 1;
  • 提高连接稳定性:登录 vSphere Client 进入主机,配置选项卡 > 存储 > 存储适配器,选名称为 vmhba# 的适配器(如 vmhba1),高级 > 编辑,把 LoginTimeout 设为 60、NoopTimeout 设为 30、DelayedAck 设为 false。

小结

  • 存储线:小 stripe cache、硬盘健康、空间留余、专池专用、SSD 提速、Btrfs 文件级、Thick 预置、任务错峰;
  • 网络线:专用网络或直连,target 绑定限定接口;
  • 主机线:超时 60/30、关 DelayedAck、禁 ATS heartbeat。

诚鑫致达科技部署虚拟化存储前有项前置体检:硬盘健康、空间余量、网络隔离三栏过完才建 LUN,上线头一周盯住延迟曲线,平稳了再交给业务跑。