Nutanix 軟體定義運算 AHV 容器 軟體定義儲存

開PC搞定多叢集監控管理 單叢集特殊組態再用PE

Nutanix叢集架構深入玩 動手部署Prism Central

2024-09-09
透過本文的深入剖析和實作演練後,管理人員除了能夠理解Prism Element叢集,和Prism Central管理平台之間的差異之外,也實際操作部署和註冊Prism Central管理平台,並在需要時也能夠取消註冊Prism Central管理平台。

在Nutanix叢集運作架構中,最重要的三大核心元件分別是AHV、AOS、Prism,其中AHV擔任軟體定義運算(SDC),也就是虛擬化平台的角色,負責運作屆時的虛擬主機(VM)或Pod/Container容器等工作負載,而AOS擔任軟體定義儲存(SDS)角色,負責將每台Nutanix節點主機的本地端儲存資源進行整合,達成HCI超融合運作架構,至於Prism則是管理這些運作架構和工作負載,也就是整體基礎架構的集中式管理平台,如圖1所示。

圖1  Nutanix叢集三大重要運作元件:AHV、AOS以及Prism。 (圖片來源:Nutanix Hybrid Cloud Fundamentals(NHCF))

Prism管理平台特色功能

事實上,Prism是一個分散式資源管理平台,幫助管理人員能夠維護管理和監控在Nutanix叢集中的各種物件和多項服務,無論Nutanix叢集是在企業和組織的地端資料中心或是雲端。在Prism管理介面的部分,GUI圖形方面採用新興的HTML 5 UI介面設計,在文字指令方面則是支援RESTAPI、CLI指令、PowerShell Cmdlets等方式,同時也支援管理Nutanix叢集中的工作負載、定義安全性政策、監控和分析工作負載等等,如圖2所示。

圖2  Prism運作架構示意圖。 (圖片來源:Prism Architecture | The Nutanix Cloud Bible(nutanixbible.com))

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所示。

圖3  Prism Service和Prism Leader運作架構示意圖。 (圖片來源:Prism Architecture | The Nutanix Cloud Bible(nutanixbible.com))

原則上,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管理平台,以便啟用和使用進階特色功能及服務。

圖4  管理單個叢集的PE和支援管理多個叢集的PC。 (圖片來源:Nutanix Hybrid Cloud Fundamentals(NHCF))

原則上,大部分的功能無論在PE或PC管理介面中都可以設定,然而還是有些服務或特色功能僅能在PE或PC管理介面中設定。舉例來說,每個Nutanix叢集的Virtual IP位址以及iSCSI Data Service IP位址,就只能在PE管理介面進行組態設定,而無法透過PC管理介面進行設定。

但是,某些進階特色功能就只能在PC管理介面進行啟用和組態設定,因為在PE管理介面中並沒有支援這些進階特色功能,譬如當企業購買的Nutanix軟體授權具備成本管理機制時,便能啟用和連接Xi Beam特色功能,進行Nutanix叢集的成本估算及花費分析,或是透過Planning Dashboard功能來分析目前和未來資源需求的使用趨勢,如圖5所示。

圖5  透過Planning Dashboard功能分析目前和未來資源需求的使用趨勢。 (圖片來源:Nutanix Hybrid Cloud Fundamentals(NHCF))

那麼對於管理人員來說何時該使用PE或PC管理介面?簡單的大原則就是,使用PC來管理和監控多個Nutanix叢集,在某些特殊工作任務需要時,才切換到PE管理介面進行單個叢集的組態設定作業。舉例來說,在平時維護管理Nutanix叢集架構中管理Clusters/Hosts/Disks時,一律使用PC管理介面進行維護作業,然而當需要增加Node節點主機擴充某個Nutanix叢集規模、修復Host Boot Device、組態設定Node節點主機進入維護模式等等這些特殊工作任務需求時,才切換到PE管理介面,如圖6所示。

圖6  透過PE管理介面處理特殊工作任務需求。 (圖片來源:Nutanix Hybrid Cloud Fundamentals(NHCF))

