www.hj8828.com 3

【www.hj8828.com】Hyper-V深度评测五:存储方面新的改进

物理机之间虚拟机迁移的理念是虚拟化销售的关键之一。补丁、硬件损耗和配置更新不再受Windows终端和糟糕的硬盘制约。无需依靠昂贵的专门的硬件也能实现可靠性。

服务器虚拟化从根本上改变着 IT
服务的表现方式。不难想象,将来,服务器可以针对特定任务自动动态创建,可以通过虚拟网络交换机进行访问,而服务器的数据存储在虚拟存储设备中。这类服务器可能不与任何印刷电路板或物理
CPU 直接接触。这样的功能尚未实现,但服务器虚拟化无疑正朝这个方向发展。

但是有个警告:共享存储。不是任何共享存储,而是快速共享存储,这常是高端iSCSI
NAS
或者光纤通道的SAN解决方案。“快速”意味着昂贵、并不是任何情况都需要。当然,最好的性能就来自SAN。但是小型企业或者远程办公室会认为这是杀鸡用牛刀了。

到目前为止,我们通过前面一系列文章,已相当深入地介绍了Hyper-V在可扩展性方面的改进、NUMA、虚拟机监控和复制等特性。现在不妨把注意力转到一个热门话题,看看Hyper-V在存储方面有什么改进:将虚拟机存储在文件共享区上、集群共享卷(CSV)方面的改进、访客光纤通道、DirectDMA和卸载数据传输,另外还有新的VHDX格式。

在处理服务器虚拟化时,大多数 IT
专业人员都会很快意识到,他们面临的最大挑战是不理解相关技术。更确切地说,他们必须面对的主要问题与管理所有虚拟机有关,例如如何防止虚拟服务器杂乱无章,如何跟踪服务器的位置,如何保证安全以及如何将当前物理服务器转换为虚拟服务器,等等。针对虚拟服务器管理问题,Microsoft
推出了 System Center Virtual Machine Manager 2008 R2简称 VMM)。本文介绍
VMM 的用途,它如何适用于虚拟化数据中心,以及 R2
版本的功能。撰写本文时,使用的就是运行在 Windows Server 2008 R2
RC内部版本 7100)上的 VMM R2 Release Candidate (RC)。

大众的hypervisors最新版本基于“无共享”概念,跟存储和群集无关。这意味着,使用内部硬盘进行本地存储和在两台主机之间迁移虚拟机变得可行。

不妨先从文件共享说起;如果我非要从Windows Server
2012中选择一项迎来最大飞跃发展的根本性技术,那就是SMB
3.0。这项出色的文件共享技术自Windows问世以来就存在了,但是Server
2012(和Windows
8)里面的文件共享技术较之前几代技术大不一样。它的性能可以达到直接连接存储(DAS)的97%至98%,并且针对在普通的文件共享区托管运行应用服务器的应用程序工作负载(如SQL
Server 2012和Hyper-V虚拟机磁盘)进行了优化,从而提供了前所未有的灵活性。

简介

VMware最近发布了ESXi
5.0,将无共享整合到vMotion。但是VMware需要一定级别的许可来使用这一功能。另一方面,Hyper-V已经使任何运行Hyper-V
3.0的服务器具备了此特性。

www.hj8828.com 1

VMM 通过控制 Hyper-V 主机、Virtual Server 2005 R2 主机,以及通过 VMware
vCenter Server 控制 VMware ESX 主机,可以管理虚拟化数据中心;VMM
可以管理多个 vCenter Server。尽管 R2 还不能管理 Citrix
XenServer,但此功能很快可以实现。

使用共享存储仍会实现快速和高效的实时迁移。这是跟迁移上亿字节的虚拟硬盘文件而不只是内存的内容来说的。无共享的重大优势是灵活性。你不用分配多于的SAN存储或者购买昂贵的解决方案,同样为你的小型企业带来高可用性。你可以选择用Hyper-V实现实时迁移而不用考虑令人头疼的共享磁盘。只是在你开始之前,权衡速度和配置需求。

