網管人 202 期 - vCenter 7 內建備份利器,遇險即刻還原恢復運作



網管人雜誌

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





本文目錄  






前言

在 vSphere 虛擬化基礎架構中,擔任集組態設定、監控、管理、告警……等機制的 vCenter Server 管理平台,在整個 SDDC 軟體定義資料中心內的重要性不言而喻(如圖 1 所示)。因此,對於 vCenter Server 的備份和還原作業,管理人員應該審慎規劃並確實執行。 

圖 1、vCenter Server 管理平台功能示意圖

雖然,vCenter Server 遭遇災難事件導致無法正常運作時,運作於 vSphere 虛擬化架構上的工作負載,例如,VM 虛擬主機或容器……等,仍然能夠正常運作不受影響。然而,因為 vCenter Server 發生故障無法正常運作時,將會導致管理人員無法管理整個 vSphere 虛擬化架構,並且執行相關維運管理的工作任務,舉例來說,無法調整 VM 虛擬主機資源、無法執行 vMotion 線上遷移 VM 虛擬主機……等。

在市面上,已經有許多第三方軟體廠商,針對 vCenter Server 進行備份和還原的產品。然而,對於原本 IT 預算就不高的企業和組織來說,這一筆備份軟體開銷,無疑讓原本就稀少的 IT 預算雪上加霜。因此,在本文中,將說明和實戰演練,透過 vCenter Server 內建的備份和還原機制,對 vCenter 進行定期備份作業,並且模擬災難事件發生時,如何透過備份進行還原任務,讓 vCenter Server 管理平台,能夠在最短時間內恢復正常運作。





實戰 – vCenter Server 7 備份和還原

事實上,目前有兩種方式支援 vCenter 管理平台的備份任務,第一種稱之為「映像檔方式」(Image-Based),也就是針對整台 vCenter 虛擬主機進行備份,這也是市面上第三方軟體廠商採用的主流備份方式。

第二種,則是「檔案方式」(File-Based),將 vCenter 管理平台中相關組態設定進行備份後,在災難發生時進行還原作業,在本文實戰演練小節中便是採用此方式。

值得一提的是,當企業和組織為 vCenter 管理平台,建立「增強型鏈接模式」(Enhanced Linked Mode,ELM)運作環境後,建議管理人員應該採用本文介紹的檔案方式,為 vCenter 管理平台進行備份作業,而非使用映像檔方式備份。

主要原因在於,增強型鏈接模式運作環境中,多台 vCenter 同時運作並互相同步和複製相關資料,而採用映像檔方式備份時,其實是針對 vCenter 進行即時的快照,當還原時可能會因為還原後的 vCenter 狀態,和其它 vCenter 之間相異進而導致 SSO Domain Data 發生衝突,所以建議管理人員在 ELM 運作環境中,應採用本文實戰演練的檔案方式進行還原。



手動備份 vCenter Server

雖然,是內建的備份機制,但是功能一點都不馬虎,除了無須安裝任何備份代理程式之外,特色功能也不斷增強和演進,舉例來說,在 vSphere 6.5 版本時,備份和還原機制支援的通訊協定僅有 FTP(s)、HTTP(s)、SCP,而在 vSphere 6.7U2 版本時,更額外新增支援 SFTP、NFSv3、SMBv2 通訊協定。
請注意,採用 FTPS 時僅支援 Explicit 模式,採用 HTTP(s)時必須在網頁伺服器上啟用 WebDAV,倘若透過 HTTP Proxy 傳輸備份資料時,僅支援採用 FTP(s)、HTTP(s)通訊協定。

在手動備份實戰演練中,模擬企業和組織已經建構完成 vSphere 虛擬化基礎架構,但是因為 IT 預算不足的關係,導致備份用途的 NAS 儲存設備必須下個年度才能採購,那麼在這段過渡期間該如何進行 vCenter 備份作業 ?在短期備份需求狀態下,可以為 ESXi 虛擬化平台配置一顆大容量硬碟,便可以透過 SFTP 的方式,將 vCenter 備份傳送至 ESXi 虛擬化平台中,並且在需要時進行還原作業。
請注意,這種方式僅適用於短期過渡的備份需求,並非長期備份解決方案,倘若災難事件發生時影響到儲存備份檔案的 ESXi 主機,屆時便無法進行 vCenter 還原作業。

首先,請為儲存 vCenter 備份的 ESXi 虛擬化平台,開啟 SSH 服務(Port 22)和防火牆允許規則。在 vCenter 管理介面中,依序點選「Datacenter > ESXi Host > Configure > System > Services > SSH」,點選 START 後,確保 Daemon 欄位從原本的「已停止」(Stopped),變更為「運作中」(Running)狀態(如圖 2 所示),並且確保 SSH 通訊協定在 Firewall 規則允許清單內。

