BigAdmin System Administration Portal
專文
Print-friendly VersionPrint-friendly Version

在已安裝區域的系統上,進行備份、復原和嚴重損壞回復

Penny Cotten,2005 年 11 月 (2006 年 11 月檢閱)

備份、復原和嚴重損壞回復是資料管理的重要元素。當您使用區域時,企業組織的需求,可左右您選擇何種解決方案來備份執行 Solaris 作業系統 (OS) 的系統。

備份檔案系統表示將檔案系統複製至卸除式的媒體 (如磁帶),以避免遺失、損壞或毀損。復原檔案系統表示將目前的備份檔案從卸除式媒體複製至工作目錄。

雖然此文是在 2005 年 11 月撰寫,但是已在 2006 年 11 月檢閱過其正確性。此文件討論各種備份您系統上區域配置和資料的方法,並提供可以使用之不同方法的建議。


判斷執行備份的位置

您可以在個別非全域區域中執行備份,也可以從全域區域備份非全域區域。

備份 LOFS 目錄

因為許多非全域區域會使用回送檔案系統唯讀掛載 (通常是 /usr/lib/sbin/platform) 與全域區域共用檔案,因此請務必使用全域區域備份策略來備份 LOFS。不建議在非全域區域中備份 LOFS 檔案系統。在此情況下無法進行復原,而且非全域管理員只要進行這類嘗試都可能導致嚴重問題。

從全域區域備份系統

在下列情況下,您可能選擇從全域區域執行備份:

  • 您擁有 Symantec/VERITAS NetBackup 這類網路備份軟體。

  • 您想要備份非全域區域的配置以及應用程式資料。

  • 您最關心的是嚴重損壞回復。如果您需要復原系統上的所有內容或幾乎所有內容 (包括您區域的根檔案系統與其配置資料,以及全域區域中的資料),則最好使用全域區域作為進行備份的位置。

  • 您想要使用 ufsdump 來執行資料備份。因為將實體磁碟裝置匯入非全域區域會變更區域的安全性設定檔,所以應該只從全域區域使用 ufsdump

備份系統上的個別非全域區域

在下列情況下,您可能決定在非全域區域內執行備份:

  • 非全域區域管理員想要備份他們所管理區域中的資料,以便回復較不嚴重的失敗或者復原區域特有的應用程式或使用者資料。

  • 您想要使用逐一備份所有檔案的程式 (如 tar(1)cpio(1))。

  • 使用在區域中執行之特定應用程式或服務的備份軟體。因為全域區域與非全域區域之間的應用程式環境 (如目錄路徑和安裝的軟體) 不同,所以從全域區域執行備份軟體可能十分困難。

    如果應用程式可以依據本身的備份排程在每個非全域區域中執行快照,並將從全域區域匯出的備份儲存在可寫入的目錄中,則全域區域管理員就可以挑選個別備份加入整體的全域區域備份策略。


區域備份方法摘要

下列各節會摘要說明可以用來備份區域中檔案的方法。

使用 ufsdump 執行備份

您可以使用 ufsdump 指令執行完整或增量備份。此程序會將區域 /export/zone1 備份至 /backup/zone1.ufsdump,其中「zone1」會取代為您系統上的區域名稱。

1. (選擇性) 您可以在使用 ufsdump 指令之前關閉區域,使區域進入靜止狀態,並避免備份共用的檔案系統。

global# zlogin -S zone1 init 0

2. (選擇性) 檢查區域的狀態。

global# zoneadm list -cv

ID NAME     STATUS       PATH
0 global    running      /
- zone1     installed    /export/zone1

3. 執行備份。

global# ufsdump 0f /backup/zone1.ufsdump /export/zone1

DUMP: Date of this level 0 dump: Wed Aug 10 16:13:52 2005
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rdsk/c0t0d0s0 (bird:/) to /backup/zone1.ufsdump.
DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [directories]
DUMP: Writing 63 Kilobyte records
DUMP: Estimated 363468 blocks (174.47MB).
DUMP: Dumping (Pass III) [directories]
DUMP: Dumping (Pass IV) [regular files]
DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec
DUMP: DUMP IS DONE

4. 啟動區域。

global# zoneadm -z zone1 boot

使用 fssnap 建立 UFS 快照

