前言
隨著企業和組織歷經數位轉型變革過程,營運服務也從過去實體主機工作負載,轉換為虛擬化基礎架構,改為運作在 VM 虛擬主機當中,或是將營運應用程式容器化,甚至建構在容器化基礎之上的 Serverless 架構。
在 VMware vSphere 虛擬化架構中,無論是管理 VM 虛擬主機和容器等工作負載,或是組態設定 vSS 標準虛擬網路、vDS 分佈式虛擬網路、vSphere vMotion 線上遷移工作負載、vSphere HA 高可用性機制、vSAN HCI 超融合環境……等,管理人員都可以透過 vCenter Server 集中式管理平台,達成有效管理和組態設定的工作任務。雖然,vCenter Server 管理平台發生故障事件而停止運作時,並不會影響到線上運作的 VM 虛擬主機和容器等工作負載,並且 vSphere HA 高可用性機制仍持續運作中。
然而,一旦 vCenter Server 管理平台發生故障並停止服務後,管理人員便無法有效管理 vSphere 虛擬化架構,無論是組態設定或是進階的 vMotion 線上遷移工作負載……等工作任務,都將因為 vCenter Server 管理平台故障而停擺。
因此,官方持續為 vCenter Server 打造各種新功能或增強功能,目的就是提升 vCenter Server 管理平台的 SLA 等級。舉例來說,針對 vCenter Server 臭蟲修正 / 版本更新 / 版本升級造成的停機時間,便透過
vCenter Reduced Downtime Upgrade(RDU)新功能,讓vCenter管理平台,在執行安全性更新或版本升級時,能夠將停機時間最大化縮短,在最新的vSphere 8 Update 3 版本中,甚至能將版本更新或升級作業程序的停機時間限縮在 5 分鐘之內(如圖 1 所示)。
圖 1、vCenter Reduced Downtime Upgrade(RDU)機制說明示意圖
此外,一旦 vCenter Server 遭遇重大災難事件導致故障無法服務時,雖然可以透過先前完成的備份立即進行還原作業,但是仍有可能因為時間差的關係,導致還原後的 vSphere 基礎架構產生環境混亂的問題,舉例來說,管理人員設定「每天凌晨 2 點」為 vCenter 執行排程備份,但是 vCenter 在下午 4 點發生災難事件,即便立即為 vCenter 執行還原的工作任務,但是從凌晨 2 點到下午 4 點這段期間,整個 vSphere 基礎架構中,仍有許多事件和各項工作負載的統計資料,已經寫入到 vCenter 資料庫中,因此復原後的 vCenter 管理平台,將會遺失這段期間的事件和工作負載統計資料。
因此,在新版 vSphere 8 版本中,推出「分散式鍵值儲放區」(Distributed Key-Value Store,DKVS)機制(如圖 2 所示)。簡單來說,當 vCenter 管理平台發生災難時,這段期間發生的各項事件和工作負載統計資料,也將會儲存在 vSphere 叢集中所屬的 ESXi 節點主機內。
一旦 vCenter 管理平台完成還原作業重新上線後,將會與 vSphere 叢集中所屬的 ESXi 節點主機進行通訊,將災難發生至還原作業期間的事件和工作負載統計資料取回,讓 vCenter 管理平台能夠迅速恢復正常運作,並取得 vSphere 叢集和 ESXi 節點主機的最新資訊。
圖 2、Enhanced Recovery of vCenter 運作架構示意圖
實戰 – vCenter Server 8 備份和還原
雖然,市場上已經有許多備份軟體廠商,推出針對 vCenter 備份還原的產品。但是,對於 IT 預算不多的小型企業和組織來說,即便只是備份軟體授權的費用,都讓原本就不足的 IT 預算雪上加霜。
因此,本文中將剖析和實戰演練,透過 vCenter 內建的備份和還原機制,針對 vCenter 進行排程定期備份的工作任務,並模擬演練故障損壞事件發生時,如何透過平時的排程備份立即進行還原,讓 vCenter 管理平台能在最短時間內恢復正常運作。
vCenter 支援兩種備份機制,第一種為「映像檔方式」(Image-Based),針對整台 vCenter 虛擬主機進行備份,市場上的備份軟體便是採用這種備份方式。第二種,為「檔案方式」(File-Based),將 vCenter 管理平台中組態設定備份後,當災難發生時進行還原作業,在本文實戰演練小節中便是採用此方式。
值得注意的是,倘若企業和組織有為 vCenter 管理平台,建立「增強型鏈接模式」(Enhanced Linked Mode,ELM)運作環境的話,那麼建議管理人員應採用檔案方式進行備份,而非使用映像檔方式備份。
其主要原因在於,增強型鏈接模式運作環境中,多台 vCenter 同時運作並互相同步及複製資料,但採用映像檔方式備份時,會針對 vCenter 進行即時快照,一旦還原後可能會發生還原後的 vCenter 狀態,與其它 vCenter 之間不同導致 SSO Domain Data 發生衝突,因此建議管理人員在 ELM 運作環境中,應採用本文實戰演練的檔案方式進行備份和還原作業。
主動備份 vCenter 管理平台
在開始執行自動化排程備份之前,建議管理人員先嘗試主動備份一次,確保備份工作任務能夠順利執行並完成。事實上,雖然是內建的備份機制,但是官方仍不斷增強其功能,舉例來說,在過去舊版 vSphere 6.5 時,備份和還原機制僅支援 FTPS、HTTPS、SCP 通訊協定,在 vSphere 6.7U2 版本時,則額外新增支援 SFTP、NFSv3、SMBv2 通訊協定。
值得注意的是,採用 FTPS 通訊協定時僅支援 Explicit 模式,採用 HTTPS 通訊協定時必須在網頁伺服器上啟用 WebDAV 功能。此外,透過 HTTP Proxy 傳輸備份資料時,則僅支援採用 FTPS 和 HTTPS 通訊協定。
在本文中,將採用 SMB 通訊協定進行主機備份的工作任務。首先,在提供 SMB 通訊協定的備份伺服器中,已經建立名稱為「vCenter_Backup」資料夾,以便屆時存放 vCenter 備份資料,並開啟資料夾分享及權限設定,確保稍後主動備份 vCenter 的工作任務能夠順利完成。
前置作業完成後,請登入 vCenter Server Management(Port 5480)管理介面,登入後依序點選「Backup > Activity > Backup Now」,在彈出的 Backup Now 視窗中,請在 Backup location 欄位中,填入 SMB 通訊協定搭配剛才準備的備份資料夾路徑,本文實作環境為「smb://backup.lab.weithenn.org/vCenter_Backup」,在 Backup server credentials 欄位,填入儲存備份檔案的「Backup_Admin」管理帳號和密碼,確認無誤後按下 START 鈕,系統便立即進行單次主動備份任務(如圖 3 所示)。
圖 3、鍵入備份伺服器中存放備份的資料夾路徑及管理者資訊
主機備份後的檔案大小及花費時間,與 vCenter 管理平台的運作狀態、事件、工作項目、組態設定……等有關,備份任務會在剛才指定的備份資料夾中,依序建立 vCenter 的 FQDN 資料夾,以及 vCenter 版本和備份日期及時間子資料夾(如圖 4 所示)。
圖 4、執行主動備份 vCenter 管理平台工作任務
排程備份 vCenter 管理平台
相對於單次執行的主動備份,對於企業和組織來說,組態設定排程時間,讓系統能夠自動定期備份 vCenter Server 管理平台,才是有效的備份解決方案。值得注意的是,目前系統內建的排程備份機制,僅支援組態設定一個排程,尚未支援組態設定多個排程同時執行。
登入 vCenter Management 管理介面後,依序點選「Backup > Backup Schedule > Configure」,在彈出的排程備份視中,在 Backup location 欄位填入通訊協定 SMB,以及備份伺服器的 FQDN 和備份資料夾路徑,在 Backup server credentials 欄位,填入具備備份資料夾寫入權限的使用者帳號和密碼。
在 Schedule 下拉式選單中,有 Daily/Weekly/Custom 選項可供選擇,其中 Custom 是指選擇每週的某幾天進行備份作業,在本文中組態設定每天凌晨 2 點進行備份作業,在 Encrypt backup 欄位,倘若管理人員希望為備份檔案進行加密時,請鍵入兩次加密密碼即可。
在 Number of backups to retain 欄位中,選擇「Retain all backups」項目時,系統將會保留所有的備份檔案,選擇「Retain last backups」項目,則是設定要保留的備份檔案份數,本文實作環境選擇保留最近 14 天的備份檔案,確認無誤後按下 Create 鈕即完成排程備份設定(如圖 5 所示)。
一旦排程備份機制設定完成後,在 Backup Schedule 區塊將會顯示剛才的組態設定內容,當組態設定的排程時間到達後,系統便會觸發並自動執行排程備份的工作任務,屆時在下方的 Activity 區塊,也可以看到備份任務的執行結果。
圖 5、組態設定排程自動備份機制
備份 vDS 分佈式虛擬交換器
在中大型的企業和組織中,由於 vSphere 叢集中 ESXi 節點主機數量較多,通常便會部署「分佈式虛擬交換器」(vSphere Distributed Switch,vDS),那麼建議管理人員,應該也要將 vDS 分佈式虛擬交換器組態設定匯出,以便後續需要時可以匯入或還原 vDS 組態設定,否則有可能在還原 vCenter 管理平台之後,遭遇 vDS 分佈式虛擬交換器組態設定遺失的問題,詳細資訊請參考
VMware KB 2034602 知識庫文章內容。
請在 vCenter 管理介面中,依序點選「Inventory > Networking > Distributed Switch >Actions > Settings > Export Configuration」項目,在彈出的 Export Configuration 視窗中,有兩種匯出選項可供選擇,採用「Distributed switch and all port groups」選項時,將會匯出 vDS 分佈式虛擬交換器,以及所有 Port Groups 組態設定,採用「Distributed switch only」選項的話,則僅會匯出 vDS 分佈式虛擬交換器的組態設定,至於下方描述區塊可依管理人員需求進行填寫,確認無誤後按下 OK 鈕即可(如圖 6 所示)。
圖 6、備份 vDS 分佈式虛擬交換器和所有 Port Groups 組態設定
此時,瀏覽器將會自動下載名稱為 backup.zip 的壓縮檔案,內容便是選擇匯出 vDS 分佈式虛擬交換器組態設定項目。後續,管理人員便能依據需求,進行「匯入」或「還原」vDS 分佈式虛擬交換器組態設定的動作。
備份 vCHA 高可用性環境
事實上,以檔案方式備份 vCenter 管理平台的機制,目前尚未完整支援 vCHA(vCenter High Availability)高可用性運作環境(如圖 7 所示),但是管理人員仍然能夠針對 vCenter 進行備份的工作任務,並且在 vCHA 叢集架構發生重大災難事件時快速還原和重建。
圖 7、vCHA(vCenter High Availability)高可用性環境運作架構示意圖
簡單來說,當企業或組織為 vCenter 管理平台,建立 vCHA 高可用性機制運作環境時,執行備份工作任務時,系統僅會備份 vCenter 主要節點(Active Node),而不會備份被動節點(Passive Node),以及見證節點(Witness Node)。
還原 vCenter Server
雖然,已經組態設定排程時間定期備份,仍建議管理人員應該定期確認備份檔案,是否能夠順利執行還原任務,順便在演練過程中建構和撰寫 SOP 文件,一旦災難事件真正發生時,需要快速執行還原任務時便不會手忙腳亂。值得注意的是,還原任務為驗證還原檔案是否有效時,管理人員可以在還原任務執行時,將 vCenter 主機的虛擬網路線拔除,即可避免和現有運作中的 vCenter 管理平台,發生 IP 位址衝突的情況。
vCenter 管理平台還原程序共分為兩個階段(如圖 8 所示),第一個階段將會部署一台新的 vCenter Server 虛擬主機,第二個階段則是透過先前備份資料,將組態設定和相關資料傳輸至新部署的 vCenter 虛擬主機中。在執行還原任務時有個主要限制,當 vCenter 主機採用哪個版本的 ISO 映像檔安裝時,就必須使用該版本的 ISO 映像檔執行還原任務才行,例如,採用 vCenter 8.0 U2 安裝和部署,便需要使用 vCenter 8.0 U2 的 ISO 映像檔,執行整個還原工作任務才行。
圖 8、vCenter 管理平台還原任務工作流程示意圖
事實上,整個 vCenter 的還原工作任務,跟部署 vCenter 管理平台類似,請掛載 vCenter ISO 映像檔後,執行「vcsa-ui-installer/win32/installer.exe」檔案,在彈出的精靈對話視窗中,點選「Restore」項目以進入還原工作流程。
在 Restore – Stage 1 : Deploy vCenter Server 還原工作流程中,前 2 個步驟為簡介和使用者授權條款,在 3. Enter Backup details 畫面中,請於 Location 欄位中填入先前儲存備份檔的路徑,以及可存取備份檔路徑權限的使用者帳號和密碼。值得注意的是,備份檔路徑必須是包含「backup-metadata.json」的路徑,本文實作環境填入的備份路徑為「smb://backup.lab.weithenn.org/vCenter_Backup/vCenter/sn_vcenter8.lab.weithenn.org/S_8.0.2.00100_20240817-180007_」(如圖 9 所示)。
圖 9、填入備份檔案存放路徑和具備存取權限的使用者帳號及密碼
在 4. Review backup information 頁面中,系統會再次檢查鍵入的備份檔案存放路徑是否正確,倘若鍵入的路徑不正確,或 backup-metadata.json 檔案已損毀的話,在這個步驟中將會出現錯誤訊息並停止還原程序。
在 5. vCenter Server deployment target 頁面中,請鍵入要將新的 vCenter 虛擬主機,部署至哪一台 ESXi 主機中,本文實作環境為「mgmt-esxi.lab.weithenn.org」,並鍵入具備管理權限的使用者帳號和密碼(如圖 10 所示)。
圖 10、指定還原後的 vCenter 要部署在哪台 ESXi 主機中
在 6. Set up target vCenter Server VM 頁面中,請鍵入新部署的 vCenter 虛擬主機名稱,本文實作為「vCenter8」,以及組態設定 root 管理員帳號密碼。值得注意的是,倘若故障損壞的 vCenter 仍處於 Power On 開機狀態時,管理人員應將其 Power Off 並修改 vCenter 虛擬主機名稱,例如,本文實作環境將原有 vCenter 虛擬主機名稱,修改為「vCenter8-retired」,否則系統在進行檢查作業時,將會發現 vCenter 虛擬主機名稱已存在而停止還原程序(如圖 11 所示)。
圖 11、新部署的 vCenter 虛擬主機名稱和原有 vCenter 名稱相同發生衝突
在 7. Select deployment size 頁面中,管理人員可以視需求選擇不同的 vCenter 部署規模。倘若,一開始部署 vCenter 時選錯規模,或是隨著時間演進不斷擴大,導致原有 vCenter 部署規模不足以因應時,管理人員也可以在備份後執行還原作業,並在此步驟中重新選擇部署較大的 vCenter 規模,本文實作採用「Small」規模(如圖 12 所示)。
圖 12、選擇 vCenter 主機的部署規模大小
在 8. Select datastore 頁面中,請選擇放置 vCenter 虛擬主機的儲存資源。值得注意的是,倘若管理人員不勾選「Enable Thin Disk Mode」選項時,那麼新部署的 vCenter 虛擬硬碟格式,將會採用「Thick」模式進行部署,請確保儲存資源空間足夠才行,舉例來說,本文實作環境選擇「Small」規模大小時,儲存空間至少要大於「694GB」才行。
在 9. Configure network settings,請鍵入 vCenter 虛擬主機網路組態。首先,在 Network 欄位的部份,會顯示 vSS 及 vDS 虛擬網路 Port Group,但是在 vDS 分佈式虛擬網路交換器的部份,下拉選單中僅會顯示「暫時綁定」(Ephemeral binding)的 Port Group,一般常用「靜態綁定」(Static binding)的 Port Group 並不支援,有關暫時綁定和靜態綁定的詳細資訊,請參考
VMware KB 1022312 知識庫文章內容。在本文實作環境中,選擇使用「
Backup-vNetwork」的 Port Group,而 FQDN 為「
vcenter8.lab.weithenn.org」,固定 IP 位址為「
10.10.75.30」(如圖 13 所示)。
圖 13、鍵入 vCenter 虛擬主機網路組態設定
在 10. Ready to complete stage1 頁面中,請再次檢查還原項目和設定值內容是否正確,確認無誤後按下 Finish 鈕,便立即執行第一階段的還原工作任務,完成後系統將會提醒管理人員,可以登入 vCenter Server Management(Port 5480)管理介面(如圖 14 所示)。
圖 14、vCenter 管理平台第一階段還原任務完成
在第二階段的還原工作流程中,系統會將備份檔案中組態設定和相關內容,複製到新部署的 vCenter 主機中。請在 2. Backup details 步驟中,再次檢視備份檔案路徑是否正確,倘若備份時有搭配加密機制時,此步驟中必須鍵入加密密碼。
倘若,還原的 vCenter 主機處於 ELM 增強型鏈接模式時,系統將會要求提供 SSO(Single Sign-On)認證資訊,確保還原後的 vCenter 管理平台,能夠和其它台 vCenter 主機繼續通訊和同步。
在 3. Ready to complete,再次檢查還原組態設定是否正確,系統提醒倘若原有的 vCenter 主機仍運作中,請關閉它避免發生 IP 位址衝突的問題,確認無誤後按下 Finish 鈕,便立即執行第二階段的還原任務,成功後系統將提醒管理人員,可以登入 vCenter Server(Port 443)管理介面(如圖 15 所示)。
圖 15、vCenter 管理平台第二階段還原任務完成
還原 vDS 分佈式虛擬交換器
原則上,在 vCenter 管理平台故障期間,管理人員若無針對 vSwitch 虛擬交換器進行異動的話,那麼 vCenter 管理平台還原後,無須針對 vDS 分佈式虛擬交換器,進行匯入或還原作業。除非有任何異動或發生損壞時,管理人員才需要透過先前的 vDS 分佈式虛擬交換器備份進行還原作業。
倘若,vDS 分佈式虛擬交換器整個遺失,請在 vCenter 管理介面中,依序點選「Inventory > Networking > Datacenter > Actions > Distributed Switch > Import Distributed Switch」,按下 Browse 鈕選擇先前的匯出檔案 backup.zip,倘若管理人員希望保留 vDS 和 Port Group 的 ID,請勾選「Preserve original distributed switch and port group identifiers」選項(如圖 16 所示)。
圖 16、匯入先前良好的 vDS 分佈式虛擬交換器組態設定
在 2. Ready to complete,再次檢視內容正確無誤後,按下 Finish 鈕便立即執行,匯入 vDS 分佈式虛擬交換器組態設定的動作,匯入動作完成後,便可以看到 vDS 分佈式虛擬交換器恢復運作(如圖 17 所示)。
圖 17、成功還原先前設定好的 vDS 分佈式虛擬交換器
倘若,vDS 分佈式虛擬交換器仍存在,但是部份 Port Group 遺失或損壞,請在 vCenter 管理介面中,依序點選「Inventory > Networking > Distributed Switch > Actions > Settings > Restore configuration」,按下 Browse 鈕選擇先前的匯出檔案 backup.zip,並依據需求僅還原 vDS 分佈式虛擬交換器,或 vDS 分佈式虛擬交換器並包含所有 Port Group 選項(如圖 18 所示)。
圖 18、還原 vDS 分佈式虛擬交換器和所有 Port Group
在 2. Ready to complete,再次檢視內容正確無誤後,按下 Finish 鈕便立即執行,還原 vDS 分佈式虛擬交換器和所有 Port Group 的動作,還原動作完成後,即可看到 vDS 分佈式虛擬交換器和 Port Group 恢復正常運作。
重建 vCHA 高可用性機制
結語
透過本文的深入剖析和實戰演練後,管理人員應該已經理解,透過 vCenter 管理平台內建的備份還原機制,便可以輕鬆達到排程備份和還原等工作任務,無須額外採購第三方備份軟體,並且在發生災難事件時快速還原至正常運作狀態,滿足 IT 預算原本就不足的中小型企業或組織的需求。