图1:如果你打算将虚拟机存储在文件共享区上,就要确保你创建了合适类型的文件共享区。

与 Microsoft 的所有新服务器应用程序一样,VMM 2008 R2 完全基于 Windows
PowerShell 构建而成。这意味着可以使用三种方法与 VMM 2008 R2
进行交互:通过 Windows PowerShell 命令行、控制台以及基于 Web
的自助门户。VMM 2008 R2
还通过一个简单向导将一个小型代理推送到要虚拟化的服务器),使物理到虚拟
(P2V) 这一关键转换更易实现。VMM
的智能定位功能也很有用,它根据服务器类型和主机负载为新的虚拟机 (VM) 或为
P2V 导入建议最佳的主机。因为 VMM 是 System Center 的一部分,所以 VMM 和
System Center Operations Manager 2007 R2
之间存在一些特定集成点。利用性能和资源优化 (PRO)
功能,可以对每个虚拟机的应用程序和资源进行基于策略的控制。

怎么使用无共享进行共享

将VHD(X)文件存储在SMB
3.0文件共享区上的虚拟机可以在Hyper-V主机之间进行实时迁移,但是别扔掉你的集群架构——这项特性并不意味着它就能提供高可用性。要是某个Hyper-V主机出现了故障,其他主机不会接到通知(因为它们不在同一个集群中),因而虚拟机也就不会自动重启。

系统要求

基本原则是所有的Hypervisor主机必须访问相同的存储逻辑单元号。当原主机释放虚拟机时,在虚拟机的内存数据通过实时迁移进行转移时,另外的主机只需简单地接管虚拟硬盘(VHD)文件。所以,你需要在同一群集中配置主机,以便它们知道对方的资源。

虽然微软概述了融合集群的设计:在这种集群中,一些节点是存储节点,为Hyper-V主机节点提供了共享式存储,但是要注意的是,一个主机既是文件共享区主机,同时又是Hyper-V主机,这并未得到支持。如果Hyper-V主机与其存储系统的联系临时受到了中断,Hyper-V在两端都会缓存输入/输出流量,缓存时间长达1分钟。SMB
3.0多通道技术会充分利用主机与文件共享区之间所有可用的网络路径,不需要任何额外的配置(只有你需要聚合其他协议时,才需要我在前面介绍的网卡聚合这种配置),为防范不小心断开的网线提供了保护。

VMM 2008 R2 只运行在 Windows Server 2008 x64 原始版本或 R2 上。您可以将
VMM 2008 R2 作为 VM 运行,这非常适用于较小型的安装。但是,对于运行 VMM
的虚拟机,不应从 VMM
中启动快速迁移或实时迁移,因为这样可能出现意外结果,VM 也可能崩溃。

如果你不想使用共享存储进行迁移,或者主机不属于群集,你需要关闭电源,迁移服务器。之前,这实际上是一个文件复制过程,因此需要足够的停机时间。现在,
Hyper-V在VM在线情况下,将整个磁盘放在网络上,无需任何集群成员或任何共享存储类型。

如果你考虑使用存储区域网(SAN)作为SMB
3.0文件共享区的后端存储基础设施,并且使用微软的集群共享卷(CSV)文件系统的新版本CSV
2.0,潜在的数据中心设计变得更加令人关注了。这种架构名为横向扩展文件服务器(SOFS),适合服务器的应用程序工作负载(SQL
Server和Hyper-V),但不适合一般的文档文件共享(传统的文件共享区集群角色应该适合这种共享)。在这种场景下,每个文件共享区主机可以访问同一后端数据,并将该数据提供给Hyper-V节点。如果一个文件共享区主机出现了故障,它就会以透明的方式,故障切换至另一个文件共享区主机。

