VMware和Hyper-V都采用了虚拟硬盘方式(VHD-virtual hard disk),虚拟机的硬盘本质上都是作为一个文件来存放的。如果希望为某台虚拟机提供存储空间,您需要做的仅仅是创建一个VHD文件并把它链接到虚拟机。然而,当真正涉及操作细节时会有大量的问题产生。 虽然创建一个VHD文件本身并不是非常的困难,但是有些时候会遇到各种各样的问题。这些文件必须以最适合目标虚拟机的方式来创建。 保存VHD文件 ·通常最经济的选择是直连存储(DAS),这也是最容易配置的一种方式。DAS最适合于那些仅仅运行了少量虚拟机的主机。这些虚拟机不允许运行那些磁盘访问密集型的应用程序,因为这台服务器上的所有虚拟机都在共享相同的硬盘资源。虽然一般来讲磁盘的存储空间大小不是问题,,而多个虚拟机同时并发的I/O需求则很容易导致性能瓶颈。 ·网络连接存储(NAS)通常是在网络上保留了一个共享磁盘卷,用于存放虚拟磁盘文件。但是我之前也提到过,最重要的是了解您采用的虚拟化软件自身的限制,例如微软就不支持把Hyper-V的VHD文件保存在NAS系统上。 ·存储局域网络(SAN),和NAS一样这是一种基于网络的存储方式,这是两种方式的相似点。它们在架构上最大的不同就是SAN是专用于存储系统的网络(它通常也采用了存储系统独有的协议)。在这种方式下,存储子系统的数据流量方式也有别于存储于NAS系统上的文件。采用SAN是最昂贵虚拟存储解决方案,同时也是性能最好的方式。 物理存储和虚拟存储的区别 对于一个新的虚拟化系统管理员而言,掌握物理存储和虚拟存储架构之间的区别往往会遇到一些困难。例如,Hyper-V采用了虚拟的IDE(Integrated Drive Electronics)硬盘控制器模式。虚拟机被要求必须从IDE硬盘上启动,然而这并不意味着Hyper-V虚拟主机上的虚拟机只能选择从本地直连存储系统(DAS)上启动。 虚拟机可以选择从一个硬盘驱动器文件启动,而这个文件被映射到一个虚拟的IDE控制器上,从而模拟出虚拟机从IDE硬盘启动的假象。而实际上,该VHD文件本身可以位于本地磁盘(可以是IDE、SATA、eSATA、PATA、SAS或SCSI磁盘)上。同样,把该VHD文件放到SAN系统上也是可以的。 最大化存储资源池利用率 无论您采用了DAS或者是SAN作为虚拟服务器的存储资源池,存储系统的性能都是必须要考虑的问题,因为所有的虚拟机都在争夺硬盘资源。这里有一些方法可以实现对存储资源池的性能优化。 对于新用户而言,可以使用RAID0+1存储系统架构。这种架构通过条带化的方式,在提供更佳性能的同时也提供了镜像的容错功能。另外,请确保您的存储阵列采用了10,000rpm的硬盘系统。 在SAN当中,如果可能的话尽量为每台虚拟机选择独立的光纤适配器通道。这可以防止光纤通道本身成为连接瓶颈。 最后,一些虚拟化平台在创建虚拟硬盘时,可以选择是创建固定大小还是可以动态扩展的磁盘。固定空间的磁盘在创建的时候需要花费更多的时间,但是通常也提供了更好的性能,因为它们采用了物理磁盘上连续的数据块。除去性能降低之外,动态扩展磁盘文件还有一些问题就是可以降低管理员对它的关注,所以可能会发生在扩展后物理卷溢出的情况。 当然,所有的这些办法都是在假设物理磁盘资源池里包含了两个或更多虚拟磁盘的前提下。如果可以,请尽量为每个VHD文件创建独立的物理磁盘卷(或LUN)。