微软凭借其Hyper-V虚拟化平台,在虚拟化市场中占据了重要地位
Hyper-V不仅提供了在单台物理主机上运行多个独立虚拟机的能力,还通过一系列增强功能,提升了存储性能、可扩展性和资源利用率
本文将深入探讨Hyper-V存储架构的设计、优化及实际应用,展示其为企业带来的巨大价值
一、Hyper-V存储架构概述 Hyper-V存储架构的设计对主机和来宾虚拟机的性能有着极大的影响
存储性能是一个复杂的混合体,涉及驱动器、接口、控制器、缓存、协议、存储区域网络(SAN)、主机总线适配器(HBA)、驱动程序和操作系统等多个方面
在衡量存储架构的整体性能时,通常采用最大吞吐量、每秒最大IO操作数(IOPS)和延迟或响应时间这三个关键指标
尽管这三个因素都非常重要,但IOPS和延迟与服务器虚拟化的关系最为密切
Hyper-V主机服务器可以通过三种不同的方式访问独立磁盘和存储阵列:直接连接存储(DAS)、iSCSI存储区域网络(iSCSI SAN)和光纤通道存储区域网络(FC SAN)
1.直接连接存储(DAS):DAS通常包含主机服务器内部的硬盘驱动器,或者通过SCSI、SAS或eSATA连接,直接连接到服务器的专用存储阵列中的硬盘驱动器
主机服务器利用内部SCSI、SAS或SATA控制器卡来支持服务器访问存储,并支持各种RAID级别
这种存储方式通常为各服务器专用
2.iSCSI存储区域网络(iSCSI SAN):iSCSI已成为一种日渐流行的存储网络架构,它支持在TCP/IP网络基础结构上使用SCSI协议
iSCSI支持使用标准以太网组件来构建存储区域网络,如NIC、交换机和路由器等
一般情况下,iSCSI SAN的实现成本低于传统光纤通道SAN
iSCSI架构中使用的存储阵列通常是低端到中端阵列,由多台主机服务器共享
建议使用冗余、专用的千兆以太网NIC进行iSCSI连接
3.光纤通道存储区域网络(FC SAN):FC SAN提供了高速度、低延迟的存储阵列连接
主机服务器可以利用HBA,通过交换机和控制器连接到光纤通道SAN
光纤通道SAN通常与中端到高端存储阵列配合使用,提供RAID、磁盘快照、多路径IO等多种功能
二、驱动器类型与性能优化 主机服务器或存储阵列中使用的硬盘驱动器的类型对整体存储架构性能的影响最大
硬盘驱动器的关键性能要素包括接口架构(如U320 SCSI、SAS、SATA)、驱动器转速(7200、10k、15k RPM)以及以毫秒为单位的平均延迟
1.SCSI:SCSI驱动器正迅速被SATA、SAS和光纤通道驱动器所取代
不建议对新主机服务器架构使用SCSI驱动器;然而,使用U320 SCSI驱动器的现有服务器仍然能提供卓越的性能特征
2.SATA:SATA驱动器是一种成本较低、性能相对较高的存储选择
SATA驱动器的主要形式包括1.5 GB/s和3.0 GB/s标准(SATA I和SATA II),转速为7200 RPM,平均延迟约为4毫秒
少数SATA I驱动器的运行转速为10k RPM,平均延迟为2毫秒,此类驱动器能够提供卓越的低成本存储解决方案
3.SAS:SAS驱动器通常比SATA驱动器的成本高很多,但在两种吞吐量下均能大幅提高性能,更重要的是,延迟也更低
SAS驱动器通常的转速为10k或15k RPM,平均延迟为2到3毫秒
4.光纤通道:光纤通道驱动器通常成本最高,性能特征通常与SAS驱动器相似,但使用不同的接口
选择光纤通道还是SAS驱动器通常由所选择的存储阵列来决定
与SAS相似,它们通常提供10k和15k两种RPM,平均延迟相似
在选择驱动器时,应尽可能选择转速最高、延迟最低的驱动器
通过使用15k RPM的驱动器取代10k RPM的驱动器,可以使每个驱动器的IOPS提高达35%
三、磁盘冗余架构:RAID的应用 建议对所有Hyper-V主机存储都使用廉价磁盘冗余阵列(RAID)
根据微软官方介绍,Hyper-V主机可运行和存储来自多个工作负载的数据
为了确保在磁盘故障期间保持可用性,RAID必不可少
除此之外,若能合理地选择和配置,RAID阵列可使整体性能提升
1.RAID 1:RAID 1指磁盘镜像
两个驱动器存储相同的信息,因此,一个驱动器是另一个驱动器的镜像
对于每一项磁盘操作,系统都必须向两个磁盘写入相同的信息
由于双重写入操作可能会降低系统性能,因此许多此类系统都利用双工,每个镜像驱动器都有自己的主机适配器
尽管镜像方法提供了出色的容错能力,但其实现成本相对较高,因为仅有半数的可用磁盘空间可用于存储,其他空间则用于镜像
2.RAID 5:也称为带奇偶校验的带区,这种级别的战略在低端和中端存储系统中广受欢迎
RAID 5可将数据分带到分布在一个阵列的磁盘间的大块中
RAID 5可跨RAID 5集的所有磁盘写入奇偶校验数据
数据冗余由奇偶校验信息提供
数据和奇偶校验信息按照两类信息始终位于不同磁盘的方式存放在磁盘阵列上
由于奇偶校验算法的特征,每次写入请求都会带来3次实际磁盘写入操作,这会降低写入性能
带奇偶校验的带区能够提供优于磁盘镜像(RAID 1)的性能
然而,在部分带区缺失时,读取性能将会降低(例如,在一块磁盘发生故障时)
RAID 5能够比RAID 1更有效地利用驱动器空间,因此是一种成本较低的选择
3.RAID 10:这个级别也称为带有带区的镜像
RAID10使用带区磁盘阵列,随后将其镜像到另一个完全相同的带区磁盘组
例如,可以使用五块磁盘创建一个带区阵列
带区磁盘阵列随后利用另外一组五块带区磁盘进行镜像
RAID 10提供了磁盘带区的性能优势以及镜像的磁盘冗余
RAID 10提供了高于其他任何一种RAID级别的最高读写性能,但代价是使用两倍数量的磁盘
4.RAID 50:这是一种嵌套的RAID级别,结合了RAID 0的块级带区和RAID 5的奇偶校验
可将其视为包含多个RAID 5阵列的RAID 0阵列
这个级别可提升RAID 5的写入性能,还能提供比单一RAID级别更出色的容错能力
具体配置和磁盘数量将决定这种RAID级别的实际可用性和性能特征
这种RAID类型已经成为低端存储设备上的常用功能
通常,在对Hyper-V主机服务器设计存储时,建议对所有主机服务器架构模式中的系统卷都使用RAID,对单一主机服务器架构模式中的数据卷使用RAID 1或RAID 10
RAID 5和50有着固有的写入性能惩罚,所以通常不建议对虚拟化环境使用这些级别
四、存储控制器架构与性能提升 存储控制器可以是服务器添加卡,例如SCSI或SAS控制器,也可以是中端到高端存储阵列的一个组件
存储控制器提供了磁盘驱动器与服务器或存储区域网络之间的接口
影响存储控制器性能的设计要素包括接口或HBA类型、缓存数量以及独立通道的数量
1.磁盘控制器或HBA接口:磁盘控制器接口决定了可利用的驱动器类型以及存储I/O的速度和延迟
2.控制器缓存:在突发传送过程中,或者在频繁访问相同数据的时候,存储控制器缓存可将数据存储在缓存内存中,这种缓存的速度往往比物理磁盘I/O快几个数量级,因此能够提高性能
五、Hyper-V存储功能的增强与优化 Hyper-V通过一系列增强功能,提升了存储性能、可扩展性和资源利用率
这些功能包括动态内存管理、虚拟SAN(vSAN)集成、存储质量服务(QoS)、热添加与移除、快照与备份等
1.动态内存管理:Hyper-V支持动态内存管理,当虚拟机处于后台运行时,会自动降低内存使用率,从而优化资源分配
这种灵活的资源管理使得企业能够在不增加硬件投资的情况下,灵活地部署和管理各种应用程序和服务
2.虚拟SAN(vSAN)集成:通过Windows Server的Storage Spaces Direct(S2D)功能,Hyper-V可以构建高度可用、可扩展的虚拟存储区域网络(vSAN),实现存储资源的池化和自动化管理,降低了硬件成本,提高了存储效率和可靠性
3.存储质量服务(QoS):Hyper-V允许为虚拟机配置存储QoS策略,限制或保证特定VM的I/O带宽,有效防止单个虚拟机占用过多资源,影响其他VM的性能
这对于多租户环境尤为重要,确保了服务级别协议(SLA)的履行
4.热添加与移除:Hyper-V支持在虚拟机运行时动态添加或移除虚拟硬盘,无需