如果在同一服务器硬件上运行多个 VMM 组件,建议使用 2GB5-10 个主机)到
4GB11-20 个主机)的 RAM 以及双核 CPU。如果要在同一盒上管理大约 150
个主机,应将 RAM 扩展到 8GB 并考虑将不同角色分散到多个服务器。测试过的
VMM 安装的最大大小是 400 个主机和 8,000 个虚拟机。大型环境中的主要问题是
Microsoft SQL Server:VMM 需要使用 SQL Server,内置有 SQL Server
Express,但 SQL Service Express 数据库容量最大为 4GB。此外,如果要与
Operations Manager 2007 集成实现报告功能,也需要使用 SQL Server
完整版。SQL Server 2005 和 SQL Server 2008Standard Edition 或 Enterprise
Edition,32 位或 64 位版本)都受支持。其他软件要求有 Windows PowerShell
1.0 或 2.0、Windows Remote Management (WinRM) 1.1 或 2.0、.NET Framework
3.0 或 3.0 Service Pack (SP) 1,以及 Internet Information Services (IIS)
7.0 或 7.5,这些软件都包含在 Windows Server 2008 和 Windows Server 2008
R2 中。此外,还需要 Windows 自动安装工具包 (WAIK) 1.1,它包含在 VMM 2008
介质上。VMM 需要安装在 Windows Server 2003 或 Windows Server 2008
域中,它可以在林中的主机上自动安装其代理。如果外围网络外围网络中不支持群集主机)中有独立主机,则可以手动安装
VMM 代理。安装过程中,请选择“此主机位于外围网络中”,这样可以输入用于加密
SecurityFile.txt 的密钥。此文件随后复制到 VMM
服务器,在添加该主机时使用。

Hyper-V使用一些智能存储技巧实现这个功能。当VHD在网络中进行复制时,磁盘的任何读写请求来自源磁盘。任何变化都被记录下来,一旦复制完成,更新就会写入源和目的VHD文件。同步完成后,Hyper-V将在目的主机中复制的VM保持在线,并删除源VHD。

CHKDSK在Windows Server
2012服务器中已得到了改进,它将耗费大量时间的磁盘分析操作从修复阶段中分离出来,使分析阶段能够在磁盘正常工作的时候运行。这意味着,CHKDSK现在可以检查并修复大容量卷,而停机时间极短(只有几分钟,而非几小时)。不过在SOFS中,快速修复阶段可以由一个节点来执行,而其他节点仍可以访问该卷。结果就是,磁盘检查期间停机时间为零。

可以分散到多个服务器的角色有主 VMM
服务器、控制台、数据库、自助门户以及库服务器。控制台可在 Windows
的客户端和服务器版本上运行。库服务器只不过是一个或多个文件共享,主要要求足够的磁盘空间来存储所需的虚拟机、虚拟硬盘
(VHD) 和 ISO CD/DVD 媒体文件。如果要使用 Windows Server 2008
的故障转移群集,可使这些共享因此也使库)高度可用。对于分布在不同地理位置的公司,可以将这些共享存储在分支机构,以便从本地共享创建虚拟机,而不用通过
WAN 链接进行复制。VMM 每小时对库共享的内容进行一次索引编制,因此,从 VMM
之外复制到库共享中的内容最多需要一小时就会显示在 VMM 中。

实施无共享实时迁移

既然我们讨论Windows Server
2012中Hyper-V的存储方面,免不了要提到存储空间(Storage
Spaces),这项特性让你可以使用大众化的硬件服务器和存储设备,构建“类似SAN”的可扩展存储环境,又有内置的数据保护机制。虽然存储空间并不取代高端SAN,但是在许多场景下(包括在中小企业和大企业环境),这种类型的存储卓有成效。实现高可用性Hyper-V存储的另一个选择就是内置支持共享式SAS底座,每个主机里面的RAID控制器可以同步其信息。这项技术名为集群PCI
RAID。

