Relax-and-Recover (以前稱為 「ReaR」,本章中縮寫為 Rear) 是一套用來建立災難備援影像的管理員工具組。災難備援資訊可儲存於網路上,也可本地儲存於硬碟、USB 裝置、DVD/CD-R、磁帶或類似媒體上。備份資料儲存在網路檔案系統 (NFS) 中。
請注意,必須在災難發生之前對 Rear 進行設定與測試。如果災難已經發生,使用 Rear 也於事無補。
每次建立災難備援媒體時,請一律使用相同的測試機器來測試災難備援,這一點至關重要。僅當此程序的執行結果令人滿意時,才表明災難備援系統的設定適當且可靠。
Rear 支援多種備份工具 (Tivoli Storage Manager、QNetix Galaxy、Symantec NetBackup、EMC NetWorker、HP DataProtector),而且可以將其復原媒體輸出至 CD 或 PXE 環境。還原步驟可透過 NFS、CIFS 或其他網路檔案系統來執行。
若要使用 Rear,您至少需要兩個相同的系統:用來儲存線上環境的主要機器,以及測試機器。這裡所指的「相同」,舉例而言就是使用相同核心驅動程式的網路卡,可以用其中一個來取代另一個。如果某個硬體元件使用不同的驅動程式,則 Rear 不會將其視為相同系統。
SUSE Linux Enterprise Server 在 rear版本套件中隨附了一個災難備援系統。
Rear 的用法如下:
準備. 建立可開機的 CD 備份系統。
測試. 請在發生災難之前,對復原程序進行徹底的測試,並測試與主系統相同的硬體上所儲存的備份!
復原. 從復原媒體開機並從備份還原系統。
為了準備救援媒體,Rear 將會執行下列步驟:
從目標系統收集系統資訊。
儲存磁碟配置 (磁碟分割、檔案系統、LVM、RAID 和開機載入程式)。
複製系統 (核心驅動程式與模組、裝置驅動程式組態、網路組態、系統軟體與工具)。
備份系統與使用者資料。
建立包含系統組態的可開機復原媒體。
災難發生後,復原程序會執行以下動作:
從復原媒體開機。
還原磁碟配置 (磁碟分割區、RAID 組態、LVM、檔案系統)。
還原系統與使用者資料。
還原開機載入程式。
重新啟動系統。
您應該瞭解,由於技術和概念方面的問題,Rear 和 Btrfs 工具存在一些限制:
包含子磁碟區但不含快照的 Btrfs. 至少需要使用 Rear 1.15 版本,因為此版本支援還原 Btrfs 子磁碟區結構。可以備份和還原資料。
包含子磁碟區和快照的 Btrfs. 無法對快照中的資料執行一般的備份和還原。普通的備份工具 (例如 tar) 無法將資料與 Btrfs 快照結構區分開。解決方式之一是排除 Btrfs 快照中的資料,並將此資料與一般資料分開儲存。
在最糟的情況發生之前,應準備好災難備援計劃。災難備援計劃是一份收集了所有風險、基礎結構與預算的文件。您可能已經制定了的計劃,但仍可以瀏覽以下一般綜覽:
風險分析. 對您的基礎結構進行一次全面的風險分析。列出所有可能存在的威脅並評估其嚴重性。判斷這些威脅發生的可能性,並對它們排列優先順序。建議進行一個簡單的分類:可能性與影響。
預算規劃. 分析的結果會是一個綜覽,告訴您哪些風險可以承受,哪些風險對企業影響很大。問問自己,怎樣才能將風險將至最低、這要付出多大的代價。根據公司的規模大小,將整個 IT 預算的 2% 到 50% 花費在災難備援上。
災難備援計劃開發. 製作檢查清單、測試程序、建立並指定優先順序,以及清查 IT 基礎結構。定義當基礎結構中有服務失敗時,要如何處理問題。
測試. 定義完一份詳細的計劃後,需對其進行測試。一年至少測試一次。所使用的測試硬體應與主要 IT 基礎結構相同。
若要設定 Rear,請將您的選項新增至組態檔案 /etc/rear/local.conf 中。以前的檔案 /etc/rear/sites.conf 已從套件中移除。如果您上次設定時新增了這樣一個檔案,Rear 將會繼續使用該檔案。
定義輸出方法,為此,請使用 OUTPUT
變數。例如,若要將復原媒體輸出為 ISO 影像,請使用:
OUTPUT=ISO
變更組態檔案後,請執行以下指令來確定所有設定均正確:
rear dump
檢查輸出並查看有無任何錯誤。
如需詳細資訊,請參閱 Rear 的 man 頁面 (man rear)。
Rear 可以在多種不同的情況下使用。以下範例使用 NFS 伺服器做為備份儲存:
依照《SUSE Linux Enterprise Server 12 管理指南》的「使用 NFS 共享檔案系統」一章所述,使用 YaST 設定 NFS 伺服器。此文件位於 http://www.suse.com/documentation/。
確定 /etc/exports 檔案中包含 NFS 伺服器的正確組態:
/srv/nfs *(fsid=0,crossmnt,rw,no_root_squash,sync,no_subtree_check)
調整組態檔案 /etc/rear/local.conf。請以自己的適當值取代 NETFS_URL。
如果您的 NFS 主機並非 IP 位址,而是主機名稱,則在還原備份時,DNS 必須處於運作狀態。其他選項在 http://rear.github.com/documentation/ 上文件的「各種設定」一節中有介紹。
# Create rear rescue media as ISO image:
OUTPUT=ISO
# Store the backup file via NFS on an NFS server:
BACKUP=NETFS
# BACKUP_OPTIONS variable contains the NFS mount options and
# with 'mount -o nolock' no rpc.statd (plus rpcbind) are needed:
BACKUP_OPTIONS="nfsvers=3,nolock"
# If the NFS server is not an IP address but a hostname,
# DNS must work in the rear recovery system when the backup is restored.
BACKUP_URL=nfs://192.168.1.1/nfs/rear/
# Keep an older copy of the backup in a HOSTNAME.old directory
# provided there is no '.lockfile' in the HOSTNAME directory:
NETFS_KEEP_OLD_BACKUP_COPY=yes
# Files in btrfs subvolumes are excluded by 'tar --one-file-system'
# so that such files must be explictly included to be in the backup.
# Files in the following SLE12 default btrfs subvolumes are
# in the below example not included to be in the backup
# /.snapshots/* /var/tmp/* /tmp/* /var/crash/*
# but files in /home/* are included to be in the backup
# (one line!):
BACKUP_PROG_INCLUDE=( '/home/*' '/var/spool/*' '/var/opt/*' '/var/log/*'
'/var/lib/pgsql/*' '/var/lib/mailman/*' '/var/lib/named/*' '/usr/local/*'
'/srv/*' '/boot/grub2/x86_64-efi/*' '/opt/*' '/boot/grub2/i386-pc/*' )
# Avoid that "rear recover" is 'Creating btrfs-filesystem' by default
# also for every mounted btrfs subvolume by excluding the mountpoints
# of the mounted btrfs subvolumes from component recreation
# see /usr/share/doc/packages/rear/user-guide/06-layout-configuration.txt
# and /usr/share/rear/conf/default.conf
# When /home is a separated filesystem remove "fs:/home" from the list below
# (one line!):
EXCLUDE_RECREATE=( "${EXCLUDE_RECREATE[@]}" "fs:/home" "fs:/.snapshots"
"fs:/var/tmp" "fs:/var/spool" "fs:/var/opt" "fs:/var/log"
"fs:/var/lib/pgsql" "fs:/var/lib/mailman" "fs:/var/lib/named"
"fs:/usr/local" "fs:/tmp" "fs:/srv" "fs:/var/crash"
"fs:/boot/grub2/x86_64-efi" "fs:/opt" "fs:/boot/grub2/i386-pc" )
# This option defines a root password to allow SSH connection
# without a public/private key pair
#SSH_ROOT_PASSWORD="password_on_the_rear_recovery_system"執行以下指令來準備備份:
rear -v mkbackup
若要在測試機器上執行災難備援,請繼續執行以下操作:
找到以 /var/lib/rear/output/rear-主機名稱.iso 名稱儲存的復原 ISO 影像,並將其燒錄至 CD。
使用復原 CD 將測試機器開機。
從功能表選項中選取並按 Enter。
以 root 的身分登入 (不需要密碼)。
輸入 rear recover 以啟動復原程序。復原程序會安裝並設定機器,並從您的 NFS 伺服器擷取備份資料。
此程序完成後,請確定測試機器的設定正確,並且可以取代您的主要機器。按常規測試此程序,以確保一切如預期運作。保留復原 CD 的副本,以防媒體損毀。
若要將 EMC Networker 用做備份工具,請使用以下組態檔案 (相應地變更 BACKUP_URL):
BACKUP=NSR OUTPUT=ISO BACKUP_URL=nfs://dd990.example.com/data/col1/rear/backup OUTPUT_URL=nfs://dd990.example.com/data/col1/rear/output NSRSERVER=backupserver.example.com RETENTION_TIME="Month"
YaST Rear 模組可用於進行基本設定。Rear 可將復原影像及資料儲存在 NFS 後端或隨身碟中。不過,YaST Rear 模組不支援從災難中復原。從災難中復原需要一定的專業技術,必須由管理員手動執行。
若要開始進行基本設定,請執行下列步驟:
指定以何種方式啟動復原系統。如果要從隨身碟開機,請選擇 ;要從 CD-ROM 開機,請選擇 。
指定應將備份儲存在何處。選取或。
如果您需要使用一部伺服器來提供網路檔案系統,請選取 。請以 nfs://hostname/directory 格式指定位置。
如果您要將資料儲存在 USB 隨身碟中,請選取。如果未顯示任何 USB 裝置,請連接隨身碟或 USB 磁碟,然後按一下。
如果您要儲存以前的備份副本,請選中。
如果您要新增其他也應包含在備份中的目錄,請使用功能表並選取。
如果您的救援系統因為缺少核心模組而無法開機,請使用功能表,選取,然後將相應的核心模組新增至為救援系統新增之模組的清單中。
按一下按鈕以啟動備份程序。
當 YaST Rear 模組完成備份之後,測試您的備份,以確定它依預期運作。
rear man 頁面
/usr/share/doc/packages/rear/README