圖 2、為 ESXi 主機啟動 SSH 服務並確定防火牆允許 SSH 流量通過

接著,透過 SSH Client 工具連線至 ESXi 主機,在本文實作環境中,執行 mkdir 指令建立用於儲存備份檔案的資料夾「vCenterFileBackup」,執行 pwd 指令確認路徑為「/vmfs/volumes/node01-backupdisk/vCenterFileBackup」。

請登入 vCenter Server Management(Port 5480)管理介面,登入後依序點選「Backup > Activity > Backup Now」,在彈出視窗中於 Backup location 欄位中,填入通訊協定為 SFTP 和 ESXi 主機的 FQDN 和 SSH 連接埠,最後搭配剛才的備份資料夾路徑,本文實作環境為「sftp://node0123.lab.weithenn.org:22//vmfs/volumes/node01-backupdisk/vCenterFileBackup」,在 Backup server credentials 欄位,填入儲存備份檔案的 ESXi 主機管理帳號 root 和密碼,確認無誤後按下 START 鈕便立即進行單次備份任務(如圖 3 所示)。

圖 3、鍵入備份 ESXi 主機資訊和備份資料夾路徑

備份檔案大小和花費時間,與 vCenter Server 運作狀態、事件、工作項目、組態設定……等有關,備份任務會在剛才指定的備份資料夾中,依序建立 vCenter 的 FQDN 資料夾,以及 vCenter 版本和備份日期及時間子資料夾(如圖 4 所示)。

圖 4、執行手動備份 vCenter Server 工作任務

值得注意的是,倘若採用 vCenter Server「7.0 U2d」版本的話,管理人員可能在執行 SFTP 備份作業時,遭遇到「General system error reported by backup server」的錯誤訊息,原因在於這個版本中的 curl 指令,在執行備份到 SFTP 目的端時會發生崩潰的情況導致備份失敗,管理人員可以考慮兩種解決方式。

第一種方式是,採用其它支援的通訊協定進行備份任務,例如,採用 NFS 或 SMB 。第二種方式,則是將 vCenter 更新至「7.0 U3d」版本即可解決此問題,本文實作環境採用最新的 7.0 U3g 版本,所以已經修復此問題並透過 SFTP 順利執行備份任務,相關詳細資訊請參考  VMware KB 85966 知識庫文章。

備份任務完成後,管理人員應該已經發現,由於預設高安全性的關係,當 ESXi 主機啟用 SSH 服務後,將會在 Summary 頁籤出現「SSH for the host has been enabled」訊息(如圖 5 所示),並且 ESXi 圖示會有警告符號產生,這些都是系統提醒管理人員,記得將 ESXi 主機啟動的 SSH 服務關閉,避免持續開啟 SSH 服務降低 ESXi 主機安全性,以及遭受惡意攻擊的機會。

圖 5、備份完畢後記得將 ESXi 主機啟動的 SSH 服務關閉



排程定期備份 vCenter Server

相對於手動備份這種短期過渡需求,對於企業和組織來說,排程時間定期備份 vCenter Server 管理平台,才是長期的備份解決方案。在本小節中,將為擔任備份用途的儲存設備開啟 SMB 通訊協定,儲存 vCenter 排程備份檔案。值得注意的是,目前排程備份機制一次只能設定一個排程,並未支援組態設定多個排程同時執行。

登入管理介面後,依序點選「Backup > Backup Schedule > Configure」,在彈出的排程備份視中,在 Backup location 欄位填入通訊協定 SMB,以及儲存設備 FQDN 和備份資料夾路徑,在 Backup server credentials 欄位,填入具備該備份資料夾寫入權限的使用者帳號和密碼,在 Schedule 欄位,支援採用每日和每週或每週的哪幾天進行備份,在 Encrypt backup 欄位的部份,倘若管理人員希望加密備份檔案時,請鍵入兩次加密密碼,在 Number of backups to retain 欄位中,選擇「Retain all backups」項目,將會保留所有的備份檔案,選擇「Retain last backups」項目,則是保留指定的備份檔案份數,本文實作環境選擇保留最後七天的備份檔案,確認無誤後按下 Create 鈕即完成排程備份設定(如圖 6 所示)。

圖 6、組態設定排程備份機制

排程備份機制設定完成後,在 Backup Schedule 區塊將會顯示剛才組態設定內容,而指定的排程時間後系統便會自動執行備份任務,並且在 Activity 區塊可以看到備份任務的執行結果(如圖 7 所示)。

圖 7、排程備份任務執行成功



備份 vDS 分佈式虛擬交換器

