银河国际手机版最新存储方面新的改进,如何增加无共享实时迁移的高可用性

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

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

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

大众的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的服务器具备了此特性。

银河国际手机版最新 1

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

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

怎么使用无共享进行共享

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

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

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

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

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

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

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

实施无共享实时迁移

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

无共享实时迁移的要求比共享卷简单得多。事实上,你所需要的只是两台或多台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万次输入/输出操作。

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

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

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

CSV:另一种文件系统?

验证实时迁移

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

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

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

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

卸掉负载

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

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

迁移虚拟机

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

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

一种新的虚拟硬盘

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

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

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

银河国际手机版最新 2

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

固定大小磁盘(自动完全配置)、动态磁盘(自动精简配置)和直通磁盘之间的性能差异一直在稳步缩小;而在Windows
Server
2012中,没有理由为了性能而使用直通磁盘,特别是由于你使用直通磁盘后,虚拟化技术的大部分优点也就荡然无存。固定大小磁盘与动态磁盘之间的性能差异也很小。所以,如果你果真决定使用动态磁盘,千万要小心,确保你有一种机制来跟踪和预测磁盘使用情况——磁盘存储空间很容易被耗尽。

银河国际手机版最新 3

图3:由于固定VHD(X)与动态VHD(X)之间的性能差异现在很小,在生产环境中使用动态磁盘是一个切实可行的选择。

VHDX还支持收回未使用的空间,这类似TRIM为固态硬盘(SSD)收回未使用空间以及unmap为SAN收回未使用空间。传统的文件系统并不是真正删除文件,而是仅仅删除了数据指针;如果使用TRIM,操作系统收回存储空间。在平常的VHDX操作中,这在后台缓慢进行,所以如果你在使用动态磁盘,又删除了文件,该空间实际上将用于新文件,没必要让物理VHDX文件再次扩大。如果你关闭了虚拟机,VHDX文件的实际尺寸会缩小,而VHD文件不会出现这种情况。

虚拟光纤通道

VMware之前处于领先的另一个方面是这一点:如果你想在Windows Server 2008 R2
Hyper-V中创建访客集群(确保应用程序高可用性),就不得不使用iSCSI,因为没有办法把虚拟机连接至光纤通道SAN。这个问题在Windows
Server
2012中得到了解决;虚拟光纤通道(VFC)提供了将虚拟机与得到支持的应用程序集群起来(访客集群)的功能,而每个虚拟机能够有多达四个VFC
HBA。微软虚拟主机总线适配器(HBA)直接将光纤通道的逻辑单元号(LUN)呈现在虚拟机面前,所以要留意:SAN、光纤通道交换机和HBA必须支持N_Port
ID虚拟化(NPIV)。即使在测试实验室环境中,也无法使用直接光纤通道线缆连接就应付得了——你需要光纤通道交换机。

银河国际手机版最新 4

图4:建立虚拟光纤通道很容易,只要你的HBA有针对Windows Server
2012的驱动程序。

与该版本Hyper-V的主题相吻合的是,微软并不满足于仅仅模仿VMware功能,它还更进了一步,让用户有可能使用VFC,实时迁移虚拟机。不过,SAN撤除LUN的映射这个操作通常要花30秒到60秒的时间,而暴露端口显然并不适用于实时迁移。每个虚拟机而是使用两个全局端口名称(World
Wide Port Name)和两个全局名称(World Wide
Name),其中一个处于闲置状态;如果虚拟机转移,另一个端口就会接过重任,使得原始端口成为闲置端口。如果你在虚拟机里面运行SAN厂商的管理工具,它又没有更新,不知道这种交换机制,那么交换端口时有可能发出警报。

存储方面的其他改进

Windows Server
2012提供了内置的文件重复数据删除功能,但是这只适用于没有在使用的文件,所以它对VHD(X)库来说会很方便,它将达到惊人的删除效果(90%以上),因为大多数虚拟硬盘上存在大量的重复内容。另一个出色的特性就是,新的服务器管理器让你可以将角色和特性直接部署到离线VHD文件上,这为管理你的虚拟机模板提供了另一条途径。

存储方面已经介绍了不少。下一篇我们将介绍虚拟机的移动性。

发表评论

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