然而,随着虚拟化环境的日益复杂,存储操作的高效性和兼容性成为了企业关注的焦点
VMware VAAI(vSphere APIs for Array Integration,vSphere存储阵列集成API)应运而生,它通过利用存储系统的硬件加速功能,显著优化了虚拟机的存储操作,同时确保了与不同存储系统的兼容性
本文将深入探讨VMware VAAI的兼容性,为管理员提供全面的理解和实践指导
一、VMware VAAI概述 VAAI是VMware提供的一套API框架,旨在实现ESXi主机与存储系统之间的无缝通信
它通过定义一组存储原语(Storage Primitives),将涉及数据跨数据存储(Datastore)移动的操作,如快照、克隆、置零等存储密集型操作卸载到存储系统执行,从而提升数据拷贝的效率,并减少ESXi主机对计算资源和带宽的消耗
VAAI支持块存储(Block Storage Devices)和文件存储(NAS Devices),主要包括Hardware Acceleration APIs(硬件加速API)和Array Thin Provisioning APIs(存储精简配置API)两部分
二、VMware VAAI的硬件加速功能 硬件加速功能是VAAI的核心所在,它使ESXi主机能够与兼容的存储系统集成,将部分虚拟机和存储的管理操作卸载给存储系统执行
这不仅提高了操作的执行速度,还降低了ESXi主机的CPU、内存和带宽消耗
1.支持范围 当ESXi主机支持硬件加速功能时,可以更快更有效地执行以下操作任务: 使用Storage vMotion迁移虚拟机 从模板部署虚拟机 克隆虚拟机或模板 - VMFS对虚拟机文件进行集群锁和元数据操作(如虚拟机批量关机、开机) 分配厚置备虚拟磁盘 创建容错虚拟机(fault-tolerant) 在NFS存储上创建或克隆厚置备虚拟磁盘 2.前提条件 硬件加速功能的有效发挥依赖于合适的ESXi主机和存储系统的结合
以下是实现硬件加速功能的前提条件: - 存储系统必须支持VAAI,并且经过VMware的兼容性认证
- 如果SAN和NAS支持硬件加速,但与VMware对接时使用了中间设备(如存储虚拟化设备、I/O加速设备、加密设备等),那么中间设备也必须要支持硬件加速并经过适当的认证
3.状态说明 对于每个存储设备和数据存储,vSphere客户端会显示硬件加速支持情况,状态通常有未知、受支持、不受支持三种,初始值为未知
当存储系统不支持或部分支持ESXi主机操作时,ESXi主机会恢复到原始的方式执行不受支持的操作
- Block Storage Devices:当ESXi主机执行卸载(offload)操作成功之后,则块设备状态将变为受支持
当ESXi主机执行卸载(offload)操作失败之后,则块设备状态将变为不受支持
当块设备提供了部分硬件加速支持,则块设备状态将保持为未知
- NAS Devices:当ESXi执行至少一次卸载(offload)操作成功之后,则NAS设备状态将变为受支持
4.接口说明(VAAI-Block) VAAI-Block硬件加速功能支持Full copy、Block zeroing、Hardware assisted locking三个接口,默认启用硬件加速功能
- Full copy:也称为clone blocks或copy offload,当进行虚拟机克隆、虚拟机迁移和从模板部署虚拟机等操作时,VAAI可以避免ESXi主机读取和写入数据,而是将数据复制工作通过特殊指令(SCSI EXTENDED_COPY指令,该指令携带待复制数据的源、目的地址,待复制数据总空间)卸载到存储系统内部进行,节省处理时间,减少ESXi主机计算和网络资源消耗
需要注意的是,涉及到数据复制时,源端存储和目标端存储须为同一个存储系统同一个target
同时,虚拟机读写过程中不能进行Full copy操作,故虚拟机需处于关机状态
- Block zeroing:也称为write same,当进行虚拟磁盘创建(尤其是厚置备置零格式)、虚拟磁盘格式化等操作时,ESXi主机下发特殊指令(SCSIWRITE_SAME指令,该指令携带待格式化的数据范围、数据模板)给存储系统,由存储系统将大量块置零,以提供新分配的存储,避免ESXi主机与存储系统大量数据交互
- Hardware assisted locking:也称为atomic test and set(ATS),当进行虚拟机批量开关机、虚拟机批量创建等批量操作时,存储系统锁住某一个扇区,而不是整个锁住整个LUN,从而提高并发操作性能
VMware将LUN格式化为VMFS文件系统,提供给多个虚拟机使用,当存在多个虚拟机同时访问VMFS文件系统时存在写冲突,故需要使用锁机制仲裁控制写入过程
传统方式下,某个虚拟机读写时会锁住整个VMFS系统,导致其他虚拟机不能读写,无法实现多虚拟机并发读写
ATS锁可以缩小锁机制锁定范围,只对写的单个数据块上锁,从而提高整个VMFS系统并发IO
5.接口说明(VAAI-NAS) VAAI-NAS硬件加速功能支持Full File Clone、Reserve Space、Array-based Snapshots、Extended Statistics接口,支持NFS存储v3和v4.1两个NFS版本
对于NAS设备,硬件加速集成是通过特定供应商实现的NAS插件实现的,这些插件通常由供应商创建,并通过网站作为VIB包分发
因此,如需要使用VAAI-NAS硬件加速功能,需要安装对应NAS设备供应商提供的NAS插件
- Full File Clone:完整文件克隆,支持NAS设备克隆虚拟磁盘文件的能力,这个操作类似于VMFS块克隆,只是NAS设备克隆的是完整的文件,而不是文件分片
- Reserve Space:保留空间,支持NAS设备为厚置备虚拟磁盘文件分配存储空间
通常来说,当使用NFS数据存储创建虚拟磁盘,NAS服务器决定分配策略,大多数NAS服务器分配策略为精简配置(thin)
然而,保留空间操作可以指示NAS设备使用特定厂商机制为虚拟磁盘预留空间,因此,可以在NFS数据存储上创建厚置备虚拟磁盘
- Array-based Snapshots:基于阵列的快照,虚拟机快照创建可以卸载到存储阵列中进行
需要注意的是,Storage DRS不检测NFS存储基于阵列的快照,因此,当执行克隆具有基于阵列快照的虚拟机等操作时,Storage DRS不提供任何建议
- Extended Statistics:扩展统计信息,支持NAS设备上空间使用的可见性,此功能对于精简配置非常有用
三、VMware VAAI兼容性实践 要确保VMware VAAI的兼容性,需要遵循以下步骤: 1.确认存储系统支持 在部署VAAI之前,首先需要确认存储系统是否支持VAAI以及支持哪些VAAI原语
可以使用vmware-cmd工具或vSphere Web Client来检查存储阵列的VAAI支持情况
此外,还可以访问VMware的兼容性数据库(【https://www.vmware.com/resources/compatibility/search.php】(https://www.vmware.com/resources/compatibility/search.php)),输入硬件型号和ESXi版本,以获取所有已认证的兼容设备信息
2.配置VAAI特性 一旦确认了兼容性,就可以通过vSphere Client或ESXi Shell配置VAAI特性
登录vSphere Web Client后,导航至vCenter服务器下的主机和群集,选择需要配置的主机,然后点击“管理”选项卡
在“系统”部分选择“硬件”下的“存储适配器”,选择连接到存储的HBA适配器,点击“配置”
在“虚拟机存储API”选项中,勾选“启用虚拟机存储API”以及需要使用的VAAI原语,如ATS、XCOPY和Write Same
3.监控和调整VAAI参数 启用VAAI后,vSphere将能够利用存储系统的硬件加速功能执行数据迁移、克隆、快照等操作,显著提升I/O性能
然而,为了确保最佳实践,需要定期监控和调整VAAI参数,以便根据实际工作负载进行优化
管理员可以深入学习VMware官方文档中关于VAAI的高级配置和性能调优的章节,以掌握如何根据不同的应用场景和存储解决方案,灵活配置和调整VAAI特性
四、VMware VAAI兼容性案例分析 以威联通科技(QNAP)的Turbo NAS为例,该系列存储设备支持VMware VAAI及vSphere Client Plug-in,显著提升了虚拟化环境的存储操作性能
Turbo NAS支持的VAAI功能包括复制整个Volume的Full Copy、快速清除区块的Block Zeroing以及让多台ESXi主机共享存取同一档案而不彼此冲突的Hardware-assisted locking
这些功能将部分存储作业的执行卸载到Turbo NAS上,提高了虚拟主机运作性能
同时,vSphere Client Plug-in允许使用者在Turbo NAS上通过vSphere Client控制台直接管理VMware存储区丛集(datastores),有效增进了管理多台虚拟机的效率
此外,威联通Turbo NAS还获得了Windows Server 2012官方兼容性认证,与Windows Server 2012的结合运用为企业IT环境创造了具经济效益的存储空间及虚拟化应用架构
这些案例充分证明了VMware VAAI在不同存储系统上的兼容性和实际应用效果
五、总结 VMware VAAI作为虚拟化存储操作的高效解决方案,通过利用存储系统的硬件加速功能,显著提升了虚拟机的存储操作性能
然而,要确保VAAI的兼容性,需要管理员在部署前进行充分的检查和配置工作
通过确认存储系统支持、配置VAAI特性以及监控和调整VAAI参数等步骤,管理员可以确保VAAI在不同存储系统上的稳定运行,并为企业虚拟化环境提供卓越的存储性能
随着虚拟化技术的不断发展