當企業和組織在 vSphere 虛擬化環境中,建立並部署「分佈式虛擬交換器」(vSphere Distributed Switch,vDS)時,建議管理人員也單獨將 vDS 分佈式虛擬交換器組態設定匯出,以便後續需要時可以匯入或還原 vDS 組態設定,否則有可能會在還原 vCenter 管理平台之後,遭遇到 vDS 分佈式虛擬交換器組態設定遺失的問題,相關詳細資訊請參考  VMware KB 2034602  知識庫文章。

請在 vCenter 管理介面中,依序點選「Home > Networking > Distributed Switch >Actions > Settings > Export Configuration」項目,在彈出視窗中,管理人員可以選擇兩種匯出選項,選擇「Distributed switch and all port groups」項目,匯出 vDS 分佈式虛擬交換器和所有 Port Groups 組態設定,或是選擇「Distributed switch only」項目,僅匯出 vDS 分佈式虛擬交換器的部份,至於下方描述區塊可依管理人員需求進行填寫,確認無誤後按下 OK 鈕即可(如圖 8 所示)。

圖 8、備份 vDS 分佈式虛擬交換器和所有 Port Groups 組態設定

此時,連結 vCenter 管理介面的瀏覽器,將會自動下載名稱為 Backup.zip 的壓縮檔案,便是剛才選擇 vDS 分佈式虛擬交換器組態設定項目。後續,便可以依據管理人員需求進行「匯入」或「還原」vDS 分佈式虛擬交換器組態設定。



備份 vCenter Server High Availability 環境

事實上,以檔案方式備份 vCenter Server,目前並無法完整支援 vCHA(vCenter High Availability)叢集環境(如圖 9 所示),但是管理人員仍然能夠進行備份任務,並且在 vCHA 叢集架構發生重大災難事件時快速還原和重建。

圖 9、vCHA(vCenter High Availability)叢集環境運作架構示意圖

因此,當企業或組織為 vCenter Server 建立 vCHA(vCenter High Availability)叢集環境時,雖然備份任務僅會備份  vCenter Server 主要節點(Active Node),一旦 vCHA 叢集環境發生災難事件時,管理人員只要在執行還原任務之前,先將 vCHA 叢集環境整個關閉,包含主動節點、被動節點和見證節點,當還原任務執行完畢後,vCenter Server 會處於單機運作環境,管理人員只要透過 GUI 圖形介面進行引導設定,重新建構 vCHA 叢集環境即可,相關詳細資訊請參考 VMware KB 60229KB 2147014KB 2147038KB 2147046 知識庫文章。



還原 vCenter Server

養兵千日用在一時,即便已經組態設定排程定時備份,管理人員應該定期確認備份檔案,是否能夠順利執行還原任務。倘若,還原程序是用於驗證用途時,管理人員可以在還原 vCenter Server 時,將 vCenter 的虛擬網路拔除,即可避免和現有運作中的 vCenter 發生衝突的情況。

整個還原程序共分為兩個階段(如圖 10 所示),第一個階段將會部署一台新的 vCenter Server 虛擬主機,第二個階段則是透過先前備份資料,將組態設定和相關資料傳輸至新部署的 vCenter Server 虛擬主機中。值得注意的是,採用以檔案方式備份機制,在執行還原作業時有個限制,也就是 vCenter 採用哪個版本的 ISO 映像檔安裝,就必須用哪個版本的 ISO 映像檔執行還原作業才行,例如,採用 vCenter 7.0 U3g 安裝和部署,便需要使用 vCenter 7.0 U3g 的 ISO 映像檔執行還原作業才行。

圖 10、vCenter Server 還原任務工作流程圖

事實上,整個還原 vCenter Server 的工作任務,跟安裝部署 vCenter Server 時非常類似。請掛載 vCenter ISO 映像檔後,執行 vcsa-ui-installer/win32 資料夾內的 installer.exe 檔案,在彈出的安裝精靈視窗中,點選「Restore」項目以進入還原工作流程。

在第一階段的還原工作流程中,於 3. Enter Backup details 畫面,請於 Location 欄位填入先備儲存備份檔的路徑,以及可存取備份檔路徑權限的使用者帳號和密碼。值得注意的是,備份檔路徑必須是包含「backup-metadata.json」的路徑,本文實作環境填入的備份路徑為「smb://LAB-D/vCenterScheduleBackup/vCenter/sn_vcenter7.lab.weithenn.org/S_7.0.3.00800_20220911-084004_」(如圖 11 所示)。

圖 11、填入備份檔案存放路徑和具備存取權限的使用者帳號和密碼

在 4. Review backup information,系統請管理人員再次檢查鍵入的備份檔案存放路徑是否正確,倘若鍵入的路徑不正確,或 backup-metadata.json 檔案損毀的話,這個步驟將會出現錯誤訊息並停止還原程序。

