從vSphere 7 Update3版本開始,VMware官方開始將用於VMC on AWS公有雲環境中的版本更新和升級機制嘗試落地,推出vCenter Server Reduced Downtime Upgrade(RDU)功能,讓vCenter管理平台在執行安全性更新或版本升級時,能夠將停機時間最大化縮短。本文將示範透過RDU進行vCenter版本升級的操作步驟。
在VMware vSphere虛擬化架構中,vCenter Server管理平台的重要性不言而喻,無論是管理VM虛擬主機和容器等工作負載,或是組態設定vNetwork虛擬網路和vStorage儲存資源,甚至是vSphere vMotion線上遷移工作負載以及vSphere HA高可用性機制等等,都必須依靠vCenter Server管理平台才能達成。
然而,只要是軟體產品,便需要定期執行臭蟲修正和版本更新或版本升級的動作。在過去的vCenter版本中,每當vCenter管理平台必須執行重大安全性更新或版本升級時,在版本更新或升級過程中,都必須要部署新版本vCenter主機、停止舊版本vCenter主機內的系統服務、安裝安全性更新、安裝Binary檔案、匯出∕匯入資料、執行自動化腳本、關閉舊版本vCenter主機、啟動新版本vCenter系統服務、新版本vCenter正式接手服務等等動作。
這樣的版本更新或升級流程中,除了部署新版本目的端vCenter管理平台時不會產生「停機時間」(Downtime)外,其餘的工作流程都將導致vCenter管理平台產生停機時間,增加企業持續營運的風險。
因此,從vSphere 7 Update3版本開始,VMware官方開始將用於VMC on AWS公有雲環境中的版本更新和升級機制嘗試落地,也就是由Project Arctic專案所演化而來的API-Driven技術,套用至企業和組織的地端資料中心內,推出vCenter Server Reduced Downtime Upgrade(RDU)特色功能,讓vCenter管理平台在執行安全性更新或版本升級時,能夠將停機時間最大化縮短。在最新的vSphere 8 Update 2版本中,甚至能將版本更新或升級作業程序的停機時間限縮在5分鐘之內。
vCenter RDU運作架構說明
首先,介紹vCenter RDU運作架構。
RDU運作機制
新版RDU運作機制如何改善過往版本更新或升級的工作流程,有效降低vCenter管理平台停機時間呢?首先,在階段1工作程序時,系統會基於管理人員掛載的新版本vCenter ISO映像檔,來建立和部署新版本vCenter虛擬主機並Power On開機,如圖1所示。
圖1 vCenter RDU更新升級版本工作流程 - 階段1。
當系統順利部署新版本vCenter虛擬主機並開機完成後,便會進入階段2工作程序,系統會自動為舊版本vCenter管理平台開啟SSH Service(Port 22),然後傳送現有vCenter資料庫和相關組態設定檔至新版本vCenter主機內,如圖2所示。
圖2 vCenter RDU更新升級版本工作流程 - 階段2。
當資料傳輸作業完成並且通過系統檢查程序後,就會進入階段3工作程序,系統顯示〔切換(Switchover)〕鈕可以執行。請注意,更新升級版本工作流程至此都未發生任何停機時間,只有當管理人員按下切換鈕,並且新版本vCenter主機接手完成的這段期間(通常在5分鐘內),才會發生停機時間,如圖3所示。
圖3 vCenter RDU更新升級版本工作流程 - 階段3。
一旦新版本vCenter主機接手完成之後,正式取代舊版本vCenter的FQDN和IP位址等等,此時便進入階段4工作程序,系統會自動將舊版本vCenter主機關機,並且清除過程中產生的暫存資料,如圖4所示。
圖4 vCenter RDU更新升級版本工作流程 - 階段4。
值得注意的是,在RDU版本更新升級機制的幫助下,確實能有效避免vCenter管理平台在執行版本更新或版本升級時可能導致系統損壞的情況,並有效減少過程中產生的停機時間,然而它並不能夠取代企業或組織原有的vCenter備份機制,這是管理人員最容易忽略的地方。
RDU更新升級流程
雲端環境的vSphere+更新機制重點為「遷移」(Migration-Base),在版本更新或升級動作執行之前,預先部署新版本的vCenter管理平台,並將舊版本vCenter資料庫和組態設定等資料傳輸複寫至新版本vCenter主機內,屆時只要進行新舊版本的vCenter管理平台切換作業即可。
然而,與過往版本更新升級工作流程最主要的差別在於,新舊版本vCenter管理平台之間,在vCenter資料庫和組態設定資料複寫期間,舊版本的vCenter管理平台仍然能夠正常運作,執行相關進階特色功能並管理虛擬化基礎架構。整個版本更新升級工作流程中,唯一會產生停機時間的部分,就是在vCenter資料庫和組態設定複寫程序完成後,管理人員正式觸發切換工作任務,將舊版本vCenter停止系統服務,由新版本vCenter接手後啟動系統服務的這段期間,原則上會在五分鐘之內完成,這與過往版本更新升級的停機時間相比減少許多。
新式RDU版本更新升級機制共有五個步驟,如圖5所示,可以在實際操作期間,查看每個工作任務的執行進度:
圖5 RDU版本更新或升級運作流程示意圖。 (圖片來源:What's New in vSphere 8 U2? | Reduced Downtime Upgrade | Vmware)
1. 掛載ISO映像檔:將準備部署新版本的vCenter ISO映像檔進行掛載。值得注意的是,這個vCenter ISO映像檔必須是完整地安裝ISO映像檔,而非僅是含有安全性更新或修補臭蟲的ISO映像檔。
2. 檢查備份:系統會進行檢查和確認,運作中的舊版本vCenter管理平台是否已經執行過備份的工作任務,倘若發現vCenter管理平台未定期執行備份,或未包含最新的備份時,將會提醒管理人員必須先執行備份工作任務,再回到此頁面繼續版本更新升級流程。
3. 更新LCM Plugin外掛程式:系統將在舊版本vCenter管理平台中,更新vCenter LCM生命週期服務的Plugin,以便後續部署新版本vCenter管理平台時,能夠在LCM Plugin方面保持一致。一旦LCM Plugin外掛程式更新完畢,系統將自動重新整理vCenter管理介面,管理人員可以輕易發現管理介面有些許不同。
4. 組態設定新的vCenter:針對部署的新版本vCenter主機進行組態設定作業,包括vCenter虛擬主機名稱、臨時的root管理帳號和密碼、臨時的vNetwork虛擬網路設定等等,可以選擇繼承舊版本vCenter原有的組態設定,也可以選擇自行變更組態設定內容。在預設情況下,部署的新版本vCenter主機,將繼承舊版本vCenter主機中的FQDN、IP位址、root管理帳號密碼和網路身分驗證等等。
5. 升級與執行切換:一旦部署的新版本vCenter主機複寫資料和組態設定完畢,並且兩台vCenter主機都保持正常運作狀態時,便能決定何時執行切換作業,原則上可以立即執行切換vCenter管理平台的工作任務,也可以排程設定一天後或一週後都可以。須注意的是,切換期間原有vCenter停止服務,新部署的vCenter接手並啟動服務,通常還是未產生五分鐘之內的停機時間。
透過新式RDU進行vCenter版本升級
由於RDU是全新自我管理的版本升級機制,所以並未支援舊版vCenter 7升級至新版vCenter 8。目前支援從vCenter 8.0 GA、8.0 U1、8.0 P02升級至最新8.0 U2版本。接下來的實戰演練中,將使用RDU機制將舊版vCenter 8.0,如圖6所示,升級至最新vCenter 8.0 U2版本。
圖6 準備透過新式RDU機制升級至最新vCenter 8.0 U2版本。
掛載新版vCenter ISO映像檔
首先,將下載完成的最新版本vCenter 8.0 U2的ISO映像檔,上傳至Datastore儲存資源或Content Library當中,並組態設定掛載至舊版vCenter 8.0的CD/DVD光碟機。值得注意的是,掛載時記得勾選「Connected」和「Connect At Power On」選項,如圖7所示,這兩個選項比較常被管理人員忽略,因而發生看似掛載ISO映像檔成功卻無法使用的情況。
圖7 掛載最新版本vCenter 8.0 U2的ISO映像檔。
選擇採用的vCenter新版本
在vCenter管理介面中,依序點選「vCenter Server > Updates > vCenter Server Update」,在RDU Update區塊中,可以看到1. Target Version項目,除了顯示現有vCenter版本資訊以及VAMI(vCenter Server Appliance Management Interface)資訊外,點選Target version欄位中的Select Version連結,在彈出視窗中將會顯示可更新升級的vCenter版本,建議選擇與剛才上傳的ISO映像檔相同版本,避免系統透過網際網路下載最新版本。
點選完畢,系統將自動執行來源預先檢查作業,通過預先檢查作業後,應點選Product Interoperability產品互通性頁籤,確保新版本的vCenter主機與ESXi虛擬化平台之間的版本相容性,是否順利通過系統檢查和驗證作業,如圖8所示。
圖8 選擇升級新版vCenter並檢查產品相容性。
vCenter備份確認與檢查
在2. Backup項目中,系統再次提醒管理人員在執行vCenter管理平台版本升級之前,必須再次確認是否執行相關備份作業,以便升級版本過程中若發生非預期的錯誤導致vCenter管理平台無法正常運作時,還能夠透過最後一次的完整備份快速進行復原作業。
更新vCenter LCM Plugin
在3. Prepare source項目中,會提醒管理人員由於vCenter管理平台版本升級後,屆時會連帶將LCM(Life-Cycle Manager)一起進行版本升級,在此之前先按下Update Plugin,預先執行LCM Plugin更新作業,當LCM Plugin更新的工作任務完成後,系統會提醒管理人員重新整理瀏覽器,此時vCenter圖形管理介面將因為LCM Plugin更新後而有所改變,如圖9所示。
圖9 成功更新LCM Plugin之後,vCenter管理介面重整後有些微變化。
值得注意的是,如果在更新LCM Plugin階段中發生失敗而產生「Update 8.0.2.00000 for component vlcm is not found.」錯誤訊息時,請參考VMware KB94779知識庫文章內容,下載「fix_rdu.sh」指令碼至vCenter管理平台,接著執行修正作業後再次嘗試更新LCM Plugin。
組態設定新版本vCenter
在4. Target Appliance項目中,將會組態設定新版vCenter管理平台環境,按下Configure Target Appliance進行組態設定作業。事實上,這個組態設定流程和部署vCenter管理平台非常相似。首先,在1. License Agreement使用者授權協議畫面中,勾選「I accept...」選項後按下〔Next〕按鈕進入下一個組態設定程序。
在2. CEIP頁面中,必須勾選「Join...」選項,確保後續vSphere Health、Host Hardware Compatibility、vCenter Server Update Planner等等功能持續運作。在3. Target Location頁面中,可以選擇「Deploy in the same location as source」選項,將新版本的vCenter管理平台與現有舊版vCenter部署在一起,或是選擇「Deploy in the different location as source」選項,將新版本vCenter管理平台部署至其他ESXi虛擬化平台中,並提供管理者帳號及密碼以利連線作業。
在4. Deployment Type頁面中,選擇「Same Configuration」選項時,屆時新版本vCenter管理平台將完全套用舊有vCenter管理平台的所有組態設定。若需要調整新版本vCenter管理平台的組態設定,例如提升vCenter管理平台的Size運作規模、調整vCenter存放在不同資料夾、調整vCenter存放在不同的Datastore儲存資源等等,則點選「Detailed Configuration」選項,如圖10所示。
圖10 針對新版本vCenter管理平台調整相關組態設定。
在5. Folder頁面中,選擇稍後部署的新版本vCenter管理平台,要存放在Datacenter中的哪個資料夾內。在6. Compute Resource頁面中,選擇新版本vCenter運作在哪個Cluster叢集、Resource Pool資源集區、ESXi虛擬化平台中。接著,在7. VM Appliance details頁面中,組態設定新版本vCenter的VM虛擬主機名稱,以及暫時的root管理密碼,如圖11所示,值得注意的是,VM虛擬主機名稱要避免使用「%, /, \」這三個字元,否則會發生非預期的錯誤。至於root管理密碼的部分,除了必須符合複雜性原則外,密碼的總長度不能超過「20」個字元。
圖11 組態設定新版本vCenter的VM虛擬主機名稱和root管理密碼。
在8. Deployment Size頁面中,預設採用和舊版本vCenter一樣的Size運作規模,如果企業和組織因為專案或營運規模成長而導致工作負載增加時,可以考慮在此時一併將vCenter管理平台的Size運作規模進行提升。值得注意的是,新版本的vCenter Size運作規模,只能與舊有vCenter相同或更大,並不支援小於舊有vCenter的Size運作規模,如圖12所示。
圖12 部署新版本的vCenter Size運作規模只能相同或更大,不支援縮小Size運作規模。
在9. Datastore頁面中,預設情況下,系統會選擇存放在與舊有vCenter一樣的Datastore儲存資源,管理人員可以依照需求,選擇部署新版本vCenter採用不同的Datastore儲存資源。在10. Network Settings頁面中,則填入部署新版本vCenter的相關網路組態設定內容,例如FQDN、IP位址等等,值得注意的是,這裡的FQDN和IP位址都是暫時使用的用途。在11. Review頁面中,再次檢視相關組態設定是否正確無誤,確認無誤後按下〔Finish〕按鈕即可,如圖13所示。
圖13 再次檢視新版本vCenter相關組態設定是否正確無誤。
部署新版本vCenter
回到vCenter Update Planner頁面中,在5. Upgrade項目中,系統說明至此為止,新版本vCenter的預先部署作業和組態設定已經完成,只要按下〔Start Upgrade〕便會立即執行部署新版本vCenter和複寫資料的動作,並且只有在「Switchover」階段才會發生停機時間,這時間通常僅幾分鐘時間。
按下〔Start Upgrade〕按鈕之後,從vCenter管理介面下方的工作項目清單中,可以看到系統開始自動部署新版本的vCenter虛擬主機,組態設定新版本vCenter虛擬主機後進行Power On開機的動作,如圖14所示,並接收舊有vCenter的必要資料,包括vCenter資料庫、組態設定、TLS/SSL憑證等等,此時舊有的vCenter管理平台仍持續運作中不受任何影響。
圖14 系統自動部署並組態設定新版本vCenter管理平台。
如果在部署新版本vCenter管理平台時發生部署失敗或升級新版本失敗的情況,也無須擔心,系統會自動把新版本的vCenter虛擬主機斷電後刪除,整個系統環境自動恢復到原有的運作狀態。
切換至新版本vCenter管理平台
當新版本vCenter部署並組態設定完畢,系統的〔SWITCHOVER〕按鈕便轉變為可執行狀態,如圖15所示,確認執行切換的動作後,系統便會正式將舊版來源vCenter的組態設定複寫套用至新版本vCenter管理平台中,並且相關系統服務也將正式啟動,以便回應管理人員的各項管理操作。
圖15 系統準備完成管理者可選擇適當時機進行vCenter管理平台切換。
值得注意的是,vCenter管理平台的停機時間,便是在按下〔Switchover〕按鈕,開始執行切換工作任務,系統在確保新舊vCenter管理平台的資料一致後,便會將舊有vCenter管理平台關機,新版本vCenter管理平台開始接手舊有vCenter管理平台的FQDN、IP位址、TLS/SSL憑證、啟動所有系統服務等等,如圖16所示。
圖16 開始執行切換作業讓新版本vCenter管理平台接手。
完成接手程序之後開始回應管理人員操作,一般來說,整個切換流程大約五分鐘以內即可完成,在本文的實作環境中,整個切換作業只花費3分45秒,新版本vCenter管理平台便順利接手完成,如圖17所示。
圖17 新版本vCenter管理平台順利接手完成。
現在,管理人員可以採用相同的vCenter FQDN和管理帳號及密碼登入,可以看到除了vCenter VM虛擬主機的名稱改變以利識別之外,其餘不變,如圖18所示。此外,建議應立即為新版本vCenter執行備份工作任務,並且將舊版vCenter虛擬主機的網路連接選項取消勾選,轉換為VM Template避免不小心將舊版vCenter開機造成衝突的情況。
圖18 新版本vCenter管理平台順利接手並回應管理人員的各項管理操作。
結語
透過本文的深入剖析和實作演練後,企業和組織的管理人員除了理解新式RDU版本升級的運作流程外,透過實戰演練也能夠讓管理人員輕鬆完成vCenter管理平台版本升級的工作任務。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>