測試 Nutanix 社群版,實作超融合單節點叢集 | 網管人 218 期



網管人雜誌

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





本文目錄






前言

在 Gartner Report HCI 超融合魔力象限中,Nutanix 常年在 Leader 領導者象限中(如圖 1 所示),然而當企業和組織的管理人員,想要體驗 Nutanix 各項功能時,採用普通的 x86 硬體伺服器卻連安裝運作環境,都無法順利安裝成功。因此,在本文實戰演練小節中,將透過「巢狀式虛擬化」(Nested Virtualization)技術,讓 IT 預算不足的企業和組織,也能夠安裝部署和測試體驗 Nutanix 單節點叢集環境。

圖 1、2021 年發佈的 Gartner HCI 超融合報告





Nutanix CE 運作架構

HCI 超融合平台

在傳統三層式虛擬化架構中,雖然強大但是較為缺乏彈性。因此,在 Nutanix 運作架構中,便是直接針對更為彈性靈活的 HCI 超融合進行設計,值得管理人員注意的是,在每一台主機中都會有 AHV(Nutanix Acropolis Hypervisor)AOS(Nutanix Acropolis OS)CVM(Controller VM)等三個重要運作元件(如圖 2 所示)。

圖 2、傳統三層式架構轉換為 HCI 超融合架構示意圖

其中 AHV 是原生 Hypervisor 並專為 AOS 設計,除了擔任虛擬化基礎架構之外,也將實體伺服器的網路資源進行整合,而 AOS 則是運作在 CVM 主機之上的基礎作業系統,並將儲存 / 運算 / 網路等資源,整合至軟體定義基礎架構當中,其中 CVM 主機負責運作許多重要的叢集服務,例如,負責資料 I/O 的 Stargate、負責存取介面的 Zeus、分佈式 Matadata 儲存機制的 Cassandra、負責叢集組態設定管理的 Zookeeper……等(如圖 3 所示)。

圖 3、CVM 主機內運作許多重要的叢集服務示意圖



硬體需求

在 CPU 處理器運算資源方面,最少應配置 4 Cores 核心,其中有 2 Cores 核心將給予 CVM 主機使用,在記憶體資源的部份,建議至少 32GB 或更多,以便 AOS 的重複資料刪除或壓縮等儲存機制能順利運作。

在安裝硬碟方面,至少需要 1 顆 32GB 硬碟擔任 Hypervisor Boot Device,1 顆 200GB SSD 固態硬碟,擔任 Hot Tier 也就是屆時 CVM 主機安裝碟,另 1 顆 500GB 的 HDD 或 SSD 固態硬碟,擔任 Cold Tier 也就是屆時儲存資料的部份。



AHV 網路架構

在 AHV 網路架構的部份,可以看到運作 AOS 的 CVM 主機和 OVS(Open vSwitch),每台 AHV 都會運作一台 CVM,除了處理 I/O、UI、API 和升級等服務之外,並為其上運作的所有 VM 虛擬主機器提供所有 I/O 操作。

在 AHV 預設網路運作架構中,AHV 和 CVM 直接透過 Linux Bridge(virbr0/vnet1)網路介面互相溝通,AHV 預設採用 192.168.5.1 而 CVM 預設採用 192.168.5.2 位址,其中 CVM 則同時連接到 Linux Bridge virbr0 和 OVS br0,OVS 中的 br0 橋接器連接每台 VM 虛擬主機的 tap 網路介面,並透過 br0-up介面存取實體網卡和外部網路(如圖 4 所示)。






實戰演練 – Nutanix CE Single Node Cluster

建立巢狀式虛擬化環境

由於,本文實作環境,並非採用裸機方式直接安裝 Nutanix Hypervisor(如圖 5 所示),而是先在硬體主機中,透過傳遞硬體輔助虛擬化功能給予 VM 虛擬主機後,讓該台 VM 虛擬主機擔任 Guest Hypervisor,屆時再建立 Nested VM 虛擬主機,達成「巢狀式虛擬化」(Nested Virtualization)的測試環境。

圖 5、Hypervisor 運作示意圖

屆時 Nested VM 虛擬主機能否順利建立的關鍵,在於部署 Guest Hypervisor 虛擬主機時,硬體主機是否將硬體輔助虛擬化功能,傳遞給 Guest Hypervisor 虛擬主機。

