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 管理程序中實現。ide

概念圖示以下:佈局

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的基本概念和實踐建議,也帶來了相關的信息和資訊,歡迎探討交流,謝謝!

相關文章
相關標籤/搜索