借助原生雙活城域卷(Metro Volume)支持,PowerStoreOS 3.0新增一個功能,有助于防止生產因VMware vSphere Metro Storage Cluster (vMSC) 環境的故障而中斷。城域卷功能在PowerStore上可免費使用,可用于保護VMFS datastores。
vMSC配置是一個延伸集群架構,ESXi主機可在城域距離[100公里 (取決于鏈路質量)] 內的兩個不同的站點,同時訪問一個同步復制的存儲資源。PowerStore 城域卷功能可在兩個參與的PowerStore集群配置上,提供并發的完全雙活的主機IO。
雖然這會增加額外的延遲,但PowerStore城域卷可確保在主機收到I/O寫入的確認之前,所有主機I/O都在城域卷的兩個鏡像卷上提交。為應對災難事件,把生產受到的影響降到最低,甚至是不受影響,PowerStore內置了一種機制,可保護數據在發生故障或災難時不會出現“腦裂”(split-brain)現象。當數據可在兩個PowerStore集群上的城域卷鏡像之間進行復制時,PowerStore被設計為允許在城域卷兩邊只運行雙活的工作負載。
從拓撲結構的角度看,PowerStore支持兩種不同的配置方案。一種是非統一配置,主機只能訪問本地的PowerStore系統:
還有一種是統一 配置,主機可以同時訪問本地和遠程的PowerStore。
盡管它們看起來很相似,但不同拓撲結構的優勢在于細節的處理。
非統一主機配置降低了復雜性,因其只需較少的配置,且只提供對兩個站點之間鏈路利用率最低的卷的本地訪問。然而,在本地PowerStore陣列出現故障的情況下,或者在鏈接故障期間,本地主機可能無法訪問城域卷。在這種情況下,VMware HA需要使用對面站點上幸存的主機來重啟受影響的datastore上的任意虛機。每個站點都應該有足夠的主機資源,以便在對等站點不可用時運行最關鍵的虛機。
在統一主機配置中,主機與遠程PowerStore集群有額外的鏈接,在故障情況下可以使用該鏈接。如果由于故障或鏈接中斷,在本地PowerStore集群上無法訪問城域卷時,主機就可以利用交叉鏈接來訪問遠程站點上的卷。在這種情況下,虛機可在故障中幸存下來,因為主機可把工作路徑切換到遠程系統上。在正常操作下,主機I/O應保持在本地站點內,以避免在站點之間的鏈路上為工作負載使用不必要的帶寬,并盡量減少延遲。
現在快速展示一個例子,我們假設本地理論延遲為0.5毫秒,兩個站點之間的理論延遲為2毫秒。
1. 主機使用指向本地陣列的鏈接作為寫入城域卷的主要路徑。I/O的理論延遲值如下:
· 將工作負載從主機寫入到本地存儲0.5毫秒
· 將工作負載復制到遠程存儲2毫秒。工作負載使用站點之間的鏈接。
· 在本地存儲上接收來自遠程存儲的提交2毫秒
· 提交到主機0.5毫秒
總的來說,我們會看到I/O的延遲為5毫秒,且工作負載僅通過站點之間的鏈接發送一次以進行復制(A-B)。
2. 當主機使用到遠程陣列的鏈接作為主要路徑時,我們會看到以下情況:
· 發送工作負載至遠程存儲2毫秒。工作負載使用站點之間的鏈接。
· 將工作負載復制到一個對等點2毫秒。工作負載使用站點之間的鏈接。
· 從對等陣列提交到遠程存儲2毫秒
· 提交到主機2毫秒
總的來說,我們會看到同樣的I/O的理論延遲為8毫秒,因為工作負載和提交總是利用站點之間的鏈接:一次是當主機將數據寫入遠程陣列(A到B)時,另一次是當寫入數據被復制到對等存儲(B-A)以及所需的提交時。
為了確保選擇最佳路徑,PowerStore使用異步邏輯單元訪問(ALUA)協議提供最佳路徑選擇信息。為獲得正確的ALUA狀態,必須使用它們與每個PowerStore集群的本地或遠程關系注冊統一主機。在PowerStore Manager中注冊主機時有四個選項:
· 僅限本地——用于非統一城域卷和僅服務于標準卷的主機。
· 主機與PowerStore系統位于同一地點——表示主機是PowerStore的本地主機(低延遲),應該獲得ALUA的主動/優化路徑。
· 主機與遠程PowerStore系統位于同一地點——表示該主機是遠程主機(高延遲),主機應該獲得ALUA主動/非優化路徑。
· 主機與PowerStore本地及遠程系統均位于同一地點——表示所有主機和PowerStore集群位于相同位置,具有相同的延遲。
當主機配置了統一城域卷的城域連接選項時,PowerStore會為非城域卷的標準卷提供默認的ALUA路徑信息。
借助本機多路徑(NMP)的"輪詢調度"(RR)默認路徑選擇策略(PSP),ESXi主機使用所提供的ALUA路徑信息來確定連接到卷的最佳工作路徑。當有多個主動/優化路徑可用時,ESXi PSP 通過輪詢調度(round robin)測算卷的延遲,以選擇最佳工作路徑。當前的工作路徑在vCenter中顯示為 "主動(I/O)"狀態,而其他路徑只顯示為 "主動"狀態。下圖顯示了城域卷配置完成后,統一主機配置中的ESXi主機的路徑狀態。
在PowerStore Manager中設置好主機后就可以開始配置城域卷。這在單個PowerStore集群上只需幾個步驟即可完成:
1. 與對等的PowerStore建立一個遠程系統關系,請選擇保護>添加遠程系統。
2. 使用添加卷向導來創建和映射標準卷。
3. 在卷頁面,單擊六次即可配置城域卷。
4. 在對等的PowerStore集群上,將新的城域卷映射到主機上。
5. 使用新的城域卷來創建一個VMFS datastore。
除了使用PowerStore Manager以外,還可以使用PowerStore REST API或PowerStore CLI,只需幾個步驟即可設置城域卷。在這篇博客中,我想向大家展示在PowerStore CLI會話(pstcli -d
1. 在PowerStore Manager PowerStore-A上
a. 創建遠程系統關系
b. 注冊ESXi主機用于統一主機連接
c. 準備和映射標準卷
d. 將卷配置為一個城域卷
2. 在PowerStore Manager PowerStore-B上
a. 注冊ESXi主機用于統一主機連接
b. 將卷映射到ESXi主機上
c. 監測城域卷(可選)
3. 在vCenter中
a. 重新掃描SCSI總線。
b. 用新的城域卷配置VMFS datastore。