鏡像的 Solstice DiskSuite 中介裝置或 Solaris Volume Manager 磁碟區可以在沒有卸載且沒有使整個鏡像離線的情況下進行備份。有一個子鏡像必須暫時設成離線,這樣會導致失去鏡像功能,但可在備份完成後重新使它進入線上並同步,如此可以不必關機或拒絕使用者存取資料。使用鏡像執行線上備份會建立使用中檔案系統的「快照」備份。
如果程式在執行 lockfs 指令之前將資料寫入磁碟區,可能會發生問題。要避免這個問題,請先暫時停止在這個節點上執行的所有服務。另外,請先確認叢集在執行時沒有出現錯誤,再執行備份程序。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
在要備份的叢集節點上以超級使用者身份登入或成為等效角色。
使用 metaset(1M) 指令以判定哪個節點擁有已備份磁碟區的所有權。
# metaset -s setname |
指定磁碟組名稱。
將 -w 選項與 lockfs(1M) 指令搭配使用,以鎖定檔案系統,防止寫入。
# lockfs -w mountpoint |
只有當 UFS 檔案系統位於鏡像上時,才需要鎖定檔案系統。例如,如果 Solstice DiskSuite 中介裝置或 Solaris Volume Manager 磁碟區被設置為資料庫管理軟體或某些其他特定應用程式的原始裝置,您將不必使用 lockfs 指令。不過,您可能要執行適當的廠商相關公用程式,來清除任何緩衝區以及鎖定存取。
使用 metastat(1M) 指令確定子鏡像的名稱。
# metastat -s setname -p |
以類似 md.tab 檔的格式顯示狀態。
使用 metadetach(1M) 指令使一個子鏡像從鏡像離線。
# metadetach -s setname mirror submirror |
讀取作業將從其他子鏡像持續進行。不過,離線的子鏡像將在第一次寫入其他鏡像時失去同步。這種不一致可在離線子鏡像重回線上時更正。您不必執行 fsck。
使用 lockfs 指令以及 -u 選項解除檔案系統的鎖定以容繼續寫入。
# lockfs -u mountpoint |
執行檔案系統檢查。
# fsck /dev/md/diskset/rdsk/submirror |
將離線子鏡像備份到磁帶或其他媒體。
使用 ufsdump(1M) 指令或常用的備份公用程式。
# ufsdump 0ucf dump-device submirror |
請使用子鏡像的原始裝置 (/rdsk) 名稱,而不是區段裝置 (/dsk) 名稱。
使用 metattach(1M) 指令使中介裝置或磁碟區重新上線運作。
# metattach -s setname mirror submirror |
中介裝置或磁碟區進入線上狀態後,將自動和鏡像重新同步。
使用 metastat 指令來驗證子鏡像是否重新同步。
# metastat -s setname mirror |
在下列範例中,叢集節點 phys-schost-1 為 metaset schost-1 的所有者,因此備份程序是從 phys-schost-1 開始執行。鏡像 /dev/md/schost-1/dsk/d0 是由 d10、d20 和 d30 子鏡像所組成。
[Determine the owner of the metaset:] # metaset -s schost-1 Set name = schost-1, Set number = 1 Host Owner phys-schost-1 Yes ... [Lock the file system from writes:] # lockfs -w /global/schost-1 [List the submirrors:] # metastat -s schost-1 -p schost-1/d0 -m schost-1/d10 schost-1/d20 schost-1/d30 1 schost-1/d10 1 1 d4s0 schost-1/d20 1 1 d6s0 schost-1/d30 1 1 d8s0 [Take a submirror offline:] # metadetach -s schost-1 d0 d30 [Unlock the file system:] # lockfs -u / [Check the file system:] # fsck /dev/md/schost-1/rdsk/d30 [Copy the submirror to the backup device:] # ufsdump 0ucf /dev/rmt/0 /dev/md/schost-1/rdsk/d30 DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Tue Apr 25 16:15:51 2000 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/md/schost-1/rdsk/d30 to /dev/rdsk/c1t9d0s0. ... DUMP: DUMP IS DONE [Bring the submirror back online:] # metattach -s schost-1 d0 d30 schost-1/d0: submirror schost-1/d30 is attached [Resynchronize the submirror:] # metastat -s schost-1 d0 schost-1/d0: Mirror Submirror 0: schost-0/d10 State: Okay Submirror 1: schost-0/d20 State: Okay Submirror 2: schost-0/d30 State: Resyncing Resync in progress: 42% done Pass: 1 Read option: roundrobin (default) ... |