此方式會使用 fssnap 指令,而這個指令會建立用於備份作業的檔案系統暫存影像。

此方法可以用來提供乾淨且一致的區域檔案備份,而且它可以在區域執行時執行。然而,最好是暫停或檢查在建立快照時更新檔案的使用中應用程式。在建立快照時更新檔案的應用程式,可能會讓這些檔案處於內部不一致、截斷或無法使用的狀態。

在下面的程序範例中:

  • /export/home 下方有一個名稱為 zone1 的區域。
  • /export/home 是不同的檔案系統。
  • 目標備份是 /backup/zone1.ufsdump。您必須先建立 /backup,再開始進行。

1. 建立快照:

global# fssnap -o bs=/export /export/home

/dev/fssnap/0

2. 掛載快照。

global# mount -o ro /dev/fssnap/0 /mnt

3. 從快照備份 zone1

global# ufsdump 0f /backup/zone1.ufsdump /mnt/zone1

DUMP: Date of this level 0 dump: Thu Oct 06 15:13:07 2005
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rfssnap/0 (bird:/mnt) to /backup/zone1.ufsdump.
DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [directories]
DUMP: Writing 32 Kilobyte records
DUMP: Estimated 176028 blocks (85.95MB).
DUMP: Dumping (Pass III) [directories]
DUMP: Dumping (Pass IV) [regular files]
DUMP: 175614 blocks (85.75MB) on 1 volume at 2731 KB/sec
DUMP: DUMP IS DONE

4. 卸載快照。

global# umount /mnt

5. 刪除快照。

global# fssnap -d /dev/fssnap/0

請注意,重新啟動系統時,也會移除快照。

使用 findcpio 執行備份

下列方法會在執行中區域上使用 findcpio

1. 將目錄變更為 / 目錄:

global# cd /

2. 備份不會回送掛載至 /backup/zone1.cpiozone1 檔案。

global# find export/zone1 -fstype lofs -prune -o -local | 
  cpio -oc -O /backup/zone1.cpio

3. 驗證結果。

global# ls -l backup/zone1.cpio

-rwxr-xr-x 1 root root 99680256 Aug 10 16:13 backup/zone1.cpio

使用網路備份軟體備份和復原系統

您可以使用 Symantec/VERITAS NetBackup 這類產品來備份或復原 Solaris 系統。Symantec/VERITAS NetBackup 可以進行整個企業的備份、歸檔和復原協調。您可以在 http://seer.support.veritas.com/docs/275107.htm 取得已安裝區域之 Solaris 10 系統的 NetBackup 支援描述。

非全域區域中支援 NetBackup 用戶端軟體。全域區域中則支援 NetBackup 主伺服器和媒體伺服器。NetBackup 主伺服器可管理備份、歸檔和復原。媒體伺服器透過允許 NetBackup 使用它們所控制的儲存裝置 (如 4 毫米磁帶機),而提供額外的儲存。

您可以復原整個系統或特定的檔案和目錄。NetBackup 會尋找選取的檔案和目錄,並將它們復原至用戶端上的磁碟。

您不需要變更標準 NetBackup 架構,就可以將它套用至已安裝區域的系統。您可以將每個非全域區域視為執行 NetBackup 用戶端軟體的獨立伺服器。

應該在區域和其應用程式已靜止要備份的資料時執行備份。

注意:可能的話,您的網路備份軟體應該配置為略過所有繼承的 LOFS 檔案系統。

秘訣:如果您想要合併伺服器或利用相同系統上的非全域區域之間較高的網路頻寬 (與有線網路相比),則也可以在相同系統上並置媒體伺服器。伺服器與儲存裝置之間的連線必須要有足夠的頻寬供所有備份串流使用。

您可以在下列位置取得 Symantec/VERITAS NetBackup 產品的完整文件:
http://www.sun.com/products-n-solutions/hardware/docs/Software/Storage_Software/VERITAS_NetBackup/index.html


判斷要備份的項目

您可以備份非全域區域中的所有項目,或者,因為區域的配置變更較不頻繁,所以您可以只備份應用程式資料。

只備份應用程式資料

如果應用程式資料保留在檔案系統的特定部分中,則您最好只對此資料執行一般備份。區域的根檔案系統不常變更,因此可能不需要經常備份。

