今晚我讀到一篇很是有趣的 VSAN 相關知識庫文章知識庫文章2073930,其中提到:要支持 16 個節點以上的 VSAN 羣集,必須配置 ESXi 高級設置。這篇文章的措辭有點混亂,一下子說必須將高級設置應用到全部主機,過會兒又說僅應將高級設置應用到「額外的」主機。我聯繫了工程部門並得到確認說,高級設置應該應用到全部 ESXi 主機,該知識庫文章相關內容很快會獲得修正。應用此設置後還需重啓 ESXi 主機,才能使更改後的設置生效。node
咱們所說起的高級設置名爲CMMDS.goto11,可經過運行下列 ESXCLI 命令來檢查其當前值:git
esxcli system settings advanced list -o /CMMDS/goto11github
下列 ESXCLI 命令可配置所需的設置(默認值爲 0):架構
esxcli system settings advanced set -o /CMMDS/goto11 -i 1app
默認禁用此設置是由於它確實會佔用少許內存,每一個 ESXi 主機佔用約 150MB 不到。儘管佔用量極少,可是 VSAN 工程師但願以更小的 VSAN 部署得到業界普遍承認,且無需沒必要要的額外資源。我認爲,若是您計劃將來將 VSAN 羣集擴展至 16+ 節點以上並且可以承擔額外的內存開銷,那麼,我建議您在默認配置中啓用此設置,以避免之後再執行相關操做。若是不啓用,您之後也可隨時設置,但就是比較麻煩,您知道的:)ide
爲了幫助執行此改變,我建立了兩個腳本:vSphere SDKfor Perl 和 PowerCLI,它們可爲 VSAN 羣集中的全部 ESXi 主機自動配置此高級設置。測試
免責聲明:這些腳本僅用於參考和教育目的。在嘗試用於生產環境以前,請先進行完全測試。ui
您能夠經過如下連接下載 vSphere SDK for Perl 樣本腳本,名爲:enable16PlusVSANNodeSupport.plspa
下例說明如何運行此腳本:
./enable16PlusVSANNodeSupport.pl –servervcenter55-1.primp-industries.com –username root –cluster VSAN-Cluster
在兩個示例中,都僅需提供已啓用 VSAN 的 vSphere 羣集,腳本就會自動在全部 ESXi 主機中迴環運行,並確保CMMDS.goto11 設置爲 1。
最後,我想說說工程團隊關於 VSAN 的一些趣事。您可能已經注意到了,這些高級設置名爲「goto11」,這個名字曾讓我百思不得其解,不知工程師爲什麼如此命名。一開始,我覺得這個名字是表示二進制數「11」或者是「GoTo」的字面意思。最後的答案,請您經過此處連接的 YouTube 視頻來了解。感謝Dinesh Nambisan 分享這個精彩的小趣聞。不知道代碼中還隱藏着哪些有待發現的驚喜。
歡迎在微博上關注我,這樣在我發佈博客文章後您就會收到通知,並可讓您瞭解更多有關 VMware 存儲的信息:@VMware中國
————————————————————————————————————————————
做者:William Lam
現任 VMwareR&D 主管工程師,隸屬 SDDC 新興解決方案團隊的一員。目前,他在 VMware 公司從事原型設計,構建新解決方案並將其推向市場。他的工做主要側重於從 API 和 SDK 這兩個角度進行軟件定義的數據中心 (SDDC) 自動化以及 SDDC 通用集成和操做。他還與 VMware 內部的多個工程團隊緊密合做,幫助提供設計和架構方面的前期反饋。最後,經過客戶互動和反饋,他不斷應對客戶的挑戰、堅持知足客戶的需求,從而更好地改進 VMware 產品。