支持的主机为 Windows Server 2003 上的 Virtual Server 2005 R2 SP1 或
Virtual Server 2005 R2 x64 SP1,以及 Windows Server 2008 或 R2 上的
Hyper-V。VMM 标记出所有缺少的 Hyper-V
更新并建议要安装哪些知识库更新。)对于 VMware,支持 vCenter Server 2.5
或 2.0.1 上的 ESX Server 3.5、3.0.2 和 3i。尚不支持 vSphere
4。此外,还支持免费的独立 Hyper-V 服务器;R2
版突破了上一版本中的限制不支持群集,最大 32GB RAM,最多 4 个
CPU)。Hyper-V Server R2 支持主机群集、快速迁移和实时迁移、最多 8 个四核
CPU 以及 1TB 内存。

无共享实时迁移的要求比共享卷简单得多。事实上,你所需要的只是两台或多台Hyper-V
2012(或专用服务器或运行在Windows Server
2012中的角色)服务器,配备相同系列的处理器(Intel或者AMD),连接相同的活动目录域。在任何虚拟环境中,网络都是关键,但是使用无共享实时迁移,你会享受快速的网络连接。提供不少于1
Gb的连接,最好是一个专门为实时迁移的私人网络连接。

高速文件共享方面的最后一部分是SMB
Direct,具有远程直接内存访问(RDMA)功能的网卡可提供异常出色的存储访问性能。Hyper-V里面的种种改进都帮助提高了性能级别,比如虚拟机里面每16个虚拟处理器有一条输入/输出通道(Windows
Server 2008
R2只为整个虚拟机提供一条输入/输出通道),每只SCSI磁盘有一个输入/输出队列(Windows
Server 2008
R2局限于每个控制器有一个队列),以及跨虚拟处理器实现输入/输出中断的动态扩展,而不是像之前版本中那样只使用一个。微软演示了单个虚拟机可以达到每秒100万次输入/输出操作。

若要了解可在硬件和软件配置设置中使用的服务器,请使用免费的 Virtual
Machine Manager 2008 Configuration Analyzer
(VMMCA)。它不会重复安装程序中的先决条件检查,而是扫描本地计算机或远程计算机,以确定
VMM 服务器角色、管理员控制台或自助门户的最佳配置。安装 VMM 后,VMMCA
还会扫描潜在的基于 Windows 的主机、vCenter Server 和可进行 P2V
的计算机,以确保它们的配置正确。

虚拟机上的存储单元可以在本地附加到NT文件系统(NTFS)磁盘,可以是SAN也可以使标准的SMB
3.0文件共享。不能使用穿透磁盘。必须使用虚拟硬盘,这是任何实时迁移场景的需要。使用文件共享时,文件共享必须对源和目的主机可见。

卷影复制服务(VSS)同样得到了改进,因而有可能从远程共享区备份状态一致的数据源,就像你用Windows
Server 2008 R2里面的本地存储来备份那样。

如果向 VMM 添加的新主机未安装 Hyper-V (Windows 2008) 或 Virtual Server
2005 (Windows 2003),VMM 将自动进行安装。

在群集中进行实时迁移,为何要使用无共享实时迁移而不是SAN?记住,这些机器并不是聚合的,因此即使是在专用的存储网络上,它们也不会共享那些存储。而在将虚拟机迁移到新的存储或者新群集中的主机上进行负载分配时,这个是很有必要的。

CSV:另一种文件系统?

建议中小型企业考虑使用 VMM Workgroup
Edition;它只支持五个主机虚拟机数量不受限制),但价格实惠。

验证实时迁移

如果你关注一下启用Windows Server 2012中CSV的服务器管理器(Server
Manager)里面的共享卷,会发现它指定文件系统为CSVFS,但是仍依赖底层的NTFS。除了前面提到的零停机时间CHKDSK外,CSV
2.0里面还有其他的改进;它也得到了改进,与备份软件更加兼容。旧版本使用自定义的重解析点(reparse
point)来挂载共享式存储,这就需要备份软件开发商定制其应用软件,以便知道如何备份共享式存储。Windows
Server 2012使用了标准的挂载点,有望为独立软件开发商(ISV)们带来方便。

