Nutanix 叢集架構深入玩,動手部署 Prism Central | 網管人 224 期



網管人雜誌

本文刊載於 網管人雜誌第 224 期 - 2024 年 9 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。





本文目錄






前言

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

圖 1、Nutanix 叢集三大重要運作元件 AHV/AOS/Prism





Prism 管理平台特色功能

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

圖 2、Prism 運作架構示意圖



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 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

原則上,大部份的功能,無論是在 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 功能分析目前和未來資源需求的使用趨勢

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

圖 6、透過 PE 管理介面處理特殊工作任務需求

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

圖 7、透過 PC 管理介面啟用和組態設定進階功能服務





實戰 – 部署 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 管理平台,支援管理的 VM 虛擬主機數量為 2,500 - 12,500 台,而 3 台主機組成的 PC 管理平台,則支援管理 5,000-25,000 台的 VM 虛擬主機。

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

事實上,這兩種運作規模的主要差異,除了支援管理的 VM 虛擬主機最大數量不同之外,另一個主要的差異點在於,企業和組織是否需要 PC 管理平台,具備高可用性(High Availability)和彈性容錯(Resiliency)機制,因為部署 3 台主機組成的 PC 管理平台時,系統預設會使用 RF2 資料保護機制,也就是額外會再複寫一份資料,至 PC 叢集中其它 Node 主機,確保 PC 管理平台的資料可用性。

值得注意的是,倘若企業或組織,一開始因為運作規模較小的關係,而選擇部署單台 PC 主機運作規模,後續隨著營運服務的擴大專案的增長,而運作更多 VM 虛擬主機,並需要擴大 PC 管理平台時,也無須重新部署 PC 管理平台,可以直接在 PE 管理介面中,執行 PC 管理平台的水平擴充(Scale-Out)作業,將 PC 管理平台的運作規模,由原本的單台運作規模,線上水平擴充為具備高可用性和容錯機制的 3 台主機 PC 管理平台。

在 3 Configuration 頁面中,首先選擇 PC 主機的 Size 大小,共有三種不同的 Size 等級,分別是 Small、Large、X-Large(如圖 11 所示),其中 Large 和 X-Large 都能管理,最多 12,500 台 VM 虛擬主機的規模,但是 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,並鍵入連線通訊埠 Port 9440,以及 PC 管理平台的管理帳號及密碼,確認無誤後按下 Connect 鈕(如圖 15 所示),系統將立即把目前的 PE 叢集,註冊至 PC 管理平台中。

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

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

一旦成功將 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-4944KB-9736 知識庫文章內容。

首先,請透過 SSH 連線至 PE 叢集中任一台 CVM 主機,執行「cluster status」指令,確保所有叢集服務運作中並且健康狀態良好,請執行「ncli multicluster remove-from-multicluster external-ip-address-or-svm-ips=10.10.75.30 username=admin password='<Your_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 知識庫文章





結語

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