Virtualization

如何備份 VirtualBox 虛擬伺服器?

  • January 27, 2012

我想設置一個在 Linux 主機系統上的 VirtualBox 虛擬機中執行的伺服器。

什麼是“整個”備份這個虛擬伺服器的有效方法,以便在主機來賓系統發生故障時,我可以恢復備份的虛擬伺服器?

還請讓我知道如何恢復備份。謝謝!

從約翰的回答中轉述,“像對待物理機器一樣對待虛擬機”。執行時備份的任何軟體/方法都可以使用。如果備份方法尚未包含虛擬機配置文件 (.vbox),您可能還需要備份它。大多數裸機備份都是在沒有執行標準系統的情況下完成的。大多數增量/差異數據備份可以在系統執行時執行。

請注意,“VBoxManage clonehd”(不推薦使用 clonevdi)將更改 UUID。許多目前的 Linux 發行版使用 UUID 進行掛載,您需要修改 UUID 或 /etc/fstab 以使複製的磁碟啟動。

而且 clonehd 不複製機器,只複製磁碟。您可能具有正確執行虛擬、多個 NIC、大記憶體設置等所需的特定虛擬系統設置。

嘗試使用多個磁碟將系統與數據分開,以減少複製或備份的停機時間。如果虛擬是 Web 伺服器,請為 www-root 使用單獨的磁碟,其中將進行大多數日常更改。除非更新程序或配置文件,否則無需重複備份系統盤。如果需要,請不要忘記備份日誌。

還要考慮在初始虛擬安裝和設置後使用 VirtuaBox 不可變磁碟。不可變系統盤可以在多個虛擬機之間共享。它是只讀的,只需要備份一次,或者您認為安全的任何保留數量,通常三到四個副本就足夠了。只有差異磁碟需要定期備份。

我們的大多數虛擬伺服器都通過源版本控制進行了預備份。對虛擬機配置文件 (.vbox)、虛擬機的 etc 配置文件和虛擬數據的所有更改都通過外部備份的原始碼控制發布。重建/恢復包括簽出 vbox 機器文件、針對不可變文件啟動虛擬機並將差異磁碟從原始碼控制重新載入到檢查點或分支標記。這適用於服務伺服器。

虛擬客戶端測試機(不同版本的windows)通常對於這種方法來說太麻煩了,需要導出/導入、clonehd或clonezilla類型的備份。

Clonezilla 裸機備份/恢復 - 啟動虛擬機到 clonezilla iso 和額外附加的備份數據磁碟或使用共享文件夾作為備份目標。這一次備份和壓縮。如果您在 clonehd 操作後還進行壓縮,則在備份期間,複製和導出將暫時需要最多三個副本的空間。備份或恢復後刪除 clonezilla iso 掛載、額外的備份磁碟或共享文件夾並重新啟動系統。還原與備份的過程相同。

如果您使用導出/導入以外的任何方法,您可能需要在虛擬機配置 (.vbox) 文件或虛擬 /etc/fstab 中(有時甚至使用 /etc/fstab 的導出/導入)中的 UUID 來獲取恢復/重建後的工作。

**導出和導入是腦死亡的方法。**導出將複製機器設置和磁碟。這將花費很長時間並使用幾乎兩倍的虛擬磁碟空間。虛擬機不應在導出或導入期間執行。

如果您希望虛擬機的停機時間絕對最短,增量備份的數據傳輸最少,請考慮使用 openIndiana (Solaris) 或執行 ZFS 作為虛擬主機系統的變體。簡單的快照、複製和重複數據刪除。虛擬機的清理快照比虛擬機上的關機/重啟序列花費的時間更少。如果執行 SQL 數據庫並強制鎖定/在備份期間不進行任何更改,則關閉可確保數據庫完整性。關機/快照/重啟序列完成後,通常不到幾分鐘,虛擬機正在執行/可用。然後在閒暇時使用 ZFS 同步僅將快照更改傳輸到另一台備份電腦或外部磁碟。

引用自:https://serverfault.com/questions/274921