「工程師筆記」VxRail數據服務最佳實踐
本文主要討論戴爾易安信超融合一體機VxRail的數據服務,包括去重和壓縮、存儲空間效率和服務質量限制QoS、糾刪碼、數據完整性軟件校驗和,以及VxRail設備的高可用性故障域。供規劃、安裝和維護VxRail的人員參考。
VxRail數據服務的最佳實踐
最新IDC報告顯示,戴爾易安信在2018年第二季度以28.8%的市場份額再次成爲HCI市場無可爭議的領導者。
2018Q2全球超融合系統供應商收入、收入佔比份額和增長
(單位:百萬美元)
市場佳績背後是完整的產品線,戴爾易安信超融合基礎設施種類齊全,適合不同用戶的各種應用場景。
下面將着重介紹戴爾易安信超融合家族的一員猛將——VxRail,主要分析其高可用性、I/O加速、數據安全等企業就緒存儲數據服務。
VxRail是VMware和戴爾易安信在VMware HCI(vSAN、vSphere和vCenter)基礎上聯合開發的超融合基礎設施,附帶了vSAN、vCenter、Log Insight以及來自Dell EMC和VMware的一整套行業領先的數據服務,包括恢復、數據保護、雲分層和備份。
作爲軟件定義數據中心(Software Defined Data Center,SDDC)最簡單的構建塊,VxRail支持多種形式的硬件和軟件(2U4節點、1U1節點和2U1節點),其交鑰匙方案可提供最佳的vSAN體驗。
VxRail軟件快速視圖
VxRail數據服務的最佳實踐
VxRail數據服務的核心技術包括以下幾部分內容:
► 去重和壓縮:可以啓用vSAN集羣的去重和壓縮,減少存儲數據所需的空間量;
► 糾刪碼:可以在VMS上設置故障容忍方法策略屬性,使用RAID 5或RAID 6糾刪碼。糾刪碼可以保護您的數據,且使用的存儲空間比默認RAID 1鏡像小;
► QoS服務質量限制:可以爲對象,如VDMK設置IOPS限制。如果超過限制,則I/O操作受限;
► 軟件校驗和:默認情況下,啓用校驗和以確保數據完整性;
►故障域:一個高可用性特徵,以確保對物理設備節點等故障的保護。
1去重和壓縮
vSAN可以執行塊級重刪和壓縮,以節省存儲空間。在vSAN全Flash集羣上,重複數據刪除和壓縮兩個功能一起執行,可以提高存儲資源操作效率,減少磁盤組內的冗餘數據。
具體過程是,vSAN在將數據從緩存移動到容量層時去重,然後壓縮,如圖所示。
Web管理客戶端的健康頁面提供了重複數據刪除和壓縮數據的詳細報告,可以預期用於存儲元數據的原始存儲容量開銷,以及CPU和內存開銷。
若要啓用,首先將“添加磁盤到存儲”的設置從“自動”改爲“手動”,並允許重複刪除和壓縮。當VxRail磁盤組啓用重複數據刪除和壓縮時,所有數據必須撤出。
另外,磁盤格式的升級是在沒有停機時間的滾動方式下完成的,升級期間性能可能會受到影響。當禁用該功能時,通過類似操作,根據簇大小和磁盤組的數目而決定不等的時間。
注意事項:
⊗ 只有全閃存設備支持重刪和壓縮功能,默認情況下,在VxRail上該功能是禁用的;
⊗ 如果要使用重刪和壓縮,建議在部署之前啓用它們。如果在部署後打開,所有數據必須重新處理以應用重刪和壓縮算法,會產生密集的資源開銷;
⊗ 重刪和壓縮是一起啓用的,沒有辦法單獨啓用;
⊗ 使用去重刪和壓縮時,建議集羣中至少有4個節點,以便在所有條件下保持高可用性;
⊗ 啓用去重刪和壓縮時,向磁盤組添加或刪除容量設備的過程需要重新創建磁盤組;
⊗ 啓用重刪和壓縮會消耗少量的元數據。此元數據所消耗的空間與vSAN數據存儲的大小有關,通常佔總容量的5%左右;
⊗ 對象空間預留必須是所有存儲策略的0或100%,儘管100%對於重刪效率不高。這個數字表示部署虛擬機時必須分配VM對象的邏輯大小。將其設置爲0意味着虛擬磁盤將被配置爲精簡配置。
2糾刪碼
VxRail通過兩種方式爲VM提供數據保護——“糾刪碼(RAID-5/6)”和“鏡像(RAID-1)”。
鏡像創建了VM對象的完整副本,並將其保存在單獨的主機中,以便在故障出現時從其他副本中得到服務。
RAID 5或RAID 6糾刪碼提供了防止數據丟失和提高存儲效率的另一種方式。糾刪碼可以提供與鏡像(RAID-1)相同的數據保護級別,卻使用較少的存儲容量,且允許每個VM及其對象根據需求選擇不同的保護方式。
全Flash集羣上配置RAID-5,具有四個或更多VxRail節點,RAID-5保護一個故障。
全Flash集羣上配置RAID-6,使用六個或更多VxRail節點,RAID-6保護兩個併發故障。糾刪碼與vSAN的去重/壓縮、QoS和校驗和特性可兼容同時啓用。
RAID-5當配置允許故障容忍數一個(FTT=1)來提供對一個故障的保護。那麼最少需要四個節點(3+1),但開銷是1.33倍,而不是用鏡像的2倍。換句話說,20GB的磁盤只需要大約27 GB來提供數據保護,而不是鏡像所需的40GB。
RAID-6當配置允許故障容忍數兩個(FTT=2)來提供對兩個故障的保護。最少需要六個節點(4+2),但開銷是1.5倍,而不是用鏡像的3倍。也就是說,20GB的磁盤只需要大約30GB來提供數據保護,而不是鏡像所需的60GB。
注意事項:
⊗ 使用糾刪碼對性能的影響。例如,由於需要的讀取-修改-寫入步驟,使用糾刪碼會影響隨機寫入性能和計算奇偶校驗的CPU開銷。
⊗ vSAN延伸集羣不支持在VxRail中使用糾刪碼,因爲它只支持3個故障域。
3QoS服務質量限制
服務質量(QoS)可在每個VM/VMDK基礎上通過設置IOPS限制來獲得。如果磁盤的IOPS超過指定限制,則I/O操作被節流;如果對象的IOP限制設置爲0,則不執行IOPS限制。這些限制允許針對不同應用的不同級別的服務,可以爲不同的工作負載提供服務級協議(SLAs),並保護TIER-1應用性能。
這個特性完全兼容vSAN的其他特性,對VxRail是透明的。VM/VMDK所有包括快照的讀/寫操作中是等價的,計算IOPS作爲限制級別。
若要啓用對象的IOPS限制,需要先創建一個新的存儲策略規則並設置所需限制。統一按32KB的塊大小, 64KB的讀或寫就會被當作兩個獨立的操作,導致所配置的IOPS限制的一半,是所執行的操作的數量。
注意事項:
⊗ QoS的設置不是爲所有工作負載創建策略,包括優先級工作負載。相反,使用QoS來避免“嘈雜鄰居”問題,爲的是那些不希望其消耗多餘資源的低優先級應用程序而創建限制。
4軟件校驗和
通過確認VxRail上文件的每個副本與源文件相同,可啓用端到端校驗和以確保數據的完整性。
校驗和可提供對VxRail管理器透明的附加數據完整性級別,用於檢測和解決內存和磁盤組件中未發現的磁盤錯誤和損壞。
當校驗和驗證失敗時,就從冗餘副本中獲取數據,如果檢測到校驗和錯,vSAN會自動修復,用正確數據將不正確的數據重寫。此外,校驗和計算及糾錯是作爲後臺操作來執行的。
注意事項:
⊗ 禁用校驗和是立即操作,但啓用校驗和後需要完整的數據副本來請求校驗和,若所有數據都得重寫,則需要密集的資源開銷;如果有大量數據,這個過程會產生大量的CPU和資源開銷,要儘可能早地計算校驗和;
⊗ 校驗和在VxRail中是缺省啓用的,如果應用程序已經提供了數據完整性機制,可禁用 ;
⊗ 校驗和也可以檢測網絡和磁盤錯誤;
⊗ vSAN校驗和功能支持混合和全閃的VxRail設備。
5故障域
故障域有高級彈性特徵,VxRail集羣可以被劃分爲故障域,從而在物理組件之間提供額外的保護級別。這可以幫助最小化虛擬機停機時間,當整個物理機失效時,它通過定義跨越物理結構的辦法來實現這一點,例如物理機的邏輯分離。
下圖是應用示例:
在這個例子中,一個機架中的節點可以被分配給一個故障域。vSAN把冗餘的VM對象/組件放置在不同的故障域中,以便在機架故障時保持VM對象/組件的可用性。
vSAN數據佈局方式,是將VM數據跨集羣放置在不同節點。要實現基於存儲策略的管理,部署在vSAN數據存儲中的每個虛擬機都具有至少一個分配的策略。當創建VM並分配一個存儲策略時,就將策略要求推送到vSAN層。
這些策略確定在數據存儲中如何配置和分配存儲對象以保證所需的服務水平,即希望VM能夠容忍的故障數量,就是“Number Of Failures To Tolerate(FTT)”。如圖可以把四個主機看作一個VxRail設備。當我們創建具有FTT=1策略的VM時,vSAN創建副本並將其放置在另一個節點中。在一個節點失敗的情況下,可用的副本可以服務任何數據請求。
單獨使用FTT策略只能防止“主機故障”。當系統伸縮時,或者當希望確保VM數據在“主機故障”vSAN故障域之外可用時,vSAN故障域提供了所需功能。
VxRail的故障域考慮
VxRail具有不同的形狀因子和節點類型。基於不同的配置,節點可以部署在單個機架內或跨多個機架。一個集羣至少需要三個節點,可以是由單個節點或3節點G系列設備組成的3個設備。
在爲VxRail設備定義故障域時,我們需要考慮在VxRail集羣中使用什麼設備類型和配置,以確定如何跨機架佈局設備,以便創建機架級別的彈性。
G系列設備在一個機箱最多可以容納4個節點,因此包含的所有節點將屬於單個機箱。
E、S、P和V系列設備在單獨的機箱中具有單個節點,它們可以放置在單個機架中,或者跨數據中心內的各種機架來創建VxRail集羣。
以下是針對特定VxRail集羣的故障域最佳實踐建議:
✔由於整個機箱的故障,同一VxRail機箱中的所有節點都應該是同一故障域的一部分;
✔ 節點的數量將根據FTT的定義和故障域的配置要求而變化;
✔ 建議每個故障域具有相同數量的節點,以確保在發生故障時有足夠的可用資源來提供完全的業務支撐;
✔ 可根據數據中心的保護計劃爲VxRail基礎設施軟件以及其他服務組件(包括vCenter Server和Log Insight)定義故障域。
對於單系列VxRail集羣中的G系列設備,請使用以下故障域指南:
對於所有其他設備E、S、P和V系列,每個節點VxRail集羣的最佳實踐方式:
應用場景一:
S、P、V或E系列的故障域
在這個場景中,VxRail設備的三個節點跨多個機架放置。相同的故障域特徵可以用不同的方式配置,代替同一機架中的多個節點,我們可以爲VxRail設備配置不同機架中的節點,並提供類似的彈性級別。
應用場景二:
G系列的故障域
在這個場景中,有三個4節點G系列VxRail設備,都在一個單獨的機架中。當部署FTT=1時,在不使用故障域時,兩個副本放置到同一機架中的不同主機。因此,如果機架、機箱或網絡交換機宕機,則VM不受保護。
然而,如果啓用了故障域,則可以將同一機箱中的主機分組在一起以形成故障域。vSAN不再將虛擬機數據的副本放在與原始相同的故障域中。若要按FTT計算所需的故障域數,參照上表。每個故障域包含一個或多個VxRail設備機箱。
我們使用vSphere Web Client工具配置以下故障域:
故障域1包含VxRail設備1,具有三至四個節點(機架1)
故障域2包含VxRail設備2,具有三至四個節點(機架2)
故障域3包含VxRail設備2,具有三至四個節點(機架3)
總結
VxRail爲應用於不同場景的數據保護,助力效率和服務質量提供了許多功能,這些功能中的每一種都有特定的最佳實踐,可以幫助我們在最大限度地使用VxRail。在使用這些特性中的任何一種時,確保理解其用途和含義,並遵循本文所給出的最佳指導實踐。
查看原文 >>