在 5. vCenter Server deployment target,請鍵入要將新部署的 vCenter 虛擬主機,部署至哪一台 ESXi 主機,或另一台 vCenter 虛擬化環境中,並且鍵入具備管理權限的使用者帳號和密碼。在 6. Set up target vCenter Server VM,請鍵入新部署的 vCenter 虛擬主機名稱,本文實作為「vCenter7」,以及 root 管理員帳戶密碼。

值得注意的是,倘若故障損壞的 vCenter 仍然處於 Power On 開機狀態時,管理人員應將其關閉並且修改 vCenter 虛擬主機名稱,例如,本文實作環境將原有 vCenter 虛擬主機名稱,修改為「vCenter7-legacy」,否則系統在進行檢查作業時,將會因為發現 vCenter 虛擬主機名稱已存在而停止還原程序(如圖 12 所示)。

圖 12、準備還原的 vCenter 虛擬主機名稱和原有 vCenter 名稱發生衝突

在 7. Select deployment size,管理人員可以視需求選擇不同等級的 vCenter 部署規模,本文實作採用「Small」規格大小。倘若,管理人員一開始在部署 vCenter 時選錯規模,或是隨著時間演進不斷擴大的 vSphere 基礎架構,導致原有 vCenter 部署規模不足以因應時,管理人員也可以在備份後執行還原作業,並在此步驟中重新選擇部署規模較大的 vCenter 等級。

在 8. Select datastore,請選擇放置 vCenter 虛擬主機硬碟的儲存資源。值得注意的是,倘若管理人員不勾選「Enable Thin Disk Mode」選項的話,那麼新部署的 vCenter 虛擬硬碟格式,將會採用「Thick」模式進行部署,管理人員必須確保儲存資源空間足夠才行,舉例來說,本文實作環境選擇「Small」規模大小時,儲存空間至少必須大於「694GB」才行。

在 9. Configure network settings,請鍵入 vCenter 虛擬主機網路組態,本文實作環境 FQDN 為「vcenter7.lab.weithenn.org」,而固定 IP 位址則是「10.10.75.20」。值得注意的是,在 Network 欄位的部份,倘若採用 vDS 分佈式虛擬網路交換器時,在下拉選單中僅會顯示「暫時綁定」(Ephemeral binding)的 Port Group,一般常用「靜態綁定」(Static binding)的 Port Group 並不支援所以不會顯示,或是管理人員也可以選擇使用 vSS 標準式虛擬網路交換器,在本文實作中選擇名稱為「Restore-vNet」的 Port Group(如圖 13 所示)。有關暫時綁定和靜態綁定的詳細資訊,請參考 VMware KB 1022312 知識庫文章。

圖 13、鍵入 vCenter 虛擬主機網路組態設定

在 10. Ready to complete stage1,請再次檢查相關還原項目和設定值內容是否正確,確認無誤後按下 Finish 鈕,便立即執行第一階段的還原任務,也就是部署一台新的 vCenter 虛擬主機,成功後系統將提醒管理人員,可以登入 vCenter Server Management(Port 5480)管理介面(如圖 14 所示)。

圖 14、第一階段 vCenter Server 還原任務成功

在第二階段的還原工作流程中,系統主要將備份檔案中組態設定和相關內容,複製到新部署的 vCenter Server 當中。

在 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 Server 還原任務成功



還原 vDS 分佈式虛擬交換器

原則上,倘若在 vCenter 管理平台故障損壞期間,管理人員並無針對 ESXi 進行 vSwitch 虛擬交換器進行異動的話,那麼當 vCenter 管理平台還原之後,無須針對 vDS 分佈式虛擬交換器,進行匯入或還原作業。倘若,有任何異動或損壞的話,管理人員可以透過先前的 vDS 分佈式虛擬交換器備份進行還原作業。

倘若 vDS 分佈式虛擬交換器整個遺失,請在 vCenter 管理介面中,依序點選「Home > Networking > Datacenter > 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 管理介面中,依序點選「Home > 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 高可用性叢集

如前所述,在 vCHA 高可用性叢集環境中,備份機制僅會備份主要節點的 vCenter 主機,請在還原任務執行成功後,重新建構 vCHA 高可用性叢集環境。有關建構 vCHA 高可用性叢集環境詳細資訊,請參考本刊【第 178 期 - 建立 vCHA 高可用性架構虛擬化總管中心永不停機】內容。





結語

透過本文的深入剖析和實作演練後,管理人員應該已經理解,透過 vCenter Server 管理平台內建備份還原機制,便可以輕鬆達成備份和還原工作任務,無須額外採購第三方備份軟體,即可保護 vSphere 虛擬化基礎架構中,角色至關重要的 vCenter 管理平台,並且在發生災難事件時快速恢復至正常運作狀態。