在本次實作環境中,硬體主機的作業系統採用 Windows Server 2022,當然讀者也可以採用 Windows 10 或 Windows 11 進行實作,請在實作之前下載 Coreinfo 工具 ,並使用系統管理員權限開啟命令提示字元後,執行「Coreinfo64.exe -v」指令,即可看到硬體主機所支援的硬體輔助虛擬化功能,可以看到這台硬體主機支援 VMX 和 EPT 硬體輔助虛擬化功能(如圖 6 所示),並且目前沒有被任何 Hypervisor 佔用的情況,後續即可順利建立 Guest Hypervisor 虛擬主機。

圖 6、確認硬體主機是否支援 VMX 和 EPT 硬體輔助虛擬化功能



建立 Guest Hypervisor 虛擬主機

在硬體主機 Windows Server 2022 作業系統中,安裝 VMware Workstation Player 虛擬化軟體,在建立 Guest Hypervisor 虛擬主機的過程中,雖然簡單但是仍有些需要注意的部份,否則稍後安裝的 Nutanix CE 運作環境,將無法順利運作,或無法順利建立「單點主機叢集」(Single Node Cluster)。

或許,管理人員會有疑惑,為何不直接使用 Windows Server 2022,直接建構 Hyper-V 巢狀式虛擬化環境,來安裝和測試 Nutanix CE 環境? 主要原因,在於 Hyper-V 巢狀式虛擬化環境,安裝 Nutanix CE 的過程中,進行至 AHV Hypervisor 安裝作業時,將會因為網路卡驅動程式不支援的關係,導致安裝作業失敗。

開啟 VMware Workstation Player 虛擬化軟體後,點選 Create a New Virtual Machine 後,選擇載入 Nutanix CE ISO 映像檔,在選擇客體作業系統時,請選擇 Linux 選項中的「CentOS 7 64-bit」項目(如圖 7 所示),稍後安裝完成後,管理人員可以看到 Nutanix AHV 和 CVM,皆採用 CentOS 7.9 作業系統版本。

圖 7、選擇採用 CentOS 7 64-bit 作業系統版本

接著,組態設定 Guest Hypervisor 虛擬主機名稱和儲存路徑,在指派硬碟空間時,請將預設值 20GB 調整為 50GB 儲存空間,屆時此空間將會安裝 AHV Hypervisor 使用,最後按下 Finish 鈕建立 Guest Hypervisor 虛擬主機。

建立後,請點選 Edit virtual machine settings 鈕,在記憶體的部份由預設的 1GB,調整為 64GB 記憶體空間,在 CPU 處理器的部份,由預設的 1 Core 調整為 8 Cores,值得注意的是請記得勾選「Virtualize Intel VT-x/EPT or AMD-V/RVI」項目(如圖 8 所示),確保硬體主機的硬體輔助虛擬化功能,能夠傳遞給 Guest Hypervisor 虛擬主機,並額外新增 2 顆硬碟,1 顆為 200GB 屆時為安裝 CVM 也就是 Hot Tier 的部份,另 1 顆為 500GB 屆時為 Cold Tier。

圖 8、確保傳遞硬體輔助虛擬化功能給 Guest Hypervisor 虛擬主機

組態設定後,先別急著開機進入安裝程序,請使用系統管理員權限開啟 Notepad 筆記本,修改 Guest Hypervisor 虛擬主機的「.vmx」組態設定檔,加上「disk.EnableUUID = "TRUE"」參數值,確保指派給硬碟 Serial Number,否則稍後的安裝程序中,可以看到硬碟並沒有顯示 Serial Number(如圖 9 所示),這將會導致後續啟動叢集服務時,在啟動 Medusa 服務時將會卡住並產生錯誤,造成 Nutanix 叢集無法順利啟動。

圖 9、未指派硬碟 Serial Number 給 Guest Hypervisor 虛擬主機



安裝 Nutanix AHV 虛擬化平台

在安裝 Nutanix CE 擔任 Guest Hypervisor 虛擬主機之前,管理人員必須預先準備「2 個」IP 位址,稍後在安裝程序中將會進行指定,第 1 個 IP 位址為底層 AHV Hypervisor 使用,第 2 個 IP 位址則是 CVM 使用。值得注意的是,由於 Nutanix CE 預設會使用「192.168.5.0/24」網段,所以請避開使用這個網段。

開機並通過硬體檢測程序後,首先,請選擇 Hypervisor 採用預設的 AHV,或是採用 ESXi 虛擬化平台,在安裝硬碟的部份,可以看到系統預設已經自動選取 50GB 硬碟空間為 Hypervisor Boot 使用,至於 CVM 或 Data 的硬碟空間則可能發生選擇錯誤的情況,倘若系統自動選擇錯誤時,管理人員可以選擇至正確的硬碟空間按下 C 或 H 進行切換。同時,也可以看到 3 個安裝硬碟,皆有指派 Serial Number 更貼近模擬成實體主機的運作型態。