判斷應用程式放置其檔案的位置,實際上十分困難。有些檔案儲存在每位使用者的主目錄中、有些檔案儲存在 /etc 中 (大多是配置資料),而其他檔案則保留在 /var 下。

假設應用程式管理員知道資料的儲存位置,才可能建立一套系統,使得每個區域都能使用各區域的可寫入目錄。這樣,每個區域就可以儲存自己的備份,而全域管理員可以將此位置當成系統上用來備份的其中一個位置。

一般資料庫備份作業

如果資料庫應用程式資料未放在自己的目錄下,則會套用下列規則。

  • 先確定資料庫處於一致狀態。因為資料庫會將內部緩衝區清空至磁碟,因此必須靜止資料庫。確定先關閉非全域區域中的資料庫,再從全域區域啟動備份。
  • 在每個區域內,使用檔案系統功能來建立資料的快照。直接從全域區域備份快照。這樣可使備份視窗的經歷時間降至最低,而且所有區域中都不需要備份用戶端/模組。

磁帶備份

在短暫靜止應用程式時,每個非全域區域都可以在最方便的時間,建立私有檔案系統的快照。之後,全域區域就可以備份每個快照,並在應用程式回復使用之後將這些快照放入磁帶中。

此方法的優點如下:

  • 將需要的磁帶裝置數目減到最少。
  • 非全域區域之間不需要進行協調。
  • 不需要將裝置直接指定給區域,這樣可提高安全性。
  • 一般而言,系統管理只在全域區域中進行,這是較好的作法。

關於復原非全域區域

如果是從全域區域進行備份的復原,則全域管理員可以重新安裝受影響的區域,然後復原此區域的檔案。請注意,這個情況假設:

  • 所復原區域的配置與它在備份完成時的配置相同。
  • 在完成備份與復原區域這兩個時間之間,未升級或修補全域區域。

否則,復原可能會覆寫一些應該手動合併的檔案。

例如,如果是在備份之後但在復原非全域區域之前修補的全域區域,則可能需要手動合併檔案。在此情況下,因為已備份的檔案可能會與在全域區域已套用修補程式之後建置的新安裝區域不相容,所以您在復原區域的已備份檔案時需要特別小心。因此,您需要個別檢查檔案,並比較它們與新安裝區域中的副本。在多數情況下,您會發現可以直接複製檔案,但在某些情況下,必須將原先對檔案進行的原始變更,合併至區域中的新安裝或修補的副本。

注意:如果嚴重遺失全域區域中所有檔案系統的資料,則只要備份中含有非全域區域的對應根檔案系統,則復原全域區域中的所有項目時也會一併復原非全域區域。

備份個別區域配置供未來使用

您可能必須在未來的某個時點重建區域,因此應該備份非全域區域的配置。您在第一次登入區域並回應 sysidtool 問題之後,應該建立區域配置的副本。

您可以將每個區域的配置列示至檔案 (如下所示)。

1. 成為超級使用者,或採用「主要管理員」角色。

2. 將名稱為 zone1 之區域的區域配置列示至名稱為 zone1.config 的檔案中。

global# zonecfg -z zone1 export > zone1.config

如何復原個別非全域區域

若要從利用 zonecfg export 指令建立的檔案復原非全域區域,請使用下列程序。

1. 成為超級使用者,或採用「主要管理員」角色。

2. 重建區域時,指定 zone1.config 作為 zonecfg 指令檔案:

global# zonecfg -z zone1 -f zone1.config

3. 安裝區域:

global# zoneadm -z zone1 install

4. 若不要讓系統顯示初次區域登入時詢問的 sysidtool 問題,請刪除檔案 zonepath/root/etc/.UNCONFIGURED。例如:

global# rm /export/home/zone1/root/etc/.UNCONFIGURED

如需您第一次登入非全域區域時詢問之 sysidconfig(1M) 問題的更多資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的「Performing the Initial Internal Zone Configuration」。

5. (選擇性) 將檔案 (如應用程式資料備份) 手動復原 (也可能是手動合併) 至新建立區域的檔案系統中。


參考資料


Comments (latest comments first)

Discuss and comment on this resource in the BigAdmin Wiki

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub