目前,VAAI虽然已经成为虚拟化领域的标准语言之一,但是大多数人可能并不了解它还有隐藏的第四大特性,VMware曾经提到过设计思路但是最终没有被包含到vSphere 4.1中。这是一个非常有趣的故事,它在另一方面也提醒我们在厂商之间的合作伙伴关系并不如表面看起来那么地和谐。在本文中,TechTarget中国的特约专家Mike Laverick将介绍什么是VAAI,然后向大家讲述关于这第四大特性的“达芬奇密码之旅”。

  VAAI是“vStorage APIs for Array Integration”的缩写。从中我们可以理解最基本的一点就是在vSphere 4.1中,VMware已经预先植入了新的软件代码,用以支持存储厂商可以和vSphere 4.1进行智能地整合。这也就是说存储阵列已经成为“vm-aware”。这一点看起来就如同处理器厂商在CPU中加入的用于改善虚拟化性能和安全属性的Intel-VT或AMD-V技术一样,存储厂商所做的内容也类似(在它发挥作用后,我们可以把VAAI想象成用于支持硬件存储设备的软件助理)。现有的VAAI中包含了三项用于改善性能的新特性,而原本应该有四大特性的存在。

  特性一:Full CopyCopy Offload

  第一项特性被称为Full Copy,而部分厂商也把这项称为Copy Offload。现在vSphere 4中,当我们从模板来创建一个新的虚拟机时,无论是FC、iSCSI或NFS系统中,都需要对其中存储的源数据文件从头到尾进行一次全读取操作,然后再重新写入到新的目标地点。这样的过程会极大地增加ESX宿主机的CPU负载,而且会导致新虚拟创建的过程去占用大量原本应该用于支持现有生产虚拟机运行的宝贵的IOPS资源。

  即使是在现今的瘦虚拟磁盘技术下,新虚拟机的部署也会涉及对冗长的状态栏的读取过程。VAAI的Full Copy或Copy Offload功能,则可以通过在磁盘阵列内部实现从一个卷到另一个卷的智能拷贝过程来消除这种影响。VMware宣称这样的一项技术可以实现10倍到20倍的性能提升,同时为虚拟桌面架构的应用铺平道路,新虚拟机创建时间相比之前的方式可以大幅地缩短。

  所有需要启用容错(FT)功能的虚拟机,它们的虚拟磁盘必须从原来的thin disk 或zeroed thick disk方式,转化为称为eager zeroed thick disk的磁盘格式。这个转化过程会占用大量的时间,因为这个转化过程同安全擦除操作类似,需要涉及对虚拟磁盘中每个扇区的清零操作。

  最后一点,其它的一些存储相关操作,例如Storage vMotin(实现虚拟机从源站点到目标站点的迁移过程),在采用VAAI技术后都可以在阵列端实现明显的性能提升。

  特性二:Block Zeroing

  第二项属性被称为Block Zeroing。这一功能依然和克隆的进程紧密相关。在虚拟磁盘文件内部同时存在着数据区(写有数据的扇区)和等待写入的空白区(空扇区)。

  从本质上看,我们可以把虚拟机的克隆过程作为一个完整的文件拷贝过程来对待。整个过程就是组成虚拟机的磁盘文件被从源数据区拷贝到目标地点。在之前的版本下,假设我们需要拷贝40GB大小的虚拟磁盘文件,其中有10GB的数据区。那么在部署过程中,在为10GB数据的移动占用IOPS的同时,还需要发送大量重复的SCSI命令,用于完成对组成该磁盘文件的大量空白扇区的迁移和写入。

  Block Zeroing 技术可以节省大量的从ESX主机发送到磁盘阵列的SCSI命令。Block Zeroing也使得VMware FT过程的启用变得相对简单而快捷。所有需要启用容错(FT)功能的虚拟机,它们的虚拟磁盘必须从原来的thin disk 或zeroed thick disk方式,转化为称为eager zeroed thick disk的磁盘格式。转化过程会占用大量的时间,因为这个转化过程同安全擦除操作类似,需要涉及对虚拟磁盘中每个扇区的清零操作。结合VAAI的Block Zeroing技术后,可以极大地节省该过程所需的SCSI命令数量。

  特性三:Scalable Lock Management

  第三项特性称为“Scalable Lock Management”。其实早在ESX 2.x起,VMware就开始在它的文件系统VMFS(Virtual Machine File System)中通过采用SCSI Reservation Lock技术,来实现多个ESX主机对同一个数据源文件的共享访问。这种锁定技术允许来自不同ESX主机上的多个访问可以到达同一个数据文件,而更重要的一点是可以避免发生冲突。例如,避免有两个VMware管理员同时尝试在同一个卷上创建一个完全相同的虚拟机。在虚拟机启动后,它的文件就变成锁定状态。如同在共享系统中被打开的文档处于锁定状态一样。通过这种处理可以防止发生一些低级的管理员事故,例如可以防止在虚拟机启动(或使用)时对虚拟机(或文档)进行删除操作。

  本质上VMFS是一个共享文件系统,之前在一些特殊应用中,如VMotion,对于VMFS的使用是强制性的。在VI3.0发布之后,VMware引入了 对NFS协议的支持,包括一些同样基于SCSI Reservation Locks技术支持的新功能:High Availability 和 Distributed Resource Scheduler。

  多年以来,VMware编写和重新修订了很多VMFS驱动,希望可以降低由于SCSI reservations操作带来的性能影响。这些SCSI reservations操作带来的影响,在一些文件系统需要面临大量变化的时候会表现得非常明显,VMware把这种情形统称为:“VMFS Metadata”升级。其中包括了VMotion、创建新的虚拟机、启动或关闭虚拟机、删除虚拟机或者是做快照等等多个任务。

  这些都是在VMware环境中很常见的事件,它们中的每一个操作都需要进行强制锁定。现在,很重要的一点是我们决不能夸大这种锁定过程带来的影响,因为多数的用户都没有明显感觉到。这就是VMFS的优势所在。换句话,所有可以减少或去除ESX主机所需锁定进程的改善都是有意义的。所以这项特性,我们可以称其为"Hardware Assisted Locking",而它绝不应该被忽略。

  总之,VAAI引入了大量的新选项和终端作为其内在优势。在ESX主机端,VAAI默认是被启用的,如果阵列端无法支持VAAI,那么这些相应的选项就不会出现。如果想了解更多关于这些新特点的设置问题