Hyper-V存储的最佳实践:优化你的虚拟环境

日期: 2013-11-27 作者:Brien Posey翻译:李志明 来源:TechTarget中国 英文

尽管内存经常被认为是虚拟数据中心最重要的硬件资源,但是对虚拟机性能影响最大的通常是存储。微软的Hyper-V对其可以使用的存储的类型极其灵活,但是管理员必须知道一些与功能相关的限制和对支持的要求。本文将为你详细地解读各种Hyper-V存储的最佳实践。 尽量减少虚拟机蔓延 虚拟化管理员日常必须处理的一个问题是虚拟机(VM)蔓延。

微软的Windows Server 2012 Datacenter Edition以及System Center Virtual Machine Manager之类的工具软件的许可政策导致创建VM非常容易。如果听之任之,VM将以触目惊心的速度扩散。 处理虚拟机蔓延的问题的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

尽管内存经常被认为是虚拟数据中心最重要的硬件资源,但是对虚拟机性能影响最大的通常是存储。微软的Hyper-V对其可以使用的存储的类型极其灵活,但是管理员必须知道一些与功能相关的限制和对支持的要求。本文将为你详细地解读各种Hyper-V存储的最佳实践。

尽量减少虚拟机蔓延

虚拟化管理员日常必须处理的一个问题是虚拟机(VM)蔓延。微软的Windows Server 2012 Datacenter Edition以及System Center Virtual Machine Manager之类的工具软件的许可政策导致创建VM非常容易。如果听之任之,VM将以触目惊心的速度扩散。

处理虚拟机蔓延的问题的最常见的方式是限制VM的创建,或者设定策略自动终止到期的虚拟机。然而,考虑虚拟机蔓延对你的存储基础设施的影响也是同样重要的。

当创建越来越多的VM的时候,存储的消耗会成为一个问题。然而,更常见的情况是,资源争用是一个更为棘手的问题。虚拟磁盘通常驻留在共用的卷或者存储池里面,这意味着虚拟磁盘必须争抢IOPS

尽管没有一个普遍适用、廉价且简单的方案来解决存储资源争用的问题,但是Hyper-V管理员可以运用很多不同的机制来处理该问题。

用重复数据删除控制资源争用

减少存储IOPS的其中一个最佳的工具是文件系统的重复数据删除。然而,有些重要的限制必须加以考虑。

微软在Windows Server 2012中推出本机文件系统的重复数据删除。尽管这项功能乍看起来似乎前景广阔,但是它有两个主要的限制:本机重复数据删除与新的ReFS文件系统不兼容;不支持包含与运行中的虚拟机进行挂接的虚拟硬盘的卷。

在Windows Server 2012 R2的重复数据删除功能方面,微软确实做了一些工作,现在你可以对包含正在被使用的虚拟硬盘的卷进行重复数据删除。一个重要的提醒是:这种重复数据删除只支持虚拟桌面机,不支持虚拟服务器。

重复数据删除可以减少IOPS,并且改善Hyper-V虚拟服务器的性能。但是,实现这些优势的唯一可取的方式是使用对Hyper-V主机以及任何客户机操作系统完全透明的硬件级别的重复数据删除。

管理QoS以获得有效的存储I/O

减少存储I/O争用问题的另外一个工具,是服务管理质量(Quality of Service Management),它是Windows Server 2012 R2的一项新功能,以前叫Storage QoS。这项功能使你可以设定一个IOPS最小值,为虚拟硬盘预留存储IOPS。IOPS的增量为8 KB。同样的,你可以设定一个可允许的IOPS的最大值,限制虚拟硬盘的I/O操作。

服务管理质量的功能是按照每个虚拟硬盘而非每台VM进行设定的。这使你能够精确地应用服务管理质量的策略,从你可用的IOPS中获得尽可能好的性能。

考虑使用Windows Storage Spaces

微软在Windows Server 2012中推出Windows Storage Spaces,作为把物理存储提取到存储资源池的一种方法。你可以在存储池之上创建虚拟磁盘,不必担心物理存储的分配。

微软推出三方镜像和存储分层之类的新功能,扩展了Windows Server 2012中Windows Storage Spaces的功能。你可以按照每个虚拟硬盘来实施分层存储的功能,使“热块”(hot blocks)可以被动态地移动到基于SSD的存储层,这样它们就能够以尽可能高的效率被读取。

