延伸集群是 vSAN 特有的概念,它是把一個普通的單網站 (site) 集群延伸 (Stretch) 到了另一個網站,形成一個橫跨兩個網站的集群,稱之為延伸集群 (Stretched Cluster)。延伸集群具有普通集群所有的 HA 保護功能,能夠跨網站地保存資料副本,它以較低的成本實現了跨網站的災備解決方案;並且位於兩個網站內的伺服器都可以是活動的,從而實現了雙活資料中心。傳統的災備方案和雙活資料中心解決方案都需要另外採購昂貴的硬體和軟體,實現成本很高,往往只有金融、電信等一些大型企業才會考慮。vSAN 延伸集群利用普通的 x86 伺服器加上 vSphere / vSAN 軟體就可以實現,大大降低了實施成本,成為任何企業都能夠負擔得起的災備和雙活解決方案。

 

vSAN 延伸集群的架構

延伸集群的架構如下圖所示,主要由網站1、網站2和見證節點三部分組成,網站1和網站2是兩個不同的資料中心,分屬2個故障域。見證節點採用 Quorum 演算法來決定故障發生時,由哪一個網站來繼續提供 vSAN 集群的服務,Quorum 的原意是一組成員為了行使業務職責而必須達到的法定人數。

  • 在延伸集群中,任何一個網站發生故障,剩下的網站就會和見證節點一起組成新的 vSAN 集群。
  • 如果是網站1和網站2之間的網路發生了故障,網站1和網站2都會認為是對方發生了故障,而試圖重組 vSAN 集群,這種情況稱之為腦裂 (Split-brain)。這時候由見證節點來決定跟哪個網站結合,重組成新的 vSAN 集群來繼續提供服務。被排除的網站上的虛機會被全部停掉,它們會在存活下來的網站上啟動起來。

見證節點 (witness node) 可以是一台物理伺服器,也可以由一台虛機來擔任,vSAN 已經提供了現成的 Witness Appliance 來部署見證虛機。見證節點必須部署在第三個故障域,一般是部署在雲端,或是在另外一個資料中心。

搭建延伸集群並沒有什麼特殊要求,只要網站1、網站2和見證節點之間存在層3的網路連接就可以了;為了保證延伸集群的整體性能,建議:網站間的 vSAN 資料網路往返時延 RTT (Round-Trip Time) 不超過5毫秒, 網路頻寬速度為 10Gbps。大家有可能在其他文檔上看到過 vSAN 延伸集群要求網站之間的網路必須是層2的這一要求,這是因為以前的 vSAN 集群內部是採用組播 (multicast) 方式來進行集群內通信;vSAN 6.6 開始已經改成了單播 (unicast) 方式,所以不再有層2網路這一硬性要求。

 

延伸集群中的資料保護

對於下面介紹的這些存儲策略參數,“vSAN 存儲策略”中有詳細介紹,大家可以先閱讀一下。

 

首選故障域 (Preferred Fault Domain) 和輔助故障域 (Secondary Fault Domain)

缺省的,物理伺服器被定義為 vSAN 集群的隱式故障域 (Implicit Fault Domain) ,只要資料有多個副本保存在多台伺服器上,就能夠預防單台伺服器故障而造成的資料丟失。在延伸集群中又定義了一個顯式故障域 (Explicit Fault Domain) —— 網站,只要資料副本同時保存在兩個網站,就能夠預防單個網站故障而造成的資料丟失。在延伸集群中兩個網站分別對應一個故障域,分別叫作首選故障域 (Preferred Fault Domain) 和輔助故障域 (Secondary Fault Domain),這是 vSAN 預先定義好的名字,用於把延伸集群中的伺服器根據所處的網站分成兩組。

 

PFTT 和 SFTT

FTT (Failure to Tolerate) 是定義資料保護等級的一個重要參數,FTT = 1 意味著可以忍受一個節點的故障;因為延伸集群中有隱式和顯式兩種故障域,所以也相應地定義了兩種 FTT 參數:

  • PFTT (Primary FTT):用於指定跨網站的資料保護,設置為1表示需要跨網站保存資料副本,設置為0表示不需要跨網站資料保護。
  • SFTT (Secondary FTT):用於指定網站內的資料保護,SFTT 等同于普通集群中 FTT 的概念,表示在網站內最多可以忍受多少台伺服器的故障而不丟失資料。

 

FTM (Failure Tolerance Method)

跟故障域和 FTT 緊密相關的另一個參數是資料保護方法 FTM (Failure Tolerance Method),FTM 也定義了資料佈局的方式,vSAN 有以下兩種 FTM:

  • Raid-1:資料鏡像 (Mirroring),通過保存資料的多個副本來實現資料保護。
  • Raid-5/6:也稱之為糾刪碼 (Erasure Coding),工作原理跟傳統的 Raid 5/6 類似,只不過傳統的 Raid 5/6 是把資料保存在同一台伺服器的多塊硬碟上,vSAN 是把資料保存在多台伺服器上。

資料保護策略是通過存儲策略 (Storage Policy) 來指定的,我們可以通過 FTM、PFTT 和 SFTT 這些參數的設置來定義出不同等級的資料保護策略,例如:

  • 不需要跨網站資料保護,只需要本地資料保護:PFTT = 0 (不需要忍受網站級故障),SFTT = 1 (需要忍受網站內的1台伺服器故障);
  • 需要跨網站資料保護,不需要本地資料保護:PFTT = 1 (需要忍受網站級故障),SFTT = 0 (不需要忍受網站內的伺服器故障);
  • 需要跨網站資料保護,也需要本地資料保護:PFTT = 1 (需要忍受網站級故障),SFTT = 1 (需要忍受網站內的1台伺服器故障)。

定義好存儲策略後,只需要在創建虛機時選用不同的存儲策略就可以起到相應的資料保護等級,關鍵應用當然要選擇本地和跨網站的雙重資料保護,而一些非關鍵應用只需要選擇本地資料保護策略就足夠了。值得一提的是,虛機的存儲策略是可以修改的,虛機創建後如果改變資料保護計畫的話,也可以更改虛機的存儲策略,vSAN 會根據更新後的策略來調整資料存儲佈局,以實現相應的保護等級。

 

延伸集群的演示

下面請大家看一段 vSAN 延伸集群的演示視頻:

 

第一步:配置 vSAN 延伸集群

把8台伺服器配置成一個延伸集群,分在兩個故障域裡,並且指定另一台單獨的伺服器作為見證節點。

 

第二步:配置存儲策略

創建3條存儲策略,分別對應是否需要跨網站和網站內保護的三種組合:

  • “Stretched VM – No local protection”:PFTT = 1,SFTT = 0,跨網站保護的資料保護方法就是鏡像,所以針對 PFTT 不用選擇 FTM。
  • “Stretched VM – R5 Locally”:PFTT = 1,SFTT = 1,FTM = Raid-5/6。
  • “Not Stretched – Preferred Site”:PFTT = 0,SFTT = 1,FTM = Raid-5/6,Affinity = Preferred Fault Domain,因為虛機只存在於一個網站,所以這條策略需要一條存儲規則來確定存放在哪一個網站,Affinity (親和、密切) 參數就是起這個作用。

 

第三步:創建虛機

創建3個虛機來分別應用上面定義的三種存儲策略,並且檢查虛機對應的存放裝置映射,看看所設的存儲策略是否生效。

  • 虛機”Stretched + R5″:使用了”Stretched VM – R5 Locally”存儲策略;
  • 虛機”Stretched + No local protection”:使用了”Stretched VM – No local protection”策略;
  • 虛機”Not Stretched”:在創建時故意設置了錯誤的存儲策略 “Stretched VM – No local protection”,稍後再把虛機的存儲策略改為“Not Stretched – Preferred Site”。

 

 

延伸閱讀

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

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