存儲是涉及伺服器的最重要組件之一;這包括安裝了 hypervisor 並運行虛擬機器的虛擬化伺服器。存儲可以導致高性能或低性能,同時也可以確保 VM 數據和虛擬磁盤的高可靠性或低可靠性。在 Hyper-V 虛擬環境中可以使用不同類型的存儲,管理員應在配置伺服器或部署虛擬機器之前做出正確的選擇。
本文旨在幫助您探索不同類型的存儲選擇,以便選擇最適合您環境的存儲,從而滿足您的需求。
Hyper-V 存儲建議
可以掛載到 Hyper-V 伺服器的存儲可以是兩種類型:本地存儲或遠程存儲。
本地存儲由幾個直接連接到伺服器的磁盤組成。這些磁盤通常通過 SAS(串行連接 SCSI)接口連接到伺服器機箱內的 RAID(獨立磁盤冗餘陣列)控制器。由於 SAS 磁盤的可靠性更高,所以使用 SAS 磁盤比使用 SATA 磁盤更可取(儘管兼容性如此 —— SATA 磁盤可以連接到 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 0 和 RAID 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的每GB價格更高,總容量通常少於HDD。通過利用性能最高的磁盤來存儲Hyper-V存儲,虛擬機能夠無滯後地運行。
利用專用卷存儲虛擬機
避免將虛擬機存儲在系統卷上。系統卷通常被用於讀取或寫入操作系統使用的系統文件(C:\默認情況下始終是系統卷)。因此,在系統卷上存儲虛擬機文件可能會降低虛擬機性能。可能出現的另一個問題是卷上的可用空間不足。當系統文件占用所有的可用磁盤空間,或者虛擬磁盤文件占用所有的磁盤空間時,就會出現這種情況。因此,存儲在系統卷內的虛擬機可能會失敗。此外,如果用於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(Resilient File System)是微軟最新釋出的檔案系統,隨著Windows Server 2012一同推出,其改進包括:
- 通過對元數據和檔案使用校驗和檢查碼來保護數據免受損壞
- 與存儲空間集成
- 自動數據完整性檢查和錯誤更正(如果發生錯誤)
- 區塊克隆技術(在克隆VM時很有用)
- 提高抗電源中斷的容忍度
- 支持使用BitLocker進行加密
- 增加了最大檔案大小和檔案名稱長度
- 增加了最大卷大小
- 更快地創建固定虛擬磁碟
可以看到,ReFS檔案系統擁有一長串的優勢,並且設計用於更有效地滿足伺服器存儲的需求。然而,也存在一些缺點:
- 無法從ReFS卷加載Windows
- 不支持資料壓縮、Windows基於檔案的去重、檔案加密、硬連結、擴展屬性、磁碟配額
- 無法用於叢集共享卷
- 不提供對傳統8.3檔案名稱的支持
最後,檔案系統的選擇掌握在管理員手中。如果ReFS的限制對您的系統無關緊要,則建議將其用於Hyper-V存儲。
使用高速存儲網路
在使用遠程存儲時,網絡連接是一個至關重要的因素。如果您的NAS或SAN中有高速磁盤,但網絡連接速度慢,存儲系統的整體性能將會降低。基於這個原因,建議使用專用的高速低延遲網絡。為了確保可接受的速度,建議使用10G位網絡連接。使用NIC隊列技術進行帶寬匯聚也是有幫助的。
避免將VM存儲在SMB3共享上的域控制器上
訪問域控制器是SMB 3.0共享正常工作所必需的。如果主機具有SMB 3.0共享或Hyper-V主機無法訪問域控制器,則身份驗證無法通過,也無法建立連接。在這種情況下,Hyper-V服務器無法啟動位於SMB 3.0共享上的帶有域控制器的VM。請將帶有域控制器的VM保存在Hyper-V主機的本地存儲中,以防止此問題。
利用集群共享卷進行集群存儲
在部署集群時,應配置共享存儲。當使用傳統存儲而沒有CSV時,一次只有一個節點(Hyper-V主機)可以訪問相同的磁盤/LUN。集群共享卷(CSV)可以解決此問題,為多個節點提供對存儲的同時訪問,無需重新掛載卷並更改具有權限的所有權。使用CSV,您可以在NTFS或ReFS上方構建一個用於Hyper-V的集群文件系統。
避免使用直通磁盤
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 的磁盤。越早識別出有問題的磁盤,你的數據安全的概率就越高。還應監控磁盤性能,以識別哪些磁盤可能會過載。這可以幫助你決定在其他存儲之間重新分配具有磁盤密集型操作的 VM,以優化整體性能。
結論
存儲是服務器的關鍵組件,因為存儲包含的數據對大多數 IT 公司來說尤為重要。今天的博客文章介紹了 Hyper-V 的最佳存儲實踐,這可以幫助優化 VM 性能並確保存儲的高可靠性。從上面列出的所有建議中,選擇符合你環境的建議。
即使你有一流的存儲,妥善備份 Hyper-V VM 數據也很重要。NAKIVO Backup & Replication 可以幫助你以最有效的方式備份 Hyper-V VM。
Source:
https://www.nakivo.com/blog/hyper-v-storage-best-practices/