分层存储的功能极大地改善了VM的性能,但是有一些限制。最不容忽视的限制是:存储分层只能被用于已做镜像的虚拟硬盘或者简单虚拟磁盘。存储分层不能被用于奇偶校验磁盘,尽管这在预览版是允许的。

如果你打算把分层存储用于已做镜像的卷,Windows要求存储池中SSD的数量必须与已做镜像的磁盘的数量一致。例如,如果你创建一个三方镜像,那么你将需要三个SSD。

当你创建使用存储层的虚拟硬盘的时候,你可以设定你希望分配给这个高速层的SSD空间的大小。最好预估将需要多少空间,再在这个预估数字上至少增加1 GB。这样做的原因在于:如果有足够的空间,Windows将使用1 GB的高速层作为回写式高速缓存。这个高速缓存从高速层获得1 GB空间,有助于消除写操作(因此改善写的性能)。如果你预先考虑这个空间的损失,你可以分配足够的空间来同时容纳回写式高速缓存和热存储块。

ReFS的限制

微软在Windows Server 2012中推出弹性文件系统(Resilient File System,ReFS),作为渐趋老化的NTFS文件系统(也存在于Windows Server 2012 R2中)的下一代的替代产品。Hyper-V管理员必须考虑是想以ReFS 卷和NTFS卷中的哪一个来配置VM。

如果你在Windows Server 2012上运行Hyper-V,最好避免使用限制颇多的ReFS文件系统。这些限制中最值得注意的(至少对虚拟化管理员而言)可能是:ReFS不支持与集群共享卷同时使用。

在Windows Server 2012 R2中,微软支持在集群共享卷上使用ReFS,但是仍然需要考虑其限制。首先,选择文件系统是一个半永久性的操作。没有办法把卷从NTFS格式转换为ReFS格式,反之亦然。

其次,NTFS中的很多功能在ReFS中并不存在。Microsoft表示,这类功能在将来可能会被添加进去,而目前缺少如下的功能:

· 基于文件的压缩(重复数据删除)
· 磁盘配额
· 对象标识符
· 加密文件系统
· 命名流
· 事务
· 硬链接
· 扩展属性

缺少那么多功能,为什么还会有人使用ReFS?有两个原因:ReFS确实善于保持数据一致性并防止位衰减,当需要保存大量数据的时候,这是一个好的选择。这个文件系统理论上的容量限制是1 YB(yottabyte)。

如果你确实决定要在包含Hyper-V VHD或者VHDX文件的卷上使用ReFS文件系统,你必须禁用那些虚拟硬盘一致位(integrity bit)。Hyper-V自动为任何新创建的虚拟硬盘禁用一致位,但是,如果虚拟硬盘先在NTFS卷上创建,然后再被移至ReFS卷上,那么这些虚拟硬盘的一致位需要被手动禁用。否则,当你试图启动这台VM的时候,Hyper-V将显示一系列的错误信息。

你只能通过PowerShell禁用一致位。你可以使用下述命令行核实一致位的状态:
Get-Item <虚拟硬盘名称> | Get-FileIntegrity

如果你需要禁用一致位,使用下述命令行:
Get-Item <虚拟硬盘名称> | Set-FileIntegrity –Enable $False

存储连接的最佳实践

Hyper-V对其可使用的存储的类型极其灵活。它支持直连式存储、iSCSI、光纤通道(Fibre Channel,FC)、虚拟FC以及其它。然而,建立存储连接的方式可以影响存储的性能和备份数据的能力。

古语云:“不为也,非不能也。”在Hyper-V的世界中,这尤其适用于直通磁盘(pass-through disks)的使用。直通磁盘使Hyper-V VM可以被配置成不使用虚拟硬盘而直接与物理磁盘连接。

使用直通磁盘的问题在于它们对Hyper-V VSS Writer是不可见的。这意味着:不把VM强制进入保存状态,依赖于Hyper-V VSS Writer的备份应用程序就无法对驻留在直通磁盘的文件、目录或者卷的应用持续性进行备份。值得注意的是,这个限制不适用于虚拟FC连接。

Hyper-V存储连接的另外一个最佳实践是:尽可能从主机操作系统而非在VM内部建立iSCSI连接。其原因在于:由于缺乏对巨型帧的支持,如果从VM内部发起iSCSI连接,存储性能会因为很多因素(例如Hyper-V的版本、客户机的操作系统和集成服务的使用率)而变差。

相关推荐