虛擬化 軟體定義資料中心 SDDC vCenter 災難復原

模擬演練災難事件發生 實戰定期備份系統快速還原

vCenter 7內建備份利器 遇險即刻還原恢復運作

2022-11-07
本文將示範及講解如何透過vCenter Server內建的備份和還原機制,針對vCenter進行定期備份作業,並且模擬災難事件發生時,應如何透過備份進行還原任務,以便vCenter Server管理平台能夠在最短時間內恢復正常運作。

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

圖1  vCenter Server管理平台功能示意圖。 (圖片來源:VMware官網-Server Management Software-vCenter Server)

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

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

選擇適合的備份方式

事實上,目前有兩種方式支援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通訊協定。

在手動備份實戰演練中,模擬企業已經建構完成vSphere虛擬化基礎架構,但是因為IT預算不足的關係,導致備份用途的NAS儲存設備必須下個年度才能採購,那麼在這段過渡期間該如何進行vCenter備份作業?

在短期備份需求狀態下,為ESXi虛擬化平台配置一顆大容量硬碟,便可以透過SFTP方式,將vCenter備份傳送至ESXi虛擬化平台中,並且在需要時進行還原作業。

首先,為儲存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 KB85966知識庫文章。

備份任務完成後,管理人員應該已經發現,由於預設高安全性的關係,當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 KB2034602知識庫文章。

在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)叢集環境運作架構示意圖。 (圖片來源:New Walkthroughs for vCenter High Availability - VMware vSphere Blog)

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

還原vCenter Server

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

整個還原程序共分為兩個階段,如圖10所示,第一個階段會部署一台新的vCenter Server虛擬主機,第二個階段則是透過先前備份資料,將組態設定和相關資料傳輸至新部署的vCenter Server虛擬主機中。

圖10  vCenter Server還原任務工作流程圖。 (圖片來源:VMware Docs-從以檔案為基礎的備份還原vCenter Server)

值得注意的是,採用以檔案方式備份的機制,在執行還原作業時有個限制,也就是vCenter採用哪個版本的ISO映像檔安裝,就必須用哪個版本的ISO映像檔執行還原作業才行。例如採用vCenter 7.0 U3g安裝和部署,便須使用vCenter 7.0 U3g的ISO映像檔執行還原作業。

事實上,整個還原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 KB1022312知識庫文章。

圖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管理平台,並且在發生災難事件時快速恢復至正常運作狀態。

<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!