存儲策略 (Storage Policy) 是管理員定義的一組規則,這組規則定義了資料物件在 vSAN 存儲上是如何保存的,存儲策略定義了資料存儲的可靠性、訪問性能等特性。vSAN 提供了基於存儲策略的存儲管理 SPBM (Storage Policy-Based Management),管理員創建多個存儲策略,利用 SPBM 來對 vSAN 存儲進行靈活地管理,SPBM 是 vSAN 的一個重要特色。

 

一些重要的存儲策略概念

物件磁片條帶數 (Number of disk stripes per object)

把虛機物件分成多個條帶 (stripe) 分佈存儲在多個硬碟上,這樣有助於提高資料讀取的性能。在下圖的例子中,所示的虛機被分為兩個條帶 a 和 b 進行存儲;因為同時又採用了 Raid-1,所以虛機物件又被保存了兩個副本,一個副本在伺服器 ESX01 的磁片組中,另一個副本存放在位於伺服器 ESX02 和 ESX03 上的磁片組中。

物件條帶數實際上就是 Raid-0 的概念,只不過我們在定義 Raid-0 的配置時,更多使用的是條帶寬度 (stripe width) 的概念,條帶寬度是指每一塊條帶塊的大小,條帶數量取決於組成 Raid-0 陣列的磁片數量。vSAN 中物件條帶數缺省為1 (建議不要改動這個值),最大值為12。把這個值設置成大於1能夠提高系統性能,但是會引起更多的資源消耗。

 

讀緩存預留 (Flash read cache reservation %)

無論是機械硬碟和 SSD 組成的混合架構,還是由高速 SSD 和普通 SSD 組成的全快閃記憶體架構,vSAN 都會把兩種設備中性能更高的那種設備用作讀寫緩存,從而來提高整個系統的性能。這個參數指定了為虛機物件保留的緩存 SSD 空間占比 (相對於虛機大小),缺省為0% ;建議一般情況下不要改動這個值,僅當特定情況下需要提高性能時才改動。

 

物件空間預留 (Object space reservation %)

vSphere 在創建虛機時虛擬硬碟有三種格式可以選擇:

  • Thick Provision Lazy Zeroed:一開始就分配足額空間給虛擬硬碟,但是等真正寫入資料時才初始化(寫 0);
  • Thick Provision Eager Zeroed:一開始就分配足額空間給虛擬硬碟,並且完全初始化(寫 0),性能最優;
  • Thin Provision:根據虛擬硬碟的實際使用來分配空間,但在性能上要比上面兩種差一些。

物件空間預留參數定義了創建虛機物件時,如果虛機採用的是 Thin Provision 方式的話,必須為虛機保留的存儲空間比例 (相對於虛機的大小)。

 

可以忍受的故障數 FTT (Failure to Tolerate)

FTT (Failure to Tolerate) 是定義資料保護等級的一個重要參數,FTT = 1 意味著可以忍受一個節點的故障。跟 FTT 緊密相關的另一個參數是資料保護方法 FTM (Failure Tolerance Method),FTM 也定義了資料佈局的方式,vSAN 中的 FTM 主要有 Raid-1、Raid-5 和 Raid-6 這幾種。

Raid-1 就是鏡像 (Mirroring),在另一台伺服器的磁片組上保存資料的副本,當其中一台伺服器發生故障時,也可以保證資料不丟失。下圖展示了 Raid-1 的工作原理,同一個資料物件存在兩個副本分別存放在兩台伺服器上,這種情況下對應 FTT = 1。

Raid-5 跟傳統的 Raid 5 磁碟陣列類的概念類似,只不過陣列不是由同一台伺服器上磁片組成,而是由多台伺服器上的磁片組成,通過增加同位塊來提高資料的容錯能力。Raid-5 最少要求4個伺服器節點,可以實現 FTT = 1 的容錯要求。跟 Raid-1 相比,Raid-5 可以至少節省 30% 的存儲空間。

Raid-6 的工作原理跟 Raid-5 類似,只不過採用了雙份的同位塊,從而使資料的容錯能力進一步提高。Raid-6 最少要求6個伺服器節點,可以實現 FTT = 2 的容錯要求。跟 Raid-1 相比,Raid-6 可以至少節省 50% 的存儲空間。

