Hyper-V 存储最佳实践

存储是涉及服务器的最重要组件之一;这包括安装了超级监视器并运行虚拟机的虚拟化服务器。存储可能导致高性能或低性能,同时也可以确保高可靠性或低可靠性,以保留虚拟机数据和虚拟磁盘。在 Hyper-V 虚拟环境中可以使用不同类型的存储,管理员在配置服务器或部署虚拟机之前应该做出正确选择。

本文旨在帮助您探索不同类型的存储选项,以便选择最适合您环境的存储,并且有效地满足您的要求。

Hyper-V 存储建议

可以挂载到 Hyper-V 服务器的存储可以是两种类型:本地存储或远程存储。

本地存储由几个连接到服务器的本地磁盘组成。这些磁盘通常通过 SAS(串行附加式 SCSI)接口连接到服务器机箱内的 RAID(独立磁盘冗余阵列)控制器。与 SATA 磁盘相比(尽管兼容性存在 —— SATA 磁盘可以连接到 SAS 端口,但反之则不行),由于 SAS 磁盘的可靠性更高,因此更喜欢使用 SAS 磁盘。本地存储可能比远程存储更经济实惠。如果您不打算部署 Hyper-V 集群,则可以使用本地存储。

远程存储位于与 Hyper-V 服务器分开的位置,并通过 iSCSI、光纤通道或 SMB 3.0 协议与服务器连接。光纤通道和 iSCSI 提供块级存储,而 SMB 3.0 提供文件级存储。光纤通道需要专用的物理接口将服务器连接到存储,例如 SAN(存储区域网络)。FCoE(以太网上的光纤通道)可用于通过以太网网络连接存储。iSCSI 协议可用于将服务器连接到 SAN 或 NAS(网络附加存储)。NAS 设备看起来像一个迷你服务器,内部有 RAID 控制器,可插入磁盘驱动器,并具有用于连接到外部网络的不同端口。独立服务器也可以配置为用作 NAS。SAN 和 NAS 可确保数据冗余,提高可靠性。

部署故障转移集群时,必须使用所有节点都共享的远程存储。在这种情况下,这样的存储称为共享存储。

使用 RAID 1 或 RAID 10

RAID 是独立磁盘冗余阵列。存储上的数据冗余可以在磁盘故障的情况下保护您的数据。有几种 RAID 类型。

RAID 0不具备冗余功能,称为磁盘分段。没有容错能力 – 一个磁盘的故障会导致整个阵列的故障。可以提到增加性能作为一个使用案例(例如,为电视行业缓存实时流)。构建此类型的 RAID 至少需要 2 个磁盘。

RAID 1是冗余的。一个磁盘上的所有块都被镜像到另一个磁盘,因此实现了100%的冗余。如果其中一个磁盘故障,可以访问第二个磁盘上的数据并用于重建阵列。成功重建阵列的概率很高。RAID 1可用于故障转移存储。构建此类RAID需要至少2个磁盘。

RAID 10是RAID 0RAID 1的结合。利用了这两种阵列类型的优势,因此结果是具有更高性能的容错阵列。镜像磁盘被合并成一个条带。构建此类RAID需要至少4个磁盘。如果RAID 10由4个磁盘组成,数据可以在任何单个磁盘故障的情况下得到保护。此外,如果来自不同镜像的两个磁盘失败,4个磁盘阵列也可以继续运行。

RAID 5提供了带有奇偶校验的条带化。块被条带化存储在磁盘上,同时奇偶校验信息也跨磁盘存储,可用于恢复。奇偶校验信息占用的空间等于一个磁盘的容量。例如,对于一个4个磁盘阵列,奇偶校验信息占用大约25%的空间。它不像RAID 1那样100%冗余。理论上,RAID 5可以在一个磁盘故障的情况下继续运行。构建此类RAID需要至少3个磁盘。

RAID 6提供了带有双奇偶校验的条带化。这类似于RAID 5的概念,但是奇偶校验信息不仅存储在一个磁盘上,而是存储在两个磁盘上。RAID 6可以在最多两个磁盘故障的情况下继续运行。构建此类RAID需要至少4个磁盘。

乍一看,RAID 5 和 RAID 6 看起来很有吸引力,但让我们仔细看一看。RAID 5 是几十年前开发的,当时磁盘容量相当小。在现代世界中,硬盘容量增长速度快于磁盘速度——因此,如果一个磁盘失败,RAID 5 的重建可能需要很长时间。RAID 5 中每个磁盘的工作负载在重建期间会显著增加,特别是如果服务器同时密集使用存储执行常规任务。RAID 5 的磁盘上可能有很少使用的数据;并且您无法确定是否可以成功读取这些数据。这增加了错误的概率。如果在数组重建期间发生错误,则整个数组可能会失败。当 RAID 5 有一个失败的磁盘时,此数组的工作方式类似于 RAID 0,数据处于风险之中。

