VMware VSAN設計最佳實踐

【摘要】

筆者根據自身在客戶處規劃VMware SDDC解決方案,尤其是VSAN的設計,提煉出設計的注意事項與最佳實踐。

涉及關鍵字:SDDC、VMware VSAN、軟件定義存儲等。

【正文】
一 VSAN基本概念

隨着企業數據中心從傳統架構朝SDDC(Software Defined Data Center軟件定義的數據中心)架構轉變,各類的傳統廠商和開源平臺都涌現出了很多的分佈式存儲技術,分佈式存儲中如VSAN、GFS、Ceph等技術都不斷在傳統企業和互聯網企業落地。筆者藉着個人的一些項目經驗,本文重點講述VSAN的概念和相關設計建議。

VMware Virtual SAN 使用軟件定義的方法爲虛擬機創建共享存儲。Virtual SAN 可以虛擬化 ESXi 主機的本地物理存儲資源,並將這些資源轉化爲存儲池,然後可根據虛擬機和應用程序的服務質量要求劃分這些存儲池並分配給這些虛擬機和應用程序。Virtual SAN 直接在 ESXi 管理程序中實現。

概念圖示如下:

                                           image001.png

同時在VSAN的概念中,有如下技術概念較爲重要:

磁盤組:是爲 Virtual SAN 羣集×××能和容量的主機和物理設備組上的物理存儲容量單元,在爲 Virtual SAN 羣集提供本地設備的每個 ESXi 主機上,設備按磁盤組形式進行組織。

所用容量:指一個或多個虛擬機隨時使用的物理容量。所用容量由多種因素決定,包括已使用的 VMDK 大小、保護副本等。計算緩存大小時,不考慮用於保護副本的容量。

VSAN策略:包括每個對象的磁盤帶數、Flash Read Cache 預留、允許的故障數、強制置備、對象空間預留、禁用對象校驗和、容錯方法、對象的 IOPS 限制等。其中最爲重要的是允許的故障數:定義虛擬機對象允許的主機和設備故障的數量。如果允許n個故障,寫入的每條數據存儲在 n+1 個位置,如果使用 RAID 5 或 RAID 6,還包括奇偶校驗副本。
二 VSAN配置要求

VSAN的架構幫助企業節省了物理集中存儲的成本,但同時也需要付出額外的硬件和軟件支出,且在前提條件上有如下的要求:

  1. 服務器的本地存儲設備要求;

Virtual SAN 配置中的所有容量設備、驅動程序和固件版本都必須通過認證,並列在VMware 兼容性指南的“Virtual SAN”部分。特別注意對controller的挑選,queue Depth,內置caching等特性要注意屏蔽。

需要企業級SSD和HDD。

  1. 網絡要求;

至少1gb且專用,10gb推薦(可共享)。

共享使用10gb網絡時,可利用NIOC確保VSAN traffic–VDS許可通過VSAN license可激活,Multicast是必須項,MTU/Jumbo frames都要一致。

  1. 內存要求;

Virtual SAN 的內存要求取決於由 ESXi 管理程序管理的磁盤組和設備的數量。每個主機必須最少包含 32 GB 內存以容納最多五個磁盤組以及每個磁盤組上最多七個容量設備。

  1. 節點配置;

Virtual SAN 所需的最低配置爲 3 個 ESXi 主機,建議4個Esxi主機,推薦始終追加一節點,以始終保持最佳的可用性,計算方式:(2n+1)+1, n is failures to tolerant。

  1. 磁盤組要求;

加入 Virtual SAN 羣集的 ESXi 主機上最多有 5 個磁盤組(閃存緩存設備 + 容量設備)。閃存緩存設備可以是 PCIe 閃存設備或固態磁盤 (SSD)。容量設備可以是混合配置中的磁盤或全閃存配置中的閃存設備。閃存緩存設備專門用於單個磁盤組:不能與其他磁盤組共享,也不能共享用於其他用途。

在混合配置中,每磁盤組最多有 7 個磁盤用於容量層,每磁盤組最多有 1 個閃存設備用於緩存層。

在全閃存配置中,每磁盤組最多有 7 個閃存設備用於閃存容量層,每磁盤組最多有 1 個閃存設備用於緩存層。
三 容量規劃設計

要確定 Virtual SAN 數據存儲的原始容量,可使用羣集中的磁盤組總數乘以磁盤組中容量設備的大小,然後減去 Virtual SAN 磁盤格式所需的開銷。

規劃 Virtual SAN 數據存儲的容量時(不包括虛擬機數量及其 VMDK 文件大小),必須考慮羣集的虛擬機存儲策略的允許的故障數和容錯方法屬性。

規劃和優化 Virtual SAN 存儲容量時,允許的故障數起重要作用。基於虛擬機的可用性要求,與一個虛擬機及其各個設備的消耗相比,此設置可能會產生雙倍的消耗甚至更多。

例如,如果容錯方法設置爲 RAID-1 (鏡像) - 性能且允許的故障數設置爲 1,則虛擬機可使用大約 50% 的原始容量。如果允許的故障數設置爲 2,則可用容量大約爲 33%。如果允許的故障數設置爲 3,則可用容量大約爲 25%。

