透過本文的深入剖析和實作演練後,管理人員除了能夠理解Prism Element叢集,和Prism Central管理平台之間的差異之外,也實際操作部署和註冊Prism Central管理平台,並在需要時也能夠取消註冊Prism Central管理平台。
在Nutanix叢集運作架構中,最重要的三大核心元件分別是AHV、AOS、Prism,其中AHV擔任軟體定義運算(SDC),也就是虛擬化平台的角色,負責運作屆時的虛擬主機(VM)或Pod/Container容器等工作負載,而AOS擔任軟體定義儲存(SDS)角色,負責將每台Nutanix節點主機的本地端儲存資源進行整合,達成HCI超融合運作架構,至於Prism則是管理這些運作架構和工作負載,也就是整體基礎架構的集中式管理平台,如圖1所示。
Prism管理平台特色功能
事實上,Prism是一個分散式資源管理平台,幫助管理人員能夠維護管理和監控在Nutanix叢集中的各種物件和多項服務,無論Nutanix叢集是在企業和組織的地端資料中心或是雲端。在Prism管理介面的部分,GUI圖形方面採用新興的HTML 5 UI介面設計,在文字指令方面則是支援RESTAPI、CLI指令、PowerShell Cmdlets等方式,同時也支援管理Nutanix叢集中的工作負載、定義安全性政策、監控和分析工作負載等等,如圖2所示。
Prism Services
事實上,在Nutanix叢集中,運作在每一台節點主機上的CVM主機都會運作Prism Service,並且系統會在眾多Prism Service中,自動透過選舉機制選出一台CVM主機擔任Prism Leader的角色,由Prism Leader來處理所有收到的HTTP Request。倘若其他台CVM主機中的Prism Service收到HTTP Request請求時,將會使用HTTP Respone Status Code 301機制,把HTTP Request請求流量重新導向至Prism Leader進行處理,如圖3所示。
原則上,Prism Service會Listen Port 80和9440,來回應使用者的HTTP Request請求流量,一旦收到HTTP Port 80的連線請求,系統會自動重新導向至加密連線的HTTPs Port 9440,也就是屆時Prism Element或Prism Central登入頁面。
此外,Prism Leader角色也同時負責Nutanix叢集外部IP位址的託管作業,如果運作Prism Leader的CVM主機故障,連帶導致Prism Leader角色故障時,系統會自動從叢集內還存活著的Prism Service中,再次透過選舉機制自動選出一台CVM主機擔任Prism Leader角色,繼續處理收到的HTTP Request,並接手及託管Nutanix叢集外部IP位址。然後,透過Gratuitous ARP(gARP)機制,清除網路環境中過時的ARP快取,確保新的Prism Leader能夠無縫接手服務和HTTP Request請求流量。
如果管理人員希望能夠查詢在目前的Nutanix叢集中,哪一台CVM主機擔任Prism Leader角色時,可以先SSH登入任一台CVM主機,再執行「curl localhost:2019/prism/leader」指令,即可得知目前Prism Leader角色運作在哪一台CVM主機中。
Prism Element vs Prism Central
在Prism運作架構中,GUI圖形管理介面的部分,又區分為Prism Element(PE)和Prism Central(PC),這兩者之間簡單區別的方式,便是每個Nutanix叢集部署完成後,都將運作Prism Element(PE),而需要管理多個Nutanix叢集時,則必須透過Prism Central(PC)管理平台來達到集中和統一管理的目的,如圖4所示。當然,若是企業組織只有一個Nutanix叢集時,仍然可以部署PC管理平台,以便啟用和使用進階特色功能及服務。
原則上,大部分的功能無論在PE或PC管理介面中都可以設定,然而還是有些服務或特色功能僅能在PE或PC管理介面中設定。舉例來說,每個Nutanix叢集的Virtual IP位址以及iSCSI Data Service IP位址,就只能在PE管理介面進行組態設定,而無法透過PC管理介面進行設定。
但是,某些進階特色功能就只能在PC管理介面進行啟用和組態設定,因為在PE管理介面中並沒有支援這些進階特色功能,譬如當企業購買的Nutanix軟體授權具備成本管理機制時,便能啟用和連接Xi Beam特色功能,進行Nutanix叢集的成本估算及花費分析,或是透過Planning Dashboard功能來分析目前和未來資源需求的使用趨勢,如圖5所示。
那麼對於管理人員來說何時該使用PE或PC管理介面?簡單的大原則就是,使用PC來管理和監控多個Nutanix叢集,在某些特殊工作任務需要時,才切換到PE管理介面進行單個叢集的組態設定作業。舉例來說,在平時維護管理Nutanix叢集架構中管理Clusters/Hosts/Disks時,一律使用PC管理介面進行維護作業,然而當需要增加Node節點主機擴充某個Nutanix叢集規模、修復Host Boot Device、組態設定Node節點主機進入維護模式等等這些特殊工作任務需求時,才切換到PE管理介面,如圖6所示。
一般來說,Nutanix叢集的進階特色功能,通常也僅在PC管理介面中才能啟用和組態設定。例如,Acropolis Dynamic Scheduling(ADS)資源動態排程機制,能夠視虛擬主機和容器等工作負載情況,動態遷移至Nutanix叢集中其他Node節點主機,而Host Affinity原則也必須透過PC管理介面才能進行組態設定。此外,Calm、Karbon、Flow、Files等進階功能服務,也必須透過PC管理介面才能啟用和組態設定,如圖7所示。
實戰部署Prism Central
在開始部署PC管理平台之前,除了確保PE叢集運作正常外,也必須確保符合相關運作環境需求,否則可能會在部署PC管理平台期間遭遇到不可預期的錯誤,而導致部署作業中斷。
由於本文實作環境中建構的Nutanix叢集為Nutanix CE社群版本,所以無法直接下載Prism Central ISO映像檔,因此將會採用「1-Click Internet」方式來部署PC管理平台。在開始進行部署作業之前,須確保符合下列環境要求:
‧Nutanix叢集運作環境中,指定的預設閘道必須通訊正常,並且能到達網際網路。
‧確保PE叢集,與即將部署的Prism Central IP位址,其TCP連接埠(Port)2100通訊正常,並允許通訊流量通過不會被防火牆阻擋。
‧確保PE叢集中,CVM主機和即將部署的PC主機處於相同VLAN網路環境,若未處於相同VLAN網路環境時,必須確保Layer 3路由機制運作正常,並且過程中通訊流量不會被防火牆所阻擋。
‧不可以將重複的IP位址指派給即將部署的PC管理平台使用。
‧部署PC管理平台的Storage Container儲存資源,必須確保叢集中所有的AHV虛擬化平台已經順利掛載。
NCC健康狀態檢查
在正式部署PC管理平台之前,必須確保Nutanix叢集健康狀態。使用admin管理帳號,登入PE管理介面,然後依序點選「Health > Actions > Run NCC Checks」項目,在彈出的Run Checks視窗中,點選All Checks項目,並勾選Send the cluster check report in the email選項,然後按下〔Run〕按鈕進行NCC健康狀態檢查作業,如圖8所示。
當NCC健康狀態檢查作業完成後,確保檢查項目中Error或Failed欄位數字為0,才進行PC管理平台部署作業,否則必須先解決相關錯誤或失敗等問題,避免在Nutanix叢集不健康的狀態下部署PC管理平台。
部署Prism Central管理平台
回到PE首頁,在Home Dashboard頁面中,可以看到Prism Central區塊的目前狀態為「Not registered」,表示目前的PE叢集尚未受到任何PC管理平台連接及納入管理。
點選下方的「Register or create new」選項,準備部署PC管理平台,在彈出的Prism Central視窗中將有二個區塊可供選擇,倘若環境中早已經部署PC管理平台,那麼只要按下〔Connect〕按鈕,即可組態設定PC管理平台,連接並管理此PE叢集。
本文實作環境是全新運作環境,並沒有部署任何的PC管理平台,因此按下〔Deploy〕按鈕,進入PC管理平台部署程序。
在彈出的Prism Central Deployment視窗中,首先系統會顯示可供部署的PC版本,如果目前的PE叢集環境不允許網際網路連線的話,那麼必須預先下載Prism Central Metadata file(.json)以及Prism Central Installation Binary(.tar)檔案,然後在這裡進行上傳的動作,本文選擇採用的PC版本為「pc.2022.6.0.11」,接著按下〔Next〕按鈕,如圖9所示。
在2 Scale type頁面中,選擇所要部署的PC規模,如圖10所示,分別是部署「單台」的PC虛擬主機或是「3台」PC虛擬主機,其中單台主機的PC管理平台,支援管理的虛擬主機數量為2,500~12,500台,而3台主機組成的PC管理平台則支援管理5,000~25,000台的虛擬主機。
事實上,這兩種運作規模的主要差異,除了支援管理的虛擬主機最大數量不同之外,另一個主要的差異點在於,企業組織是否需要PC管理平台具備高可用性(High Availability)和彈性容錯(Resiliency)機制,因為部署3台主機組成的PC管理平台時,系統預設會使用RF2資料保護機制,也就是會額外再複寫一份資料至PC叢集中其他Node主機,確保PC管理平台的資料可用性。
值得注意的是,倘若企業一開始因為運作規模較小的關係,而選擇部署單台PC主機運作規模,後續隨著營運服務的擴大及專案的增長而運作更多虛擬主機,並需要擴大PC管理平台時,也無須重新部署PC管理平台,可以直接在PE管理介面中執行PC管理平台的水平擴充(Scale-Out)作業,將PC管理平台的運作規模,由原本的單台運作規模,線上水平擴充為具備高可用性和容錯機制的3台主機PC管理平台。
在3 Configuration頁面中,首先選擇PC主機的Size大小,共有三種不同的Size等級,分別是Small、Large、X-Large,如圖11所示,其中Large和X-Large都能管理最多12,500台虛擬主機的規模,但是X-Large因為配置更多的vCPU和vMemory運算資源,所以還能額外承載其他服務,例如ANC(Atlas Network Controller)服務。
選擇PC虛擬主機Size大小後,往下繼續組態設定其他配置,在Network下拉選單中選擇PC虛擬主機所要連接的vNetwork虛擬網路,在本文實作環境中,已經預先建立名稱為「PC-vNetwork」的vNetwork虛擬網路,並且子網路遮罩為「255.255.255.0」,預設閘道IP位址是「10.10.75.254」,使用的DNS名稱解析伺服器IP位址為「10.10.75.10」。
在Select a Container下拉式選單中,已經預先建立名稱為「PrismCentralContainer」的Storage Container儲存資源,最後在VM Name和IP欄位中,分別輸入PC的主機名稱以及IP位址,如圖12所示,確認無誤後按下〔Next〕按鈕。
在4 Summary頁面中,再次檢查相關組態設定,內容無誤後按下〔Deploy〕按鈕,系統便立即執行部署PC管理平台的工作任務。此時,回到PE首頁的Home Dashboard頁面中,可以看到Prism Central區塊的狀態為Deploying。切換到View All Tasks頁面中,會看到Download and deploy Prism Central工作任務名稱正在執行,如圖13所示,包含工作任務開始的時間、進度百分比、持續時間等等資訊,並且有2個子工作任務執行中,可以按下Details繼續查看相關子工作任務內容和進度。
事實上,整個部署的工作任務非常多,有興趣的管理人員可以逐一展示,舉例來說,展開後可以發現兩個子工作任務,分別是Prism Central Deployment和Software downloaded,再展開又可以看到Application Deployment和Tarball Extraction,再展開又有Post Deployment Steps、Cluster Creation、VM Deployment、Setup State Machine等等,本文實作環境共花費「1小時6分鐘」,完成PC管理平台的部署作業。
註冊Prism Central管理平台
此時,已經完成PC管理平台的部署作業,開啟瀏覽器鍵入「https://pc.lab.weithenn.org:9440」,連接至PC管理平台登入畫面,使用預設的管理帳號「admin」及預設的管理密碼「Nutanix/4u」。首次登入成功後,系統將會提示必須變更預設管理密碼,變更完成後即可切換回PE管理畫面,準備執行註冊PC管理平台的動作。
同樣地,Nutanix官方建議在正式註冊PC管理平台之前,必須先確保目前Nutanix叢集健康狀態。在PE管理介面中,依序點選「Health > Actions > Run NCC Checks」項目,在彈出的Run Checks視窗中,點選All Checks項目並勾選Send the cluster check report in the email選項,再按下〔Run〕按鈕進行NCC健康狀態檢查作業。
回到PE首頁,在Home Dashboard頁面中,在Prism Central區塊內,點選下方的「Register or create new」選項,準備將此Nutanix叢集註冊至PC管理平台,在彈出的Prism Central視窗中,目前已經部署完成PC管理平台,所以按下〔Connect〕按鈕準備執行註冊管理的動作。
在1 Connect info頁面中,系統會提醒一旦將PE註冊至PC管理平台後,有部分管理功能將會轉變為「唯讀模式(Read-Only Mode)」,但管理人員無須擔心,因為在PC管理平台中將具備完整權限,如圖14所示。
在2 Configuration頁面中,鍵入PC管理平台的IP位址或FQDN,並輸入連線通訊埠9440,以及PC管理平台的管理帳號和密碼,確認無誤後按下〔Connect〕按鈕,如圖15所示,系統將立即把目前的PE叢集註冊至PC管理平台中。
值得注意的是,倘若先前部署好PC管理平台後,並未登入管理介面變更預設管理密碼的話,那麼這裡即便鍵入正確的預設管理密碼,仍會發生無法註冊連接至PC管理平台的情況。
一旦成功將PE叢集註冊至PC管理平台,在PE管理介面中便會看到Prism Central區塊狀態為Connected,並顯示PC管理平台的IP位址。按下Launch連結後,系統將會開啟PC管理平台登入畫面,如圖16所示。同一時間,PE叢集和PC管理平台之間,將會開始進行資料同步作業,將PE叢集中「過去90天」內相關的運作資料和效能數據都進行同步。
成功登入PC管理平台後,可以看到納入管理的ntnx-cluster叢集資訊,如圖17所示,由於目前的PC管理平台只有管理單一ntnx-cluster叢集,倘若日後管理多個叢集時,將會一次顯示多個Nutanix叢集的相關運作資訊。
將PE叢集退出PC管理平台
在某些情況下,企業有可能會考慮將PE叢集從PC管理平台中退出(或稱為取消註冊Unregister),舉例來說,由於每個PE叢集只能被單一PC管理平台納入管理,如果企業因為規模擴大或專案需求而建立新的PC管理平台,那麼PE叢集便必須退出原有的PC管理平台後,才能加入並被新的PC管理平台所納管。
又或許是原有的PC管理平台,出於某種原因重新配置Prism Central VM主機的IP位址,那麼PE叢集便必須重新註冊和加入PC管理平台。
事實上,在AOS 5.5版本之前,管理人員可以在PE管理介面中,直接執行取消註冊至PC管理平台的工作任務。然而,從AOS 5.5版本開始和後續版本中,有關RBAC角色存取控制、應用程式管理、微分段安全性原則、PSS自助式服務等等,改為由PC管理平台統一組態設定和管理,一旦PE執行取消註冊的動作後,這些特色功能除了無法使用外,相關的組態設定內容也會自動刪除,即便後續再次註冊加入也必須重新組態設定才行,所以官方便將此功能刪除,以便降低和避免發生意外取消註冊的動作。有關PE叢集取消註冊的詳細資訊,請參考Nutanix KB-4944、KB-9736知識庫文章內容。
首先,透過SSH連線至PE叢集中任一台CVM主機,執行「cluster status」指令,確保所有叢集服務運作中並且健康狀態良好,執行「ncli multicluster remove-from-multicluster external-ip-address-or-svm-ips=10.10.75.30 username=admin password='' force=true」指令,將PE叢集從PC管理平台中取消註冊,接著執行「ncli multicluster get-cluster-state」指令,確認PE叢集取消註冊是否完成,此時在PE管理介面中,Prism Central區塊狀態退回之前Not registered,如圖18所示。
接著,分別在PE叢集和PC管理平台中,執行叢集資料清理的動作。首先,在PE叢集的CVM主機中,執行「ncli cluster info」指令,查詢Cluster UUID並複製後,SSH登入至PCVM主機中,執行「python /home/nutanix/bin/unregistration_cleanup.py uuid」指令,將PC管理平台中有關PE叢集的資料進行清理的動作,系統將顯示「Successfully completed cleanup actions for cluster」資訊。
同樣地,在PCVM主機中,執行「ncli cluster info」指令,查詢Cluster UUID並複製後,在PE叢集的CVM主機中,執行「python /home/nutanix/bin/unregistration_cleanup.py uuid」指令,將PE叢集中有關PC管理平台的資料進行清理並停止同步資料的動作,如圖19所示。
值得注意的是,從新版pc.2024.1和AOS 6.8版本開始,當PE叢集取消註冊並退出PC管理平台後,PE叢集將會自動進入「黑名單(blacklisted)」狀態,並且無法再次註冊到同一台或不同台PC管理平台中,主要原因在於從Prism Central 2024.1版本開始,新增「PE退役(PE Decommissioning)」機制。倘若希望能再次恢復成可註冊狀態,必須連絡Nutanix技術支援才能解決,詳細資訊請參考Nutanix KB-15679知識庫文章。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>