RAID 6 具有双倍的奇偶校验数据,可用于与 RAID 5 相比进行恢复。因此,存活一个磁盘故障的概率以及成功重建的概率更高。RAID 6 还有另一个问题——与 RAID 10 和 RAID 5 相比,其性能最低。性能问题在重建期间特别明显。

可以看出,RAID 1 和 RAID 10 提供了最高的可靠性,这就是为什么建议将它们用于 Hyper-V 存储的原因。硬件 RAID 可以在物理服务器或 NAS 设备上进行配置。

利用高速存储

存储输入/输出性能对提供足够的虚拟机性能有着重要影响。应该使用速度最快的硬盘驱动器(HDD)来存储虚拟机。现代硬盘有各种高性能特征,提供了高速度以及每吉字节的实惠价格。如果一个硬盘驱动器的速度不够满足您的虚拟机需求,您可以使用固态硬盘(SSD)。与传统的旋转式HDD相比,SSD没有移动部件,因此提供了更高的速度——但是更昂贵。SSD每吉字节的价格更高,其总容量通常小于HDD。通过利用性能最高的磁盘来存储您的Hyper-V存储,虚拟机能够无滞后地工作。

利用专用卷存储虚拟机

不要将虚拟机存储在系统卷上。系统卷通常被用于读取或写入操作系统使用的系统文件(C:\默认始终为系统卷)。因此,将VM文件存储在系统卷上可能会降低VM性能。另一个可能出现的问题是卷上的可用空间不足。当系统文件占用了所有可用磁盘空间,或者虚拟磁盘文件占用了所有磁盘空间时,可能会发生这种情况。因此,在系统卷上存储文件的VM面临故障的风险。此外,如果没有足够的可用空间来写入系统文件,则Hyper-V主机也可能无法正常工作。利用单独的卷来存储操作系统和虚拟机。此外,抵制在用于VM数据的驱动器上存储交换文件等系统文件。

将 VM 文件存储在一个位置

Hyper-V 虚拟机的主要文件包括:VHDX(VHD)- 虚拟磁盘文件,AVHDX – 差分虚拟磁盘文件,VMCX – 配置文件和 VMRS – 运行时状态文件。VM 文件可能存储在不方便管理员的不同默认位置。为了避免这种情况,请指定一个单独的目录来存储所有属于当前 VM 的文件。如下截图所示,属于名为 Server2016-01 的 VM 的所有文件都存储在名为 Server2016-01 的一个目录的子目录中。

为 BIN(VMRS)文件留出空间

BIN 文件占用磁盘空间以存储内存状态。为此,在存储 VM 文件的卷上应保留一定空间。自 Hyper-V 2016 以来,此文件类型的扩展名已从 BIN 更改为 VMRS。此文件类型在占用磁盘空间方面紧随虚拟磁盘 VHDX 文件之后。 BIN(VMRS)文件的大小等于 VM 的虚拟内存大小。例如,如果您的 VM 有一个 30GB 的虚拟磁盘和 8GB 的虚拟内存,您应至少在存储上保留 38GB。如果为 VM 配置了动态虚拟内存,则 BIN(VMRS)文件大小将等于该特定时间点的已配置内存量。

使用哪种文件系统:NTFS 还是 ReFS?

NTFS(新技术文件系统)是微软于 1993 年创建的文件系统,目前在 Windows 环境中广泛使用。

ReFS(弹性文件系统)是微软发布的最新文件系统,随Windows Server 2012发布,其改进包括:

  • 通过对元数据和文件使用校验和来保护数据免受损坏
  • 与存储空间集成
  • 自动数据完整性检查和错误更正(如果发生错误)
  • 块克隆技术(在克隆VM时很有用)
  • 增加了对断电的容忍度
  • 支持使用BitLocker进行加密
  • 增加了最大文件大小和文件名长度
  • 增加了最大卷
  • 更快地创建固定虚拟磁盘

可以看出,ReFS文件系统具有很多优点,并且旨在更有效地满足服务器存储的要求。然而,也存在一些缺点:

  • 无法从ReFS卷加载Windows
  • 不支持数据压缩、Windows基于文件的去重、文件加密、硬链接、扩展属性、磁盘配额
  • 不能用于集群共享卷
  • 不提供对传统的8.3文件名的支持

最后,文件系统的选择取决于管理员。如果ReFS的限制对系统无关紧要,则建议将其用于Hyper-V存储。

使用高速存储网络

在使用远程存储时,网络连接是至关重要的因素。如果您的NAS或SAN上有高速磁盘,但网络连接速度较慢,存储系统的整体性能将会下降。因此建议使用专用的高速网络和低延迟。为了确保可接受的速度,建议使用10-Gbit网络连接。同时,使用NIC团队合作进行带宽聚合也是有帮助的。