例如,如果容錯方法設置爲 RAID-5/6 (刪除編碼,僅限於全閃存) - 容量且允許的故障數設置爲 1,則虛擬機可使用大約 75% 的原始容量。如果允許的故障數設置爲 2,則可用容量大約爲 67%。

容量大小設置準則:

l 至少留有 30% 的未使用空間,以防止 Virtual SAN 重新平衡存儲負載。只要單個容量設備上的消耗達到 80% 或以上,Virtual SAN 就會重新平衡羣集中的組件。重新平衡操作可能會影響應用程序的性能。要避免這些問題,存儲消耗應低於 70%。

l 規劃額外容量,用於處理潛在故障或替換容量設備、磁盤組和主機。當某個容量設備無法訪問時,Virtual SAN 會在羣集中的其他設備中恢復組件。當閃存緩存設備出現故障或移除時,Virtual SAN 會從整個磁盤組中恢復組件。

l 預留額外容量以確保 Virtual SAN 在出現主機故障或主機進入維護模式時恢復組件。例如,置備具有足夠容量的主機,以便留有足夠的可用容量供可在主機出現故障或維護期間成功進行重新構建組件。存在三個以上的主機時這非常重要,這樣您纔有足夠的可用容量來重新構建故障的組件。如果主機出現故障,將在其他主機的可用存儲上進行重新構建,這樣可以允許再次出現故障。但是,在三主機羣集中,將允許的故障數設置爲1時,Virtual SAN 不會執行重新構建操作,因爲當一個主機出現故障時,羣集中將只剩下兩個主機。要允許故障後重新構建,至少必須有三個主機。

l 提供足夠的臨時存儲空間,以便在 Virtual SAN 虛擬機存儲策略中進行更改。動態更改虛擬機存儲策略時,Virtual SAN 可能會爲組成對象的副本創建一個佈局。當 Virtual SAN 實例化這些副本並將其與原始副本進行同步時,羣集必須臨時提供額外空間。

l 如果規劃使用軟件校驗和或去重和壓縮等高級功能,請保留額外的空間以處理操作開銷。

四 設計建議

設計上有如下注意事項和實踐建議:

  1. 爲 Virtual SAN 羣集使用具有類似配置和大小的 ESXi 主機,同時 Virtual SAN 所需的最低配置爲3個ESXi主機,建議4個Esxi主機;

Virtual SAN 所需的最低配置爲3個ESXi 主機,但是在3節點羣集中,如果一個節點發生故障,則無處可以重新構建故障組件。維護模式中有一個選項可以從主機撤出所有數據。然而,這僅在羣集中有4個或更多節點並且有充足的備用容量時可行。

  1. 確保有足夠的閃存緩存滿足設計要求,建議將10%的已佔用容量分配給緩存;

設計注意事項:除了NumberOfFailuresToTolerate和格式化開銷以外,還需要考慮其他注意事項如快照等。一般來說,VMware 建議在羣集容量中預留大約 30% 的可用空間。

  1. 策略設計注意事項;

l 應考慮所有策略設置,也就是考慮此類策略所產生的組件數量。

l FlashReadCacheReservation 應當謹慎使用,而且僅在已確定具體性能問題時使用。

l NumberOfFailuresToTolerate 需要考慮隨着該策略設置的增加,有多少附加容量將被佔用。

l 配置 NumberOfFailuresToTolerate 時,需要考慮貢獻存儲的主機的數量,而如果使用故障域,還要考慮包含貢獻存儲的主機的故障域的數量。

l 所有使用策略部署在 Virtual SAN 上的虛擬機將採用精簡置備。這可能使得管理員需要監控過度使用情況。

  1. 網絡設計;

網絡故障切換和負載平衡:Virtual SAN 使用在僅用於網絡冗餘的後備虛擬交換機上配置的綁定和故障切換策略,Virtual SAN 不會將網卡綁定用於負載平衡。

如果計劃爲可用性配置網卡組,請考慮這些故障切換配置。

  1. 存儲設計注意事項;

l 考慮是全閃存解決方案更適合 Virtual SAN 設計,還是混合解決方案更適合。儘管全閃存解決方案可能更昂貴,但可以提供更高的性能和低延遲。

l 確保在設計中使用的閃存設備的持久性符合要求。

l 請記住使用 10% 的閃存容量比,此要求同時適用於混合配置和全閃存配置花些時間確定容量層在一段時間後會變得多大,並使用提供的公式推算閃存緩存大小。

l 確定容量層大小時,記得將文件系統開銷包含在內。

l 如果可以,考慮在每個主機上使用多個存儲 I/O 控制器,以便提高性能, 實現冗餘。

l 禁用控制器上的緩存,或者如果不可行,將緩存設爲 100% 讀取。

l 設計磁盤組時,不僅將磁盤組視作故障域,還將其視作提高性能的方式。

l 設計一個具有充足容量的額外主機,以便在磁盤故障時方便開展修復操作,從而可以在提供完整虛擬機可用性的同時,容許羣集中再次發生故障。

l 一般來說,目標是保留大約 30% 的可用容量。

總結:以上以筆者從VSAN項目經驗,分享了VSAN的基本概念和實踐建議,也帶來了相關的信息和資訊,歡迎探討交流,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章