本文將示範如何部署Foundation VM主機,並針對大量部署的Nutanix叢集及節點主機,詳細解說每個組態設定的意義,以及當需要大量鍵入IP位址時,怎樣善用系統提供的工具快速且大量鍵入以減少人為錯誤,幫助企業輕鬆完成大量主機的部署作業。
在HCI超融合運作架構中,由於每台叢集節點主機通常直接擔任運算和儲存資源的角色,所以當企業組織在部署時經常需要直接部署大量的叢集節點主機,因此Nutanix官方便提供了Foundation部署機制,能夠協助管理人員進行部署作業,如圖1所示。
圖1 Nutanix Foundation運作架構示意圖。 (圖片來源:Foundation Imaging Architecture | The Nutanix Cloud Bible)
部署Foundation VM
原則上,Foundation VM支援部署至許多環境,本文將以部署至VMware vSphere/vSAN環境為例做示範,先至官網下載適用的Foundation VM映像檔。
下載完成後,連接至vCenter管理介面,再依序點選「Cluster > Deploy OVF Template」。接著,在Deploy OVF Template頁面中點選「Local file > UPLOAD FILES」,選擇剛才下載的Foundation VM映像檔,其他組態設定則依據運作環境選擇即可,最後進行確認,正確無誤就按下〔FINISH〕鈕以執行匯入動作。
在預設情況下,匯入後的Foundation VM在虛擬硬體方面配置為「1 vCPU、4GB vMemory」,可以依照需求做調整,例如調整為4 vCPU、16GB vMemory後,將Foundation VM開機,使用預設管理帳號「nutanix」和密碼「nutanix/4u」。順利登入後,可以查看作業系統版本資訊為Rocky Linux v8.7和預設DHCP網路組態,如圖2所示。
圖2 查看Foundation VM系統資訊和網路組態。
然後,依序點選「System > Preferences > Internet and Network > Advances Network Configurations > Wired connection 1」,再組態設定IP address、Netmask、Gateway、DNS servers、Search domains。完成後使用指令「sudo reboot」,重新啟動主機以便套用生效。
確認Foundation VM的網路組態設定完成後,便可以開啟瀏覽器至Foundation Web(Port 8000),準備部署Nutanix Cluster環境。
升級Foundation版本
隨著時間和版本的演進,部署的Foundation VM也需要更新升級相關的版本。
事實上,部署後的Foundation主機,倘若網路環境是可以順利連接至網際網路的話,那麼系統就會自動檢查版本,並且在登入Foundation GUI圖形介面後,提醒管理人員是否要進行版本升級的工作任務。
舉例來說,按下〔Show Update〕鈕後,系統顯示目前的版本為Nutanix Foundation v5.7.1,而最新版本是Nutanix Foundation v5.9.0.2。在本文實作環境中,由於Foundation主機可以碰觸網際網路,所以直接點選「Update」即可,系統會提醒下載更新檔大小為1.5GB,如圖3所示。
圖3 自動下載並更新Foundation版本。
如果企業的Foundation主機無法碰觸網際網路,可以預先下載Foundation更新檔,再點選「Browse」,手動上傳更新檔。
一旦更新程序完畢,系統會提示無須重新啟動Foundation主機,可立即使用。重新整理網頁後,可以發現已經順利地將Nutanix Foundation v5.7.1升級為Nutanix Foundation v5.9.0.2。
刪除錯誤的映像檔
如果發現上傳至Foundation VM的AOS或AHV部署映像檔不知何故發生毀損,在Foundation GUI圖形介面中也無法刪除它,即便再次上傳也無法覆蓋掉,並且系統顯示無法掃描部署映像檔,就請移除損壞的部署映像檔,如圖4所示。
圖4 上傳的部署映像檔損壞無法使用。
一旦發生這種情況時,先透過SSH登入至Foundation VM,再切換至下列AOS或AHV路徑,將損壞的部署映像檔刪除,然後切換回Foundation GUI圖形介面再次上傳即可:
‧AOS映像檔儲存路徑:/home/nutanix/foundation/nos
‧AHV映像檔儲存路徑:/home/nutanix/foundation/isos/hypervisor/kvm/
實戰部署最新AOS 7
事實上,透過Foundation部署Nutanix HCI超融合環境有兩種方式。第一種方式是管理人員可以在開始進行部署作業之前,先行登入至「install.nutanix.com」網頁,按下〔Add New〕鈕,如圖5所示,接著依據系統指示進行組態設定,匯出「Node Configuration」部署設定檔,待連線至Foundation GUI圖形介面時,只要執行匯入組態設定檔的動作即可。
圖5 先行組態設定並匯出部署設定檔,方便後續自動部署。
第二種方式則是直接連線至Foundation GUI圖形介面,再一步一步依據系統指示,進行Nutanix HCI超融合環境的部署作業,本文的實戰演練便是採用這種方式進行部署。
部署前注意事項
在開始執行部署作業之前,管理人員應先再次確認企業組織規劃採用的Nutanix AHV和CVM的IP位址,以及x86伺服器的IPMI遠端管理IP位址,請勿使用「192.168.5.0/24」網段,因為這是Nutanix AHV和CVM預設內部溝通的IP位址,請避免使用這個網段,雖然可以透過不同的VLAN進行邏輯隔離的動作,但仍不建議使用,因為很有可能會造成後續故障排除上的困擾。
全新部署Nutanix叢集
在本文實作環境中,已經為Foundation VM部署主機,組態設定IP位址和FQDN名稱。開啟瀏覽器後鍵入「http://foundation.lab.weithenn.org:8000/gui/index.html」,即可看到Nutanix Foundation部署頁面,如圖6所示。
圖6 Foundation部署頁面,填入新部署組態設定資料。
首先,在Start頁面中預設便會顯示全新部署的頁面,在Create Deployment區塊中,選項1的部分,便是先前提到的第一種部署方式,管理人員先行登入至「install.nutanix.com」網頁,產生部署設定檔時,只要在此頁面點選「import the configuration file.」選項,然後匯入預先準備好的部署設定檔,系統便會立即執行全自動的部署工作任務。
在選項2硬體平台的部分,可以在下拉式選單中選擇採用的硬體伺服器品牌,本次採用Dell XC660-12N硬體伺服器,所以選擇「Dell」選項,此舉會影響後續部署時採用的IPMI遠端管理協定,例如針對Dell伺服器採用iDRAC進行遠端連接,而針對HPE伺服器則採用iLO進行遠端連接的工作任務。在Port通訊埠方面,則以TCP Port 443和TCP/UDP Port 623進行溝通,有關Foundation通訊埠的詳細資訊,可參考Foundation Ports and Protocols | Nutanix Support & Insights文章內容。
在選項4為CVM啟用RDMA Passthrough功能的部分,必須x86伺服器採用Mellanox網路卡,例如CX-4、CX-5、CX-6才支援啟用RDMA Passthrough功能。在選項5為叢集節點主機選擇LACP或LAG的網路設定,選用「None」選項,就表示使用「Active/Passive」的網路卡小組設定。
在Nutanix叢集架構中,AHV和CVM必須處於同一段網路環境,因此在選項6中填入為AHV和CVM規劃的VLAN ID,並在選項7中鍵入AHV和CVM的子網路遮罩和預設閘道IP位址。至於選項8,則是填入IPMI遠端管理的子網路遮罩和預設閘道IP位址,這部分便不強硬規定要與AHV和CVM同網段。
倘若Nutanix叢集網路已經規劃完畢,在選項9的部分,只須勾選「Skip this validation」選項,不必讓系統在安裝前再次進行網路環境驗證後才真正執行安裝程序,能夠有效節省不必要的網路環境檢查和驗證時間。
指定IP位址和主機名稱
在部署第二階段Nodes頁面中,主要為Dell伺服器指定IPMI遠端管理IP位址,以及叢集節點主機的AHV和CVM IP位址,以及叢集節點AHV的主機名稱。由於Foundation GUI可以一次用於部署大量的叢集節點主機,所以有考量到部署的便利性。舉例來說,在右側的Tools下拉式選單中,選擇「Range Autofill」項目,此時只要在AHV IP第一個欄位鍵入IP位址,例如10.10.75.61,那麼系統便會自動填入並遞增IP位址,如圖7所示,並且此功能也適用於主機名稱,這對於部署大量主機時可以有效節省填寫時間,並減少人為輸入錯誤的情況發生。
圖7 組態設定叢集節點主機網路資訊。
值得注意的是,在AHV主機名稱的命名規則方面,最大字元長度支援至「64」個字元,並且主機名稱只能由「a-z, A-Z, 0-9」以及「-」和「.」組成,不支援其他特殊符號,並且主機名稱的開頭和結尾只能是英文字母或數字,否則在部署過程中將會遭遇錯誤而停止部署作業。
選擇AOS和Hypervisor版本
在部署第三階段AOS/Hypervisor頁面中,將會組態設定採用的AOS版本、設定CVM記憶體大小以及Hypervisor版本。
在AOS Installer區塊中,點選Upload New AOS Binary選項,選擇將AOS安裝檔案上傳至Foundation VM虛擬主機,本例上傳最新釋出的AOS 7.0.1.6,上傳完畢後系統會自動進行檢查作業,大約需要花費3至5分鐘時間,檢查作業完畢,點選Refresh Dropdown選項,然後在下拉式選單中就可以正確看到剛才上傳的AOS 7.0.1.6選項,如圖8所示。
圖8 上傳並使用最新釋出的AOS 7.0.1.6版本。
在CVM Memory Allocation選填欄位,管理人員在此部署階段可以略過,並且在Nutanix叢集部署完成之後,再依照需求調整CVM記憶體空間,或者在部署階段便一併設定即可。
值得注意的是,如同系統所提示最少應指派20GB記憶體空間給予CVM,主要原因在於Nutanix超融合叢集的核心便是CVM,所以CVM資源可用度將會直接影響Nutanix超融合叢集的效能表現。舉例來說,如果叢集使用到Redundancy Factor 3的保護機制時,那麼最少應給予CVM 40GB記憶體空間,使用到RDMA機制時至少應給予CVM 48GB記憶體空間,倘若使用到iSER,至少應給予CVM 64GB記憶體空間。詳細資訊請參考AOS 7 - Controller VM(CVM)Specifications文章內容,或Nutanix KB-17871知識庫文章。
在Hypervisor Type部分,選擇企業組織所要採用的Hypervisor類型,在本文實作環境中,選擇Nutanix官方支援的Hypervisor「AHV」,接著點選下方Hypervisor Installer區塊中名稱為Upload New AHV Binary的選項,然後選擇與最新AOS 7.0.1.6搭配的AHV 10.0.1.1-15版本映像檔進行上傳作業。同樣地,上傳作業完成後,系統會自動進行映像檔內容檢查作業,一旦檢查作業完成,只要點選「Refresh Dropdown」,在下拉式選單中就會看到AHV 10.0.1.1-15選項可供選擇,如圖9所示。
圖9 選擇採用AHV並上傳AHV 10.0.1.1-15版本映像檔。
設定叢集資訊
在部署第四階段Cluster頁面中,將會組態設定叢集運作所需的必要資訊,倘若管理人員不希望在此階段組態設定叢集資訊,只要勾選「Skip Automatic Cluster Formation」選項,那麼系統便只會部署節點主機的部分,而不會組態設定叢集,後續必須登入CVM控制主機,再以指令的方式建立叢集。
預設情況下,CVM控制主機的網路流量,會與AHV Hypervisor以及客體VM虛擬主機的網路流量混合在一起,若希望將網路流量進行切開的話,則勾選「Enable CVM Network Segmentation」選項,並搭配實體網路配置和相關網路組態設定。
在Cluster Name欄位中,鍵入叢集名稱,本文實作為「ntnx-cluster」,同樣值得注意的是,叢集名稱與先前的AHV名稱命名規則相同,只能由「a-z, A-Z, 0-9」以及「-」和「.」組成,不支援其他特殊符號。
在Prism Central Registration部分,由於此部署作業為建立全新叢集,所以運作環境中並沒有任何Prism Central管理主控台存在,請選擇「I don’t want to register this cluster to a Prism Central」選項。
請注意!如果採用預設值「I want to register this cluster to a Prism Central」選項,但卻未填寫任何註冊Prism Central管理主控台資訊,雖然在組態設定階段中不會發生任何錯誤,然而後續實際執行部署作業時,將會因為找不到任何可以註冊Prism Central管理主控台資訊,導致部署作業失敗。
在CVM Timezone部分,可以選擇叢集節點主機所處位置的時區,本文實作環境為「(UTC+08:00) Asia/Taipei」,如圖10所示。
圖10 鍵入叢集名稱並選擇CVM時區。
或許有管理人員會困惑,為何只有組態設定CVM時區,而沒有設定AHV Hypervisor時區?簡單來說,在Nutanix叢集運作架構中,官方預設AHV Hypervisor並沒有額外的主機時區組態設定,而是直接採用「UTC」時區設定,所以後續若觀看AHV日誌內容時,必須記得AHV採用的時間為UTC世界協調時間。
在下方Cluster Fault Tolerance下拉選單中選擇想要部署的叢集容錯等級,相信管理人員對於過往的RF=2和RF=3部分已經熟悉,簡單來說,採用RF=2最少需要3台叢集節點主機,並且資料總共會有2份,因此可以承受1台叢集節點主機,或1個硬碟發生故障稱為「1N/1D」,採用RF=3最少需要5台叢集節點主機,資料總共會有3份,因此可以承受2台叢集節點主機,或2個硬碟發生故障稱為「2N/2D」。
然而,從AOS 7版本開始,新增一項全新的叢集容錯等級稱為「1N&1D」,採用RF=3,所以資料總共會有3份,但是只需要3台叢集節點主機即可建立,同時可以承受1台叢集節點主機,以及1個硬碟發生故障,如圖11所示。
圖11 AOS 7最新叢集容錯等級1N&1D。 (圖片來源:Nutanix AOS 7.0 で登場した「3ノード RF3」について - NutaNice Xperience)
簡而言之,採用最新叢集容錯等級1N&1D的優點,在於僅僅3台叢集節點主機即可建立,並且擁有類似RF=3的資料保護效果,然而必須注意的是,這個叢集容錯等級的最大限制在於最多僅支援3台叢集節點主機,無法再為叢集增加更多的叢集節點主機。
了解最新叢集容錯等級1N&1D後,管理人員欲選擇採用的話,在下拉式選單中選擇「rf3_adaptive (minimum 3 nodes, maximum 3 nodes required)」,在Cluster Virtual IP部分,倘若採用的Hypervisor為Hyper-V時為必填項目,採用ESXi或AHV時則為選填,本文實作環境為「10.10.75.50」。
至於NTP時間校對伺服器清單和DNS名稱解析伺服器清單,依照系統指示說明,填入IP位址或FQDN完整名稱,多筆記錄之間採用不同行做隔開而非使用逗點,如圖12所示。必須小心的是,這裡的NTP和DNS伺服器清單,將會直接組態設定給AHV和CVM使用。
圖12 組態設定叢集容錯等級、叢集虛擬IP位址、NTP和DNS伺服器清單。
叢集安全性設定
事實上,在過去舊版本的AOS部署流程中,並沒有叢集安全性設定的部分,而是當叢集部署作業完成後,當管理人員登入Prism Element管理介面時,系統會提示應該變更預設管理密碼。
由於本文採用最新AOS 7.0.1.6版本,所以在部署流程中可以針對登入CVM管理主機的nutanix管理帳號,在部署流程時便組態設定新的管理密碼,以避免管理人員部署叢集後,因為事務繁忙或其他原因忘記變更預設密碼,而導致可能發生的資安風險。
鍵入新的nutanix管理帳號登入密碼,如圖13所示,值得注意的是,在密碼的部分必須符合相關原則,例如最少需要鍵入8個字元的密碼,最多支援密碼長度至199個字元,並且密碼字元中不可能包含「ntnx」、「nutanix」、「password」等等敏感關鍵字。
圖13 鍵入新的nutanix管理帳號登入密碼。
在Cluster Lockdown部分,倘若遵循Nutanix安全性最佳建議作法的話,會建議啟用Cluster Lockdown機制,也就是系統將會關閉CVM和AHV的SSH連線存取機制,雖然將安全性提升至另一個高度,然而對於不熟悉Nutanix運作架構的管理人員來說,可能會造成無法管理叢集的困境。
因此,建議剛開始管理Nutanix叢集的管理人員,先不要啟用Cluster Lockdown機制,而下方允許SSH連線存取機制時,則可以選擇採用安全性較高的SSH加密金鑰,或是採用傳統密碼的連線方式進行登入,如圖14所示。
圖14 組態設定叢集是否啟用Cluster Lockdown機制和SSH連線方式。
IPMI遠端連線
在部署最後階段IPMI頁面中,管理人員必須鍵入三項叢集節點主機的IPMI遠端連線資訊,包括IPMI IP位址、IPMI管理帳號、IPMI管理密碼,如圖15所示。
圖15 填入叢集節點主機的IPMI遠端連線資訊。
同樣地,當部署的叢集節點主機數量龐大時,可以透過右側的Tools下拉選單來幫助自動填寫,不同的是,這個頁面是IPMI遠端連線資訊,所以在Tools下拉選單中,可以讓系統自動填寫主流x86伺服器的預設IPMI管理帳號及密碼,支援的品牌包括Dell、Lenovo、Cisco、HPE、Hitachi、Intel、NEC、Fujitsu等等。
填寫完畢,建議點選「Tools > Test your credentials」,讓系統使用填寫的IPMI遠端連線資訊,嘗試進行連線存取的動作,確保Foundation VM能夠正確透過IPMI遠端連線資訊,連線至每一台叢集節點主機,以便後續部署作業能夠順利進行。
開始部署叢集
一切事宜就緒後,按下〔Start〕鈕開始進行部署作業,系統首先會彈出提示訊息,提醒管理人員必須確保部署過程中,執行安裝作業的部署主機不可進入睡眠或待命狀態,按下〔Won’t Sleep〕鈕繼續。
如果是重新部署叢集,由於部署作業執行前,系統為了避免發生IP位址衝突的情況,所以會事先執行Ping相關IP位址的動作,此時會發現相關IP位址,例如組態設定的AHV、CVM等IP位址有回應的情況,為了避免錯誤操作的情況發生,系統會彈出警告訊息,說明相關IP位址有回應Ping的情況,管理人員是否確認並且忽略這個錯誤且繼續部署作業,按下〔Ignore and Re-image〕鈕,繼續執行部署作業。
現在,可以在Foundation圖形介面中看到系統開始執行部署作業,總共會有三個階段的部署作業,如圖16所示,可以點選「Show Details」,顯示每一台叢集節點主機的部署進度和狀態,以及叢集的部署進度和狀態。
圖16 開始執行叢集部署作業。
第一階段叢集節點主機部署作業完畢,就會自動進入第二階段叢集部署作業,第三階段註冊叢集至Prism Central的部分,因為是全新叢集部署,所以在部署流程中已經組態設定略過,因此第二階段部署完成之後,便會自動完成整個部署作業,如圖17所示。
圖17 順利完成叢集部署作業。
事實上,在部署過程中,每個叢集節點主機的最右側都會有Log選項,點擊後瀏覽器會自動另開新頁籤,內容便是部署作業的詳細流程,並且網頁內容會依照部署流程而自動更新,建議管理人員可以搭配觀看內容,除了理解部署過程和進度之外,一旦發生錯誤造成部署失敗時,也能夠了解在哪個環節出錯。
在部署叢集時,也可以點選Log選項,即時觀看叢集的部署過程和進度。當然,倘若發生部署失敗的情況,並且Log內容不易判讀時,管理人員可以下載日誌檔案後,至Nutanix支援網頁開啟技術支援,然後將下載的部署失敗日誌進行上傳,交由Nutanix支援人員進行判讀,幫忙找出問題發生的原因。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>