避免将带有域控制器的虚拟机存储在SMB3共享上

访问域控制器是SMB 3.0共享正常工作所必需的。如果主机具有SMB 3.0共享或Hyper-V主机无法访问域控制器,则无法通过验证并建立连接。在这种情况下,Hyper-V服务器无法启动放置在SMB 3.0共享上的带有域控制器的虚拟机。为了防止这种问题,将带有域控制器的虚拟机存储在Hyper-V主机的本地存储中。

充分利用集群共享卷进行集群存储

在部署集群时,您应配置共享存储。当使用传统的没有CSV的存储时,每次只有一个节点(Hyper-V主机)可以同时访问相同的磁盘/LUN。集群共享卷(CSV)可以通过为多个节点提供对存储的同时访问来解决此问题,而无需重新挂载卷并更改权限所有权。使用CSV,您可以在Hyper-V上方层叠一个集群文件系统,该文件系统位于NTFS或ReFS之上。

避免使用直通磁盘

A pass-through disk is a physical disk (LUN) that is connected to a virtual machine. This type of disk is used as a storage device and is connected directly to the disk controller of a VM. For the first versions of Hyper-V, using pass-through disks helped increase performance. Nowadays, formats of virtual disks are progressive enough – thus, including performance and using pass-through disks does not make sense because of the issues that may occur when using them. You cannot easily move a pass-through disk with a virtual machine, and backup software cannot make a backup of a VM with this disk type on a host level.

优先选择哪种虚拟磁盘类型 – VHD还是VHDX?

VHD是2003年推出的虚拟机虚拟磁盘的传统格式。VHDX是一种更为先进的格式(随Windows Server 2012发布),具有更高的虚拟磁盘容量限制(最高可达64TB),支持4KB块,具有虚拟磁盘的实时调整大小功能,并具有连续的元数据结构更新,从而降低因断电而导致的数据损坏的可能性。因此,在您的Hyper-V环境中更倾向于使用VHDX虚拟磁盘。

固定大小和动态扩展虚拟磁盘的使用

A fixed virtual disk is a VHDX (VHD) file that consumes all pre-allocated space on storage, despite the amount of space used inside the virtual disk. The advantages of using a fixed virtual disk are that they work faster, no issues may be caused by over-provisioning, and the fragmentation of the VHDX file is the same after creation. The disadvantages of using a fixed virtual disk are that their creation may take a longer time on NTFS volumes, and more space on storage is needed for disk creation.

动态扩展虚拟磁盘在预分配后从几KB的小尺寸开始,当在虚拟磁盘内写入文件时,它会增长直到达到磁盘创建期间预先分配的最大尺寸。动态磁盘不能在删除此类型磁盘上的数据时自动减小。使用动态磁盘的好处是节省空间,创建速度快,并包括超额配置。缺点是动态磁盘比固定磁盘慢,涉及更高的碎片化,并且超额配置可能导致磁盘增长后存储空间不足。

您可以根据需要同时使用固定大小和动态虚拟磁盘。

差异化虚拟硬盘

A differencing virtual hard disk is a virtual disk file (AVHDX or AVHD) that is created in the VM directory with virtual disks after checkpoint creation. The purpose of differencing the virtual disk is storing changes that are written to a parent virtual disk of a VM after creating a checkpoint. A parent virtual disk can be a fixed, dynamic, or differencing disk. When a checkpoint is deleted, the differencing virtual disk that has been created with this checkpoint is merged with a parent virtual disk. Differencing virtual disk can also be created with Hyper-V’s new virtual hard disk wizard. It is important to note that creating a high number of checkpoints causes the creation of growing differencing virtual disks, which results in performance decreases.

监控磁盘健康和性能

定期监控磁盘健康状态可以预防可能导致数据损坏的磁盘损坏。利用可以监视磁盘驱动器的 S.M.A.R.T.(自我监控、分析和报告技术)数据的实用工具,包括属于 RAID 的磁盘。越早发现有问题的磁盘,您的数据安全性就越高。还应监视磁盘性能,以确定哪些磁盘可能过载。这可以帮助您决定在其他存储之间重新分配具有磁盘密集型操作的虚拟机,以优化整体性能。

结论

存储是服务器的重要组成部分,因为存储中包含的数据对大多数IT公司来说至关重要。今天的博客文章介绍了用于 Hyper-V 的最佳存储实践,可以帮助优化虚拟机性能并确保存储的高可靠性。从上述所有建议中选择适合您环境的建议。

即使您拥有一流的存储,也很重要正确备份您的 Hyper-V VM 数据。NAKIVO 备份与复制可以帮助您以最有效的方式备份您的 Hyper-V VMs。

Source:
https://www.nakivo.com/blog/hyper-v-storage-best-practices/