原文:http://www.punchingclouds.com/2014/04/01/vmware-virtual-san-witness-component-deployment-logic/緩存
人們常常問我關於Virtual SAN 見證組件性能和邏輯的問題。很明顯,這是一個使人迷惑的話題。所以,我但願利用這個機會,爲那些在正式白皮書發佈以前就急於瞭解詳情的人解答這一問題,白皮書會更詳細說明本文的上下文環境。請關注它的發佈。服務器
在此,我要解釋的行爲和邏輯對最終用戶是 100% 公開透明的,所以沒有必要擔憂見證組件的佈局。此行爲由系統管理和控制。本文的目的是幫助您瞭解您可能見到的見證組件的數量並解釋緣由。網絡
Virtual SAN 對象由組件組成,這些組件分佈在用Virtual SAN 配置的 vSphere 羣集的主機之間。這些組件存儲在 Virtual SAN 分佈式數據存儲內各類不一樣的磁盤組組合中。組件經過基於閃存的設備透明分配緩存和緩衝容量,而其數據在磁盤中「永存」。架構
見證組件是每一個存儲對象的一部分。Virtual SAN 見證組件包含對象元數據,其目的是在必須作出可用性決策時(在 Virtual SAN 羣集中)充當打破平局組件,以免裂腦行爲並知足仲裁要求。分佈式
Virtual SAN 見證組件以三種方式進行定義和部署:ide
· 初級見證佈局
· 次級見證性能
· 打破平局見證spa
初級見證:至少須要羣集中 (2 * FTT) + 1 節點以便能允許 FTT 節點/磁盤故障數。若是安裝了全部數據組件後,配置沒有得到所需的節點數,則初級見證將位於獨佔節點直到配置中有 (2*FTT)+ 1 個節點。設計
次級見證:建立次級見證的目的是確保每一個節點在仲裁時有相同的投票權。這點很重要,由於每一個節點故障都應對仲裁產生相同的影響。次級見證的添加應使每一個節點都得到相同的組件數,包括僅擁有初級見證的節點。所以,這一步驟使得每一個節點上的數據組件 + 見證組件的總數相同。
打破平局見證:若是在添加初級見證和次級見證以後,配置中的組件總數是偶數(數據 + 見證數),那麼,咱們須要添加一個打破平局見證,使組件總數變爲奇數。
我用兩個現實世界的情形來闡述上文所述的定義和邏輯,並解釋爲何要這樣安排見證組件:
情形 1:具備 511 GB VMDK 的虛擬機所允許故障數 1
注意:Virtual SAN 對象命名空間大小限制在每對象 255GB。大於 255GB 的對象將在主機之間進行平分。這解釋瞭如下兩個示例所展示出的特性,這些示例具備一個 RAID 1 組配置和多個鏈接式 RAID 0 組。
在此特定情形中只部署了 1 個見證,爲何?
在此特定情形中,全部 RAID 0 條帶都在不一樣的節點上。請仔細查看主機名稱。
爲何會這樣,這與上文所述的見證類型有什麼關聯?
在此情形中執行見證計算時,見證組件邏輯開始啓用,以下文所示:
· 初級見證:數據組件分佈在 4 個節點間(大於 2*FTT+1)。所以,咱們不須要初級見證。
· 次級見證:由於每一個參與配置的節點都只有一個組件,所以,咱們無需次級見證來平衡投票數。
· 打破平局見證:由於配置中的組件總數是 4,所以,咱們僅需一個打破平局見證。
情形 2:具備 515 GB VMDK 的虛擬機所允許故障數 1
在這一情形中部署了 3 個見證,爲何?
在此特定情形中,部分 RAID 0 條帶在相同節點上。請仔細查看主機名稱。組件配置採用下列方式進行分層:
· 2 個組件在節點 vsan-host-1.pml.local 上
· 2 個組件在節點vsan-host-4.pml.local 上
· 1 個組件在節點 vsan-host-3.pml.local 上
· 1 個組件在節點 vsan-host-2.pml.local 上
在此情形中執行見證計算時,見證組件邏輯開始啓用,以下文所示:
· 初級見證:數據組件分佈在 4 個節點間(大於 2*FTT+1)。所以,咱們不須要初級見證。
· 次級見證:由於兩個節點每一個都有 2 個投票,且 2 個節點每一個都只有一個投票,咱們須要在下列節點上添加一個投票(見證):
· vsan-host-3.pml.local
· vsan-host-2.pml.local
· 打破平局見證:添加了上述兩個見證後,配置中的組件總數爲 8(6 數據 + 2 見證),咱們須要一個打破平局見證,即第三個見證。
大多數狀況下,人們但願見證數取決於允許故障數策略(0 至 3)。實際上,見證數徹底取決於佈局組件和數據的方式,而非給定策略。
再次重申我在本博文之初所言,本行爲對於終端用戶是 100% 公開透明的,所以無需擔憂,由於此行爲由系統管控。
- 祝您愉快
歡迎在微博上關注我,這樣在我發佈博客文章後您就會收到通知,並可讓您瞭解更多有關 VMware 存儲的信息:@VMware中國
————————————————————————————————————————————
做者:Rawlinson
Rawlinson 現任 VMware 雲基礎設施技術營銷團隊資深技術營銷經理,主要從事存儲虛擬化技術工做。他曾擔任過架構師,主要致力於爲 VMware 的財富 100 強和 500 強客戶提供 vSphere 和雲企業架構。 Rawlinson 在 IT 行業已有 15年的從業經驗,在他的職業生涯中,主要負責設計、實施和維護基於 VMware、Microsoft 和其餘領先技術的大型物理網絡、服務器和雲架構。