VMM 2008 R2 中的新增功能

一旦具备了这些条件,你需要检查Hyper-V上的设置“启用传入和传出实时迁移。”可用。这里设置你的身份验证选项,允许同时实时迁移的数量
(之前只能设置成1)和允许传入实时迁移的IP地址。

还有一项新特性名为CSV缓存,它使用文件共享区主机上的系统内存来缓存读取内容,这能大幅提升性能,尤其是在输入/输出常常是个瓶颈的虚拟桌面基础设施(VDI)场景下。建议的缓存大小是512
MB,但是你需要在自己的环境中拿实际负载测试一番。你有多少个CSV卷没有限制,你在每个卷上有多少个文件也没有限制,所以任何限制取决于你的硬件支持什么。

VMM 2008 R2 中新功能的主要目标是支持 Windows Server 2008 R2 中新增的
Hyper-V 功能。Microsoft 对 VMware vMotion 的回应是新增一项 Hyper-V
功能,即实时迁移,通过这项功能,可以在客户端无明显停机的情况下将正在运行的虚拟机从一个群集主机移到另一个群集主机。实时迁移不要求群集中的所有主机都可以访问共享存储,这是因为实际
VHD 文件不会移动。在 Hyper-V 的原始版本中,每个 VHD
都必须存储在单独的逻辑单元号 (LUN) 上,从而限制了灵活性。Windows Server
2008 R2 Hyper-V 引入了群集共享卷
(CSV),通过这种功能,多个主机可以访问同一共享 LUN。VMM
充分利用了此功能。

证书是个重要的问题。任何想远程管理这些服务器的管理员应该选择Kerberos认证,服务器必须和验证类型与计算机帐户相匹配。

卸掉负载

R2 中还对网络功能进行了重大改进,增加了虚拟机队列 (VMQ) 和 TCP
烟囱,这两项都可改善虚拟机的网络性能。支持 VMQ
的网络适配器可以为每个虚拟网络接口卡 (NIC)
创建一个队列,然后通过管道将该队列直接传送到虚拟机的内存。这意味着,数据包将直接从虚拟机监控程序传送到虚拟机,从而避免在虚拟化堆栈中进行处理。自
Windows Server 2003 的可伸缩网络包起,Windows Server 就提供 TCP
烟囱;但直到 Windows Server 2008 R2,TCP 卸载功能才适用于虚拟机。TCP
计算从网络堆栈卸载到 NIC,通过适当的硬件支持,可以提高性能并降低主机 CPU
的负载。

证书需要进行一些设置工作。服务器1需要委派服务器2作为微软的虚拟系统迁移服务,反之,其他主机亦然。如果你计划从文件共享上进行迁移,还需要公共互联网文件系统(CIFS)服务。你可以从活动目录用户和计算机控制台访问授权标签和代开计算机对象属性。

现代的SAN功能强大,有许多高级特性;提供卸载数据传输(ODS)增添了让Windows能够以智能方式直接使用这些特性的功能:表明ODX如何用于Hyper-V的一个例子是,创建一个80
GB大小的固定VHD磁盘:Windows只向ODX
SAN要求这个大小的文件,没必要通过网络传输数据。非ODX
SAN与之形成了鲜明对照:主机必须向SAN上的新文件发送80
GB的数据,网络、处理器和内存等方面都有相应的负载。拷贝文件以及将文件从一个位置转移到另一个位置时,Windows仅仅处理ODX权标,所有传输工作都在SAN里面直接完成。