一般來說,Nutanix叢集的進階特色功能,通常也僅在PC管理介面中才能啟用和組態設定。例如,Acropolis Dynamic Scheduling(ADS)資源動態排程機制,能夠視虛擬主機和容器等工作負載情況,動態遷移至Nutanix叢集中其他Node節點主機,而Host Affinity原則也必須透過PC管理介面才能進行組態設定。此外,Calm、Karbon、Flow、Files等進階功能服務,也必須透過PC管理介面才能啟用和組態設定,如圖7所示。

圖7  透過PC管理介面啟用和組態設定進階功能服務。 (圖片來源:Nutanix Hybrid Cloud Fundamentals(NHCF))

實戰部署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所示。

圖8  在PE叢集部署PC之前,進行NCC健康狀態檢查作業。

當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所示。

圖9  選擇準備部署的PC版本。

在2 Scale type頁面中,選擇所要部署的PC規模,如圖10所示,分別是部署「單台」的PC虛擬主機或是「3台」PC虛擬主機,其中單台主機的PC管理平台,支援管理的虛擬主機數量為2,500~12,500台,而3台主機組成的PC管理平台則支援管理5,000~25,000台的虛擬主機。

圖10  選擇PC管理平台的運作規模。

事實上,這兩種運作規模的主要差異,除了支援管理的虛擬主機最大數量不同之外,另一個主要的差異點在於,企業組織是否需要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)服務。

圖11  選擇部署的PC虛擬主機Size大小。

選擇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〕按鈕。

圖12  組態設定PC網路組態和主機名稱。

在4 Summary頁面中,再次檢查相關組態設定,內容無誤後按下〔Deploy〕按鈕,系統便立即執行部署PC管理平台的工作任務。此時,回到PE首頁的Home Dashboard頁面中,可以看到Prism Central區塊的狀態為Deploying。切換到View All Tasks頁面中,會看到Download and deploy Prism Central工作任務名稱正在執行,如圖13所示,包含工作任務開始的時間、進度百分比、持續時間等等資訊,並且有2個子工作任務執行中,可以按下Details繼續查看相關子工作任務內容和進度。

圖13  系統開始部署Prism Central管理平台。

事實上,整個部署的工作任務非常多,有興趣的管理人員可以逐一展示,舉例來說,展開後可以發現兩個子工作任務,分別是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所示。

圖14  系統提示部分管理功能將轉換為唯讀模式。

在2 Configuration頁面中,鍵入PC管理平台的IP位址或FQDN,並輸入連線通訊埠9440,以及PC管理平台的管理帳號和密碼,確認無誤後按下〔Connect〕按鈕,如圖15所示,系統將立即把目前的PE叢集註冊至PC管理平台中。

圖15  註冊目前的Prism Element叢集至Prism Central管理平台中。

值得注意的是,倘若先前部署好PC管理平台後,並未登入管理介面變更預設管理密碼的話,那麼這裡即便鍵入正確的預設管理密碼,仍會發生無法註冊連接至PC管理平台的情況。

一旦成功將PE叢集註冊至PC管理平台,在PE管理介面中便會看到Prism Central區塊狀態為Connected,並顯示PC管理平台的IP位址。按下Launch連結後,系統將會開啟PC管理平台登入畫面,如圖16所示。同一時間,PE叢集和PC管理平台之間,將會開始進行資料同步作業,將PE叢集中「過去90天」內相關的運作資料和效能數據都進行同步。

圖16  成功將PE叢集註冊至PC管理平台。

成功登入PC管理平台後,可以看到納入管理的ntnx-cluster叢集資訊,如圖17所示,由於目前的PC管理平台只有管理單一ntnx-cluster叢集,倘若日後管理多個叢集時,將會一次顯示多個Nutanix叢集的相關運作資訊。

圖17  從PC管理介面中監控並管理PE叢集。

將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所示。

圖18  將PE叢集從PC管理平台中取消註冊。

接著,分別在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所示。

圖19  清理PE叢集中有關PC管理平台的資料。

值得注意的是,從新版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。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!