如果存储设备不支持硬件加速,ESXi 主机会在 VMFS 中执行需要文件锁定或元数据锁定的操作时使用 SCSI 预留机制。SCSI 预留将锁定整个 LUN。某一主机使用过多 SCSI 预留可导致其他服务器访问相同 VMFS 时性能降低。

问题

过多 SCSI 预留会导致性能降低和 SCSI 预留冲突。

原因

一些操作要求 VMFS 使用 SCSI 预留。

  • 创建、重新签名或展开 VMFS 数据存储
  • 打开虚拟机电源
  • 创建或删除文件
  • 创建模板
  • 从模板部署虚拟机
  • 创建新虚拟机
  • 通过 vMotion 迁移虚拟机
  • 扩展文件,例如精简置备的虚拟磁盘
注: 对于支持硬件加速的存储设备,主机使用原子测试和设置 (ATS) 算法来锁定 LUN。有关硬件加速的详细信息,请参见《 vSphere 存储》文档。

解决方案

要消除潜在的 SCSI 预留冲突根源,请遵循以下准则:

  • 对共享 LUN 的操作执行串行化,如有可能,同时限制要求 SCSI 预留的不同主机上的操作数。
  • 增加 LUN 个数并限制访问同一 LUN 的主机数。
  • 减少快照数。快照会造成大量 SCSI 预留。
  • 减少每个 LUN 的虚拟机数。请遵循最高配置中的建议。
  • 确保在所有主机上安装最新的 HBA 固件。
  • 确保主机具有最新的 BIOS。
  • 确保 SAN 阵列上的“主机模式”设置正确。

有关处理特定存储阵列上的 SCSI 预留冲突的信息,请参见 VMware 知识库文章,网址为 http://kb.vmware.com/kb/1005009