利用另一项有趣的新功能,可以在虚拟机运行时对虚拟机执行添加和删除 VHD
的操作。VMM 现在支持 Sanbolic 群集文件系统 (CFS)也称为 Melio
文件系统),这种文件系统常用于存储区域网络 (SAN)
存储。在大型环境中,更重要的是 VMM 2008 R2 对 Veritas Storage Foundation
5.1 for Windows (SFW)
的支持,这种解决方案可提供企业存储的整体视图。直接连接、iSCSI SAN
和光纤通道 SAN
存储均支持清点功能;一个中心控制台显示每个服务器的存储连接和使用情况。在
VMM 2008 R2 中,一个 SFW 卷只限于存储一个虚拟机。

迁移虚拟机

Windows Server 2012以两种方式来实现ODX:首先,当Hyper-V主机连接到ODX
SAN后,创建或删除VHD(X)文件或者合并快照等任何操作卸载到SAN上。其次,如果你有Windows
2012虚拟机驻留在支持ODX的SAN上,虚拟机里面的文件操作也将得到加速。这将这些操作所需的时间从几分钟缩短到了几秒钟,对大文件来说尤为如此。

VMM 2008 R2 控制台

完成证书配置和网络设置之后,通过NIC,为了安全和快速起见,最好是专用的私人网络空间开始你的虚拟机迁移旅程。

一种新的虚拟硬盘

VMM 2008 R2 控制台与其他 System Center
产品的控制台类似。您的查看范围在左窗格中主机、虚拟机、库、作业和管理)。中间窗格的上半部分显示对象列表,具体取决于下半部分所选对象的范围和属性。右侧窗格包含适用于当前范围的操作,如
1
所示。

移动向导可以帮你选择目标hyper-v服务器。你可以选择移动快照到VHD或不同的位置,也可以放到一个地方。一旦你选择了目的文件夹,迁移开始了。移动的速度与VM和内存大小有关,也跟网络有关。

新的VHDX虚拟硬盘格式在之前文章已多次提到,但是添加的X看似不重要,实际上带来了许多好处。首先,如果元数据操作过程中发生停电事故,VHDX有更强的弹性,更能适应破坏;因为它为这些操作保留了内部日志。此外,现在开发人员和用户有机会把自己的管理数据嵌入到VHDX文件里面。但是最大的改进在于虚拟硬盘最大大小是64TB(理论最大大小是1.4
PB)。

www.hj8828.com 2

有一些内置工具可用于把VHD文件转换成VHDX文件(反之亦然,只要文件小于2
TB)。新格式还在新硬驱上与4K扇区或512e扇区正确地对齐,不像VHD格式在512e磁盘上可能有问题。如果你在Windows
Server 2012中创建一个新的VHD,也可以解决这个问题。你可以把2008
R2中的现有VHD转换成Windows Server
2012中的VHD,这还有望解决扇区对齐问题。

图 1 VMM 主控制台 — 虚拟机。

www.hj8828.com 3

请注意,如果在 Hyper-V 管理器中删除虚拟机,只会删除相关配置,VHD
仍将保留。但是,如果通过 VMM 删除虚拟机,则会删除相关配置和实际
VHD。默认情况下,VMM 2008 R2 不允许多个用户使用 Virtual Machine Remote
Control (VMRC)
连接到一个虚拟机。在主机属性的“远程”选项卡上可以更改此设置,以便在培训和演示环境中使用
VMRC。如果有大量虚拟机,可以通过快速筛选器仅显示已停止、暂停或出现故障的虚拟机。

图2:由于磁盘大小每年在变大,能够创建64
TB大小的虚拟硬盘让平台能够适应未来需要。

在 VMM 2008 R2 中,作业队列如图 2
所示)是我最喜欢的功能之一,作业队列中会列出分配给 VMM
的每项任务及其状态。这项功能特别重要,这是因为某些任务如
P2V)可能要花费几个小时。VMM 2008 R2
还有另一项重要功能,即可以在一个可视图表中查看一个或多个主机上的所有虚拟机及其网络连接,如
3
所示。