確認安裝硬碟的組態配置後,接著組態設定 AHV 和 CVM 的 IP 位址,以及網路遮罩和預設閘道。值得注意的是,是否勾選「Create single-node cluster」選項(如圖 10 所示),取決於管理人員的測試需求,舉例來說,倘若勾選此選項後,那麼系統建立叢集後將會鎖定,後續即便有其它 Nutanix Node 節點主機,也無法加入這個 Single-Node Cluster 內,此外勾選此選項後,系統將會自動建立 RF2 Storage 儲存空間,簡單來說,現有儲存空間將會降低一半。

圖 10、安裝 Nutanix CE Guest Hypervisor 並組態設定 AHV 和 CVM IP 位址

組態設定完畢後,選擇 Next Page 後,到 Nutanix CE EULA 使用者授權條款頁面,請使用上下箭頭或 Page Up/Page Down 鈕,閱讀完 EULA 使用者授權條款頁面內容,然後勾選「I accept the end user license agreement」項目後,選擇 Start 即可立即進行安裝。

值得注意的是,在 EULA 使用者授權條款頁面中,必須閱讀完所有的使用者授權條款內容,倘若未閱讀完內容,便按下 Start 立即進行安裝程序的話,那麼系統將會在安裝程序至一半時,出現錯誤並停止安裝,可以看到系統提示必須重新回到 EULA 使用者授權條款頁面,閱讀完所有的內容後才能繼續安裝程序(如圖 11 所示)。

圖 11、未閱讀完 EULA 使用者授權條款內容造成安裝程序中斷

順利安裝一段時間並完成安裝程序後,系統將會提示退出安裝映像檔,並鍵入 Y 重新啟動主機以便套用生效(如圖 12 所示)。


圖 12、安裝完畢並重新啟動主機



查詢 AHV 和 CVM 運作資訊

重新啟動後,管理人員可以從 Guest Hypervisor 虛擬主機的 Console 登入,或是透過 SSH Client 登入 AHV Hypervisor 系統。在登入系統之前,先了解相關管理者登入帳號和密碼,以便稍後登入進行管理作業:
  • AHV: SSH 登入、管理帳號 root、管理密碼 nutanix/4u 。
  • CVM: SSH 登入、管理帳號 nutanix、管理密碼 nutanix/4u 。
  • Prism Element: Web 登入、管理帳號 admin、管理密碼 nutanix/4u 。

無論透過 Console 或 SSH 登入 AHV Hypervisor 之後,管理人員可以透過「cat /etc/nutanix-release」和「cat /etc/centos-release」指令,分別查詢 Nutanix CE 版本,和採用 CentOS 7.9 作業系統版本。同時,執行「virsh list」指令,查詢運作於 AHV Hypervisor 之上的 CVM 運作狀態,一開始 CVM 運作狀態為「paused」,也就是 CVM 在啟動中並尚未開機完成,這時也無法 ping 到 CVM IP 位址,經過一段時間後 CVM 運作狀態會轉變為「running」,此時就可以 ping 到 CVM IP 位址(如圖 13 所示)。

圖 13、查詢 AHV 版本資訊和 CVM 啟動狀態

也可以在 AHV 執行「ip a」或是「ip -c -br a」指令,查看 AHV Hypervisor 使用的 IP 位址資訊,可以看到「br0」介面,使用剛才安裝程序中組態設定的「10.10.75.30」位址,而和 CVM 溝通的「virbr0」介面,則是使用系統預設的「192.168.5.1」位址(如圖 14 所示),這也是一開始提醒管理人員,請勿使用 192.168.5.0/24 系統預設網段的原因。

圖 14、查詢 AHV Hypervisor 網路組態資訊

確認 CVM 啟動成功後,管理人員同樣可以透過 SSH 登入 CVM 主機,執行「cat /etc/centos-release」指令,查詢到使用的 CentOS 7.9 作業系統版本,以及「ip -c -br a」指令查詢 CVM 網路組態,可以看到「eth0」介面,使用剛才安裝程序中組態設定的「10.10.75.31」位址,而「eth1」介面則使用系統預設的「192.168.5.2」和「192.168.5.254」位址(如圖 15 所示)。

圖 15、查詢 CVM 作業系統版本和網路組態資訊



部署並啟動 Single-Node Cluster