vSAN 中的 Raid-5/6 也稱之為糾刪碼 (Erasure Coding),我們可以把它理解成一種跨伺服器的 Raid 陣列實現。

 

IOPS (Input / Output Per Second) 限制

IOPS 是衡量存儲性能的一個重要指標,vSAN 通過為虛機指定 IOPS 限制值,來控制虛機可以獲得的存儲訪問 QoS (Quality of Service) 服務品質等級。通過這個值的設定可以限制某些非關鍵應用虛機對於 vSAN 性能的佔用,從而保證關鍵應用虛機的存儲訪問性能。

 

校驗和 (checksum) 驗證

校驗和 (checksum) 是在資料處理和資料通信領域中,用於校驗資料正確性的一種方法:把資料的各個位元數累加起來,在處理資料結束之後根據這個數值判斷是否接收到的資料是否正確,如果數值匹配那麼說明資料被正確地處理了。校驗和通常是以十六進位為數制表示的形式來進行計算,如十六進位串: 0102030405060708 的校驗和是 24 (十六進位,十進位累加結果為36)。

vSAN 在寫入資料時同時也寫入該資料的校驗和,作為日後比對的依據。打開該功能時,vSAN 在後臺執行磁片掃描 (Disk Scrubbing),如果通過校驗和驗證發現了錯誤,則重建資料,能夠自動檢測和解決靜態磁片錯誤 (silent disk errors)。

 

強制調配 (Force Provisioning)

當存儲策略中設定的規則不能滿足時,vSAN 也可以強制為虛機分配存儲空間,保證在一些極端條件下 (如存儲空間不夠) 也能夠為虛機分配空間,讓系統能夠正常地運行下去。

 

 

存儲策略的定義和使用

定義存儲策略

存儲策略必須在虛機創建之前建立,這樣才可以在虛機創建時選擇使用;當然 vSAN 有缺省的存儲策略,如果沒什麼特殊需求的話,就可以使用缺省的策略。下圖示意了虛機存儲策略是如何被創建的,創建之後就可以在 web client 管理主控台中看到 vSAN 集群中現有的存儲策略。

 

使用存儲策略

接下來就可以在創建虛機的時候指定它所使用的存儲策略了,或是修改現有虛機的存儲策略。下圖示意了修改一個虛機存儲策略的過程,管理員修改了虛機的存儲策略後,vSAN 會根據新的策略來調整虛機資料的存儲佈局,以符合新的存儲策略的要求。

 

檢查存儲策略的合規性 (Compliant)

管理員也可以去檢查虛機物件的存儲是否符合存儲策略的規定,合規 (Compliant) 的意思就是 vSAN 存儲滿足了存儲策略定義的要求。在存儲空間資源短缺的情況下,也會產生不合規的情況,例如要求採用鏡像來保存虛機物件,如果其他伺服器上沒有足夠空間的話,結果只保存了一份虛機對象副本。如果出現不合規情況的話,就意味著資料物件沒有得到應有的安全保護,也有可能是存儲策略設置得不合理,管理員就要立即採取行動,找出造成違規的原因。

 

最後,給大家看一段 vSAN 存儲策略的演示視頻,有了前面這些基本概念的介紹,相信大家很容易理解演示的內容。

延伸閱讀

將 VMware vSphere / vSAN 軟體與 Intel 的最新硬體平臺技術相結合,可以為用戶交付最佳的超融合架構平臺,幫助用戶簡化資料中心管理,降低採購和運維成本,輕鬆應對企業在數位化轉型中面對的各種挑戰。

  • VMware vSAN 是最佳的存儲方案平臺,具有管理簡便、高性能、低成本、易擴展的特點,在 vSAN 平臺上可以支援任何類型的應用。
  • Intel 至強處理器提供最強計算能力,基於傲騰 (Optane) 和 3D NAND 技術的固態盤是理想的快取記憶體,乙太網融合網卡提供穩定的網路頻寬和低網路延遲。