虚拟机部署一直在面临诸多挑战,基于I/O容量和空间利用率手动部署虚拟机过于复杂而常常被人们所忽略,而这往往会导致热点以及数据存储的过量使用或者是未充分使用。

    vSphere 5.0在vSphere 4.1的基础上增加了众多的存储特性,在降低存储管理复杂性的同时提供了更大的可扩展性。Storage DRS是在vSphere 5.0中引入的一个新特性,它基于I/O和空间容量提供了更加智能的虚拟机部署以及负载均衡机制,大大降低了部署虚拟机以及监控存储环境相关的问题的复杂性。

    另外,vSphere 5.0在存储特性方面的新功能及增强功能还包括VMFS-5,配置文件驱动的存储,更强大的存储I/O控制以及Storage vMotion等等。本文对vSphere 5.0在存储方面的这些新特性进行一个概要解读。

Storage DRS

    Storage DRS是在vSphere 5.0中新引入的一个存储特性,它基于存储I/O和空间容量提供了更加智能的虚拟机部署和负载均衡机制,管理员不必再自己去监控存储环境并手动进行虚拟机的Storage vMotion就可实现虚拟机性能的最大化。

    数据存储集群(datastore clusters)是Storge DRS的基础,VMware在vCenter Server 5.0中引入了数据存储集群。简而言之,和vSphere 4中我们所熟悉的主机集群类似,数据存储集群将存储资源聚合在一起,为快速、智能地放置新的虚拟机以及对现有工作负载进行负载均衡提供存储资源。在创建数据集群时,用户可以定义存储的空间利用率和I/O延迟的阈值。在虚拟机运行过程中,当超出用户定义的阈值时,Storage DRS将计算所有可能的迁移方案,智能地考虑迁移的成本以及优势,平衡工作负载。在进行虚拟机的初始部署时,Storage DRS能够根据用户对磁盘空间的限制以及对I/O负载的要求,在最小化存储I/O瓶颈以及对虚拟机性能影响的前提下,提供虚拟机的初始部署建议。我们可以很方便地在vCenter Server中看到所有的初始部署建议以及虚拟机运行过程中的迁移建议。

    Storage DRS同时支持VMFS和NFS,但是目前在同一个数据存储集群中还不能同时存在VMFS和NFS,期待在下一版本的vSphere中能够提供该功能。

    在Storage DRS中可以定义关联规则,控制不同的虚拟磁盘能否存放在同一个数据存储上,这和DRS中的虚拟机关联规则类似。在Storage DRS中能够定义的关联规则包括VMDK Anti-Affinity(同一个虚拟机的不同虚拟磁盘必须存放在不同的数据存储中),VMDK Affinity与VMDK Anti-Affinity正好相反,也就是同一个虚拟机的不同磁盘必须存放在同一个数据存储中,VM Anti-Affinity用于定义指定的两个虚拟机及其虚拟磁盘必须存放在不同的数据存储中。

   另外在Storage DRS中还可以设置数据存储的维护模式,这为维护数据存储提供了便利。和DRS中将主机设为维护模式类似,将数据存储被设置为维护模式后,存放在该数据存储上的所有虚拟机和虚拟磁盘将自动迁移至同一个数据存储 cluster中的其他的数据存储上。

VMFS-5

   vSphere 5.0 的VMFS-5在架构方面进行了众多改进,目的就是降低复杂性,提高性能和可扩展性。

   首先,和VMFS-3中支持的最大LUN大小仅为2TB(选择最大的8MB的块大小)相比,VMFS-5支持的LUN大小最大可达64TB,大大降低了管理数据存储的复杂性,为存储大数据提供了保证。

   其次,VMFS-5将块大小统一为1MB,在添加LUN时操作将更加简单,但统一块大小并没有丝毫降低VMFS-3中不同块大小所具有的可扩展性和灵活性。我们知道在VMFS-3中存在四种块大小(1MB,2MB,4MB和8MB),为确保能够从VMFS-3平滑升级至VMFS-5,在文件系统升级过程中 vSphere 5.0 并不会改变原有的块大小,这确保了不会破坏VMFS-3 数据存储上的数据。

   最后,VMFS-5改进了VMFS-3的子块机制,能够更加智能地管理数量日益增多的小文件。我们知道VMFS-3 支持子块级寻址,无论选择的块大小是多大,子块的大小始终是64KB。VMFS-5中加强了对子块级寻址的支持,降低了管理小文件的开销:在存储日志文件和虚拟机的原数据时,VMFS-5能够分配30,000个8KB大小的子块。对于大小小于1KB的更小的数据文件,VMFS-5将使用1KB的小型文件块进行存储。

配置文件驱动的存储

   vSphere 5.0引入了配置文件驱动的存储(Profile-Driven Storage), 减少了部署虚拟机时对存储进行手动管理,使基于SLA、可用性、性能以及存储容量等要求进行快速、智能部署虚拟机成为了可能。我们可以在部署,克隆以及Storge vMotion过程中使用存储配置文件(Storage profile),保证只将符合存储配置文件定义中要求的数据存储或数据存储集群分配给虚拟机使用。

存储I/O控制

   vSphere 5.0对存储I/O控制进了扩展,针对NFS存储提供了集群级的I/O份额(share)和限制(limit)控制。当超出存储I/O延迟阈值时,存储I/O控制将自动限制正在消耗大量不相干的I/O带宽的虚拟机,避免了单台虚拟机可能引起的存储I/O瓶颈,保证使用同一个数据存储的其他虚拟机能够获得应得的I/O份额。

Storage vMotion

   和vSphere 4.1相比,在vSphere 5.0中,Storage vMotion的增强功能之一就是支持对带有快照的虚拟机以及链接克隆(linked clone)进行迁移,而且能够保证原有快照的可用性,这大大简化了虚拟机在不同存储间进行迁移的过程。

   另外Storage vMotion通过使用镜像模式(Mirror Mode)这一新特性,提高了迁移效率,完全避免了由于迁移超时而导致Storage vMotion失败的可能性。在使用Storage vMotion进行迁移的过程中,镜像驱动器驻留在VMkernel中,而且可以在虚拟机级别启用。镜像模式通过对写入源磁盘的I/O数据块进行镜像,保证了数据同时写入源磁盘和目标磁盘,而且源磁盘和目标磁盘必须同时对写入操作进行确认,I/O数据块的写入才会生效。当迁移过程中源磁盘仍有大量数据写入时,迁移过程带来的效率的提升尤为明显。