確認 AHV 和 CVM 網路組態設定無誤後,由於是部署單一節點的叢集,所以在「資料可用性」(Data Resiliency)的部份,只能搭配「--redundancy_factor=1」參數,等同於是沒有資料保護的情況,必須部署多節點的叢集才能提升參數值,增加資料可用性。

請切換到 CVM 主機,執行「cluster -s 10.10.75.31 --redundancy_factor=1 create」指令,部署和啟動叢集的動作,需要等待一段時間才能完成。同時,在過程中可以看到相關服務逐步啟動中,而整個叢集的指揮中心名稱為 ZeusLeader,一旦所有服務順利啟動後,系統將的出現「INFO MainThread cluster:3104 Success!」訊息,表示單一節點的 Nutanix 叢集已經部署和啟動完成(如圖 16 所示)。倘若,管理人員後續需要確認叢集狀態時,執行「cluster status」指令即可進行確認。

圖 16、部署和啟動單一節點 Nutanix 叢集



叢集基礎設定

雖然單點叢集已經部署和啟動完成,但預設情況下系統並未組態設定叢集名稱,執行「ncli cluster info」指令後,可以查詢單點叢集的相關資訊,可以看到在 Cluster Name 的欄位值為「Unnamed」,請執行「ncli cluster edit-params new-name=ntnx-cluster」指令,組態設定單點叢集的名稱為「ntnx-cluster」,執行「ncli cluster set-external-ip-address external-ip-address="10.10.75.35"」指令,組態設定單點叢集的 VIP(Virtual IP)位址(如圖 17 所示)。

圖 17、組態設定單點叢集的名稱 ntnx-cluster 和 VIP 位址

預設情況下,叢集採用的 DNS 名稱解析伺服器,為網際網路上的「8.8.8.8 和 8.8.4.4」。在本文實作環境中,內部使用的 DNS 名稱解析伺服器為「10.10.75.10」,在組態設定之前,請先執行「nc -zv 10.10.75.10 53」指令,確認 CVM 能夠和即將指定的 DNS 名稱解析伺服器進行溝通。

確認和 DNS 名稱解析伺服器溝通無誤後,執行「ncli cluster add-to-name-servers servers="10.10.75.10"」指令,組態設定叢集節點中 CVM 和 AHV 的 DNS 名稱解析伺服器。此時,可以發現預設的「8.8.8.8 和 8.8.4.4」DNS 名稱解析伺服器仍存在,請執行「ncli cluster remove-from-name-servers servers="8.8.8.8,8.8.4.4"」指令,移除預設的 DNS 名稱解析伺服器,最後執行「ncli cluster get-name-servers」指令,再次確認目前叢集的 DNS 名稱解析伺服器組態設定(如圖 18 所示)。

圖 18、組態設定叢集節點中 CVM 和 AHV 的 DNS 名稱解析伺服器

預設情況下,單點叢集的時區組態設定值為「UTC 格林威治標準時間」,執行「ncli cluster info | grep Timezone」指令,可以查詢目前單點叢集的時區組態設定,執行「timedatectl list-timezones | grep Asia/Taipei」指令,先確認系統是否支援「UTC+8」的「Asia/Taipei」台北時區。

確認系統支援台北時區後,執行「ncli cluster set-timezone timezone= "Asia/Taipei"」指令,組態設定單點叢集為台北時區後,系統會詢問是否要套用新的時區設定,請鍵入 y 確認進行變更,系統將會提示必須重新啟動 CVM,或是重新啟動叢集所有服務才能完全套用生效,請再次執行「ncli cluster info | grep Timezone」指令,先確認時區設定是否套用生效(如圖 19 所示)。詳細資訊請參考 Nutanix KB1050 知識庫文章

圖 19、組態設定單點叢集的時區組態設定為台北時區(UTC+8)

預設情況下,叢集採用的 NTP 時間校對伺服器,為網際網路上的「1.pool.ntp.org 和 0.pool.ntp.org」。在本文實作環境中,內部使用的 NTP 時間校對伺服器為「10.10.75.10」,在組態設定之前,請先執行「nc -zv 10.10.75.10 -u 123」指令,確認 CVM 能夠和即將指定的 NTP 時間校對伺服器進行溝通。值得注意的是,nc 指令預設情況下會採用 TCP 通訊協定,但 NTP 時間校對伺服器必須採用 UDP 通訊協定進行溝通,所以必須加上「-u」參數。

