通过硬件加速,ESXi 主机可以与块存储设备、光纤通道或 iSCSI 集成,并使用包括完整复制、块置零和硬件辅助锁定在内的存储阵列操作。
ESXi 硬件加速支持以下阵列操作:
- 完全复制,也称为克隆块或复制卸载。存储阵列可以对阵列内的数据进行完全复制,而无需使主机读取和写入数据。此操作可减少在克隆虚拟机、从模板进行置备或使用 vMotion 进行迁移时所耗费的时间和网络负载。
- 块置零,也称为同写。存储阵列可以将大量块置零以提供新分配的存储(不包含先前写入的数据)。此操作可减少在创建虚拟机和格式化虚拟磁盘时所耗费的时间和网络负载。
- 硬件辅助锁定,也称为原子测试和设置 (ATS)。支持离散虚拟机锁定,而不使用 SCSI 预留。此操作允许按扇区进行磁盘锁定,取代了使用 SCSI 预留对整个 LUN 进行磁盘锁定。
请向您的供应商确认是否提供硬件加速支持。某些存储阵列要求在存储端激活该支持。
在主机上,默认情况下可以使用硬件加速功能。如果存储不支持硬件加速,可以将其停用。
除了硬件加速支持外,ESXi 还支持阵列精简置备。有关信息,请参见ESXi 和阵列精简置备。
停用块存储设备的硬件加速
在主机上,块存储设备的硬件加速功能在默认情况下处于激活状态。可以使用 vSphere Client 高级设置来停用硬件加速操作。
与任何高级设置一样,在停用硬件加速之前,请咨询 VMware 支持团队。
过程
- 在 vSphere Client 中,导航到 ESXi 主机。
- 单击配置选项卡。
- 在系统下,单击高级系统设置。
- 要停用硬件加速,请将以下选项的值更改为 0:
- VMFS3.HardwareAcceleratedLocking
- DataMover.HardwareAcceleratedMove
- DataMover.HardwareAcceleratedInit
管理块存储设备上的硬件加速
为了与块存储阵列集成,vSphere 使用称为 Storage APIs - Array Integration (VAAI) 的 ESXi 扩展。通过此集成,vSphere 可以使用阵列硬件操作。
在 vSphere 5.x 及更高版本中,这些扩展是以 T10 SCSI 命令形式实现的。因此,通过支持 T10 SCSI 标准的设备,ESXi 主机可以直接通信而不需要 VAAI 插件。
如果设备不支持 T10 SCSI 或提供部分支持,则 ESXi 将恢复使用安装在主机上的 VAAI 插件。主机也可以组合使用 T10 SCSI 命令和插件。VAAI 插件是特定于供应商的,可能是 VMware 或合作伙伴开发的。要管理支持 VAAI 的设备,主机可将 VAAI 筛选器和特定于供应商的 VAAI 插件附加到该设备。
有关存储是否需要 VAAI 插件或通过 T10 SCSI 命令支持硬件加速的信息,请参见《《VMware 兼容性指南》》或联系存储供应商。
可以使用多个 esxcli 命令查询存储设备,以获取硬件加速支持信息。对于需要 VAAI 插件的设备,也可以使用声明规则命令。有关 esxcli 命令的信息,请参见《ESXCLI 入门》。
显示硬件加速插件和筛选器
要与不支持 T10 SCSI 标准的设备进行通信,主机需要使用单个 VAAI 筛选器和特定于供应商的 VAAI 插件。使用 esxcli 命令可查看当前加载到系统中的硬件加速筛选器和插件。
前提条件
安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。
过程
- ♦ 运行 esxcli storage core plugin list --plugin-class=value 命令。
对于 value,输入以下参数之一:
- 键入 VAAI 可显示插件。
此命令的输出与以下示例类似:
#esxcli storage core plugin list --plugin-class=VAAI Plugin name Plugin class VMW_VAAIP_EQL VAAI VMW_VAAIP_NETAPP VAAI VMW_VAAIP_CX VAAI
- 键入 Filter 可显示筛选器。
此命令的输出与以下示例类似:
esxcli storage core plugin list --plugin-class=Filter Plugin name Plugin class VAAI_FILTER Filter
- 键入 VAAI 可显示插件。
验证硬件加速支持状态
使用 esxcli 命令可验证特定存储设备的硬件加速支持状态。
前提条件
安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。
过程
- ♦ 运行 esxcli storage core device list -d=device_ID 命令。
输出显示硬件加速(或 VAAI)状态,该状态可以为未知、受支持或不受支持。
# esxcli storage core device list -d naa.XXXXXXXXXXXX4c naa.XXXXXXXXXXXX4c Display Name: XXXX Fibre Channel Disk(naa.XXXXXXXXXXXX4c) Size: 20480 Device Type: Direct-Access Multipath Plugin: NMP XXXXXXXXXXXXXXXX Attached Filters: VAAI_FILTER VAAI Status: supported XXXXXXXXXXXXXXXX
验证硬件加速支持详细信息
使用 esxcli 命令查询块存储设备是否提供硬件加速支持。
前提条件
安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。
过程
- ♦ 运行 esxcli storage core device vaai status get -d=device_ID 命令。
如果由 VAAI 插件管理该设备,则输出会显示连接到该设备的插件的名称。此外,输出还会显示每个基于 T10 SCSI 的原语的支持状态(如果可用)。输出如以下示例中所示:
# esxcli storage core device vaai status get -d naa.XXXXXXXXXXXX4c naa.XXXXXXXXXXXX4c VAAI Plugin Name: VMW_VAAIP_SYMM ATS Status: supported Clone Status: supported Zero Status: supported Delete Status: unsupported
列出硬件加速声明规则
VAAI 插件管理的每个块存储设备都需要两个声明规则。一个声明规则指定硬件加速筛选器,另一个指定设备的硬件加速插件。可以使用 esxcli 命令列出硬件加速筛选器和插件声明规则。
过程
添加硬件加速声明规则
要为新的阵列配置硬件加速,请添加两个声明规则:一个用于 VAAI 筛选器,另一个用于 VAAI 插件。为了激活新声明规则,请先定义规则,然后将其加载到系统中。
前提条件
安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。
过程
示例: 定义硬件加速声明规则
此示例显示如何为使用 VMW_VAAIP_T10 插件的 IBM 阵列配置硬件加速。按以下顺序运行命令。有关命令使用的选项的信息,请参见添加多路径声明规则。
# esxcli storage core claimrule add --claimrule-class=Filter --plugin=VAAI_FILTER --type=vendor --vendor=IBM --autoassign
# esxcli storage core claimrule add --claimrule-class=VAAI --plugin=VMW_VAAIP_T10 --type=vendor --vendor=IBM --autoassign
# esxcli storage core claimrule load --claimrule-class=Filter
# esxcli storage core claimrule load --claimrule-class=VAAI
# esxcli storage core claimrule run --claimrule-class=Filter
配置 XCOPY 参数
XCOPY 是 VAAI 基本类型之一,用于将任务卸载到存储阵列。例如,可以使用 XCOPY 将诸如虚拟机迁移或克隆等操作卸载到阵列,从而不必使用 vSphere 资源来执行这些任务。
可以将 XCOPY 机制与所有支持 VMW_VAAIP_T10 插件(由 VMware 开发,基于 SCSI T10)的存储阵列结合使用。要启用 XCOPY 机制,请创建 VAAI 类的声明规则。
前提条件
安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。
过程
- ♦ 使用以下命令并输入 XCOPY 选项:
esxcli storage core claimrule add --claimrule-class=VAAI
有关命令使用的选项的信息,请参见添加多路径声明规则。
选项 描述 -a|--xcopy-use-array-values 将阵列报告的值用于 XCOPY 命令。 -s|--xcopy-use-multi-segs 将多个段用于 XCOPY 命令。仅当指定 --xcopy-use-array-values 时才有效。 -m|--xcopy-max-transfer-size 使用不同于阵列所报告的传输大小时 XCOPY 命令的最大传输大小 (MB)。仅当指定 --xcopy-use-array-values 时才有效。 -k|--xcopy-max-transfer-size-kib 使用不同于阵列所报告的传输大小时 XCOPY 命令的最大传输大小 (KiB)。仅当指定 --xcopy-use-array-values
时才有效。-e | --extended-xcopy-support
使用 extended XCOPY 命令可优化位于不同存储阵列中的数据存储之间的数据复制。
示例: 配置 XCOPY
-
# esxcli storage core claimrule add -r 914 -t vendor -V XtremIO -M XtremApp -P VMW_VAAIP_T10 -c VAAI -a -s -k 64
-
# esxcli storage core claimrule add -r 65430 -t vendor -V EMC -M SYMMETRIX -P VMW_VAAIP_SYMM -c VAAI -a -s -m 200
使用扩展 XCOPY 参数优化数据复制
扩展 XCOPY 参数可优化两个不同阵列中数据存储之间的数据复制。通过该参数,可以迁移和克隆工作负载,从而在两个不同的阵列之间卸载 XCOPY。
- 在声明规则中使用新的扩展 XCOPY 选项。
esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -e
例如:
esxcli storage core claimrule add -t vendor -V DellEMC -M PowerStore -P VMW_VAAIP_T10 -c VAAI --autoassign -e
- 仅 T10 插件支持扩展 XCOPY。
过程
删除硬件加速声明规则
使用 esxcli 命令可删除现有硬件加速声明规则。
前提条件
安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。
过程
- ♦ 运行以下命令:
esxcli storage core claimrule remove -r claimrule_ID --claimrule-class=Filter
esxcli storage core claimrule remove -r claimrule_ID --claimrule-class=VAAI