確認和 NTP 時間校對伺服器溝通無誤後,執行「ncli cluster add-to-ntp-servers servers="10.10.75.10"」指令,組態設定叢集節點中 CVM 和 AHV 的 NTP 時間校對伺服器。此時,可以發現預設的「1.pool.ntp.org 和 0.pool.ntp.org」NTP 時間校對伺服器仍存在,請執行「ncli cluster remove-from-ntp-servers servers="1.pool.ntp.org,0.pool.ntp.org"」指令,移除預設的 NTP 時間校對伺服器,倘若管理人員希望立即執行時間校對作業,請執行「/usr/sbin/ntpdate -t 10 -q 10.10.75.10」指令,立即找組態設定的 NTP 時間校對伺服器進行時間校對(如圖 20 所示)。詳細資訊請參考 Nutanix KB4519 知識庫文章

圖 20、組態設定單點叢集的 NTP 時間校對伺服器

預設情況下,CVM 的主機名稱由系統產生,命名規則為 NTNX-<block_serial>-<position-in-block>-CVM,舉例來說,本文實作環境主機名稱為 NTNX-bd3ffec5-A-CVM 。值得注意的是,即便管理人員要變通 CVM 主機名稱,也必須遵照系統命名規則,開頭為「NTNX-」結尾為「-CVM」,管理人員可執行「sudo /usr/local/nutanix/cluster/bin/change_cvm_hostname NTNX-Node01-CVM」指令(如圖 21 所示),將 CVM 主機名稱改為「NTNX-Node01-CVM」,另一點值得注意的是變更 CVM 主機名稱後,系統會提醒必須重新啟動才能套用生效,按下 Y 鍵後便會重新啟動。詳細資訊請參考 Nutanix KB3517 知識庫文章

圖 21、執行指令變更 CVM 主機名稱



登入 Prism Element 管理介面

預設情況下,在單點叢集架構中,透過 CVM IP 位址即可連線 Prism Element 管理介面。當 CVM 主機重新啟動完成後,在登入 Prism Element 管理介面之前,請執行「netstat -tunpl | grep 9440」指令,確認 CVM 主機 Prism Element 管理介面(Port 9440)已經運作中。

開啟瀏覽器鍵入網址「https://ntnx-cluster.lab.weithenn.org:9440」,然而使用 Chrome 或 Edge 嘗試登入 Prism Element 管理介面時,卻顯示「NET::ERR_CERT_INVALID」的警告訊息,並且按下 Advanced 鈕,展開內容後也沒有略過的按鈕可以繼續(如圖 22 所示)。

圖 22、預設自簽憑證錯誤無法顯示 Prism Element 登入介面

此時,只要在錯誤網頁中空白處,直接鍵入「thisisunsafe」(舊稱為  badidea),即可順利載入這個不安全的網頁,並看到 Prism Element 登入畫面。預設登入管理帳號為 admin 密碼 nutanix/4u,登入後系統會提示立即變更管理密碼,變更後會再度回到登入介面以新的管理密碼登入(如圖 23 所示)。

圖 23、使用新的管理密碼登入 Prism Element 管理介面

第一次登入 Prism Element 管理介面時,系統將會彈出 NEXT Credentials 視窗,原因在於採用 Nutanix CE 社群版本時,必須使用在 My Nutanix 中的帳號登入進行註冊作業(如圖 24 所示)。記得注意的是,在 My Nutanix 帳號中,必須針對 Community Edition 區塊,點選「Activate」鈕進行啟用後,才能順利執行註冊作業。倘若,確認無誤卻仍無法完成註冊作業的話,有可能單節點叢集所處網路環境,註冊作業的網路流量被防火牆所阻擋,請確保防火牆上允許單節點叢集中,流出的 TCP 通訊協定 Port 80 或 8443 放行通過。

圖 24、採用 Nutanix CE 社群版本時必須使用 My Nutanix 的帳號登入進行註冊作業

此時,系統首先檢查 My Nutanix 的帳號,其中 Community Edition 是否 Activate,接著啟動 Pulse 遙測服務,以便定期擷取 Nutanix 叢集診斷資訊並進行回傳作業,最後檢查 Acropolis 版本是否為最新版本,確認無誤後即可看到 Prism Element 儀表板管理介面(如圖 25 所示)。

圖 25、順利登入 Prism Element 儀表板管理介面





結語

透過本文的深入剖析和實戰演練後,相信管理人員即便在沒有專屬的 Nutanix 硬體伺服器的情況下,也可以透過巢狀式虛擬化技術,輕鬆建構出 Nutanix 單節點叢集的運作環境進行測試和研究,後續也將和讀者分享部署 Nutanix 多節點叢集。