以下是本章的逐步程序列表。
作業 |
相關資訊,請進到 ... |
---|---|
尋找您要備份的檔案系統的名稱。 | |
計算完整備份所需的磁帶數。 | |
備份 root 檔案系統 | |
執行鏡映或診測檔案系統的線上備份。 | |
請使用這個程序來判斷您要備份之檔案系統的名稱。
顯示 /etc/vfstab 檔的內容。
您不必是超級使用者(superuser)才能夠指定這個指令。
% more /etc/vfstab |
在裝載點欄位尋找您要備份之檔案系統的名稱。
請在備份檔案系統時使用這個名稱。
% more /etc/vfstab |
在以下範例中,列示在 /etc/vfstab 檔中的可用檔案系統會顯示出來。
% more /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes - f - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c1t6d0s1 - - swap - no - /dev/dsk/c1t6d0s0 /dev/rdsk/c1t6d0s0 / ufs 1 no - /dev/dsk/c1t6d0s3 /dev/rdsk/c1t6d0s3 /cache ufs 2 yes - swap - /tmp tmpfs - yes - |
請使用這個程序來計算您備份檔案系統時所需的磁帶數。
在您要備份之叢集節點上成為超級使用者(superuser)。
以位元組預估備份大小。
# ufsdump S filesystem |
顯示執行備份時的預計位元組數。
指定您要備份之檔案系統的名稱。
將預估大小除以磁帶容量來求出所需的磁帶數。
在以下範例中,905,881,620 位元組的檔案系統可以輕易地放入 4 GB 磁帶(905,881,620 / 4,000,000,000)。
# ufsdump S /global/phys-schost-1 905881620 |
請使用這個程序來備份叢集節點的 root(/)檔案系統。請先確定叢集執行沒有任何錯誤再執行備份程序。
在您要備份之叢集節點上成為超級使用者(superuser)。
將要備份之節點的資料服務切換到叢集中的其他節點。
# scswitch -z -D disk-device-group -h node |
執行切換。
磁碟裝置群組的名稱,和磁碟組或磁碟群組名稱相同。
當作磁碟裝置群組主要節點的叢集節點的名稱。
停止節點。
# shutdown -g0 -y |
在 ok 提示,重新啟動為非叢集模式。
ok boot -x |
備份 root(/)檔案系統。
如果根磁碟為未密封,請使用下列指令。
# ufsdump 0ucf dump-device / |
如果根磁碟為已密封,請使用下列指令。
# ufsdump 0ucf dump-device /dev/vx/rdsk/rootvol |
請參閱 ufsdump(1M) 線上援助頁來取得詳細資訊。
將節點重新啟動為叢集模式。
# init 6 |
在以下範例中,root(/)檔案系統備份到磁帶裝置 /dev/rmt/0。
# ufsdump 0ucf /dev/rmt/0 / DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Tue Apr 18 18:06:15 2000 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s0 (phys-schost-1:/) to /dev/rmt/0 DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 859086 blocks (419.48MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: 859066 blocks (419.47MB) on 1 volume at 2495 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Tue Apr 18 18:06:15 2000 |
備份鏡映中繼裝置時不必先卸載,也不必將整個鏡映設成離線。有一個子鏡映必須暫時設成離線,這樣會導致失去鏡映功能,但可在備份完成後重新使它進入線上並同步,如此可以不必關機或拒絕使用者存取資料。使用鏡映來執行線上備份可建立作用中檔案系統的 "快照" 備份。
如果在 lockfs 指令即將執行之前有程式寫入資料到容體,將可能發生問題。要避免這個問題,請先暫時停止這個節點上執行的所有服務。另外,請先確認叢集執行沒有任何錯誤再執行備份程序。
在您要備份之叢集節點上成為超級使用者(superuser)。
使用 metaset(1M) 指令來判斷哪一個節點擁有已備份容體的所有權。
# metaset -s setname |
指定磁碟組名稱。
使用 lockfs(1M) 指令以及 -w 選項來使檔案系統進入防寫的鎖定狀態。
# lockfs -w mount-point |
只有在 UFS 檔案系統常駐在鏡映上時,才需要鎖定檔案系統。例如,如果中繼裝置設成資料庫管理軟體或其他特定應用程式的原始裝置,則不需要使用 lockfs 指令。不過,您可能要執行適當的廠商相關公用程式來重設任何緩衝區以及鎖定存取。
使用 metastat(1M) 指令來判斷子鏡映的名稱。
# metastat -s setname -p |
以和 md.tab 檔相似的格式顯示狀態。
使用 metadetach(1M) 指令來使一個子鏡映從鏡映離線。
# metadetach -s setname mirror submirror |
讀取作業將從其他子鏡映持續進行。 不過,離線的子鏡映將在第一次寫入其他鏡映時失去同步。這種不一致可在離線子鏡映重回線上時更正。您不需要執行 fsck。
使用 lockfs 指令以及 -u 選項解除檔案系統的鎖定以容許繼續寫入。
# lockfs -u mount-point |
執行檔案系統檢查。
# fsck /dev/md/diskset/rdsk/submirror |
將離線子鏡映備份到磁帶或其他媒體。
請使用 ufsdump(1M) 指令或其他常用的備份公用程式。
請使用子鏡映的原始裝置(/rdsk)名稱,而不是區塊裝置(/dsk)名稱。
# ufsdump 0ucf dump-device submirror |
使用 metattach(1M) 指令將中繼裝置重新設回線上狀態。
# metattach -s setname mirror submirror |
中繼裝置進入線上狀態後,將自動和鏡映同步。
使用 metastat 指令來驗證子鏡映是否同步。
# metastat -s setname mirror |
在以下範例中,叢集節點 phys-schost-1 是中繼組 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 [Resync 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) ... |
VERITAS 容體管理者將鏡映容體識別為診測裝置(plex)。備份診測裝置時不必先卸載,也不必將整個容體設成離線。這是透過建容體的快照副本以及備份這個暫時容體的方式來完成,不必關閉系統也不必拒絕使用者存取資料。
請先確定叢集執行沒有任何錯誤再執行備份程序。
登入叢集中任一個節點,同時在叢集上之磁碟群組的現行主要節點成為超級使用者(superuser)。
列出磁碟群組資訊。
# vxprint -g diskgroup |
執行 scstat(1M) 以檢查哪一個節點擁有目前匯入的磁碟群組,表示它就是磁碟群組的主要節點。
# scstat -D |
顯示所有磁碟裝置群組的狀態。
使用 vxassist(1M) 指令來建立容體的快照。
# vxassist -g diskgroup snapstart volume |
視您容體大小而定,建立快照可能需要一段長時間。
使用 vxprint(1M) 指令確認新建的容體。
# vxprint -g diskgroup |
當快照完成時,Snapdone的狀態會顯示在選取之磁碟群組的 State 欄位中。
使用 scswitch(1M) 停止任何存取檔案系統的資料服務。
# scswitch -z -g nfs-rg -h "" |
建議您停止資料服務以確保資料檔案系統備份正常執行。如果沒有任何資料服務正在執行,則您不需要執行 步驟 6 與 步驟 8。
使用 vxassist 指令建立名為 bkup-vol 的備份容體並將快照容體貼附到其中。
# vxassist -g diskgroup snapshot volume bkup-vol |
使用 scswitch 指令重新啟動您在 步驟 6 停止的資料服務。
# scswitch -z -g nfs-rg -h nodename |
使用 vxprint 指令驗證容體現在已經貼附到新容體 bkup-vol。
# vxprint -g diskgroup |
使用 scconf(1M) 指令來登錄磁碟群組配置變更。
# scconf -c -D name=diskgroup,sync |
使用 fsck 指令檢查備份容體。
# fsck -y /dev/vx/rdsk/diskgroup/bkup-vol |
執行備份作業,將容體 bkup-vol 複製到磁帶或其他媒體。
請使用 ufsdump(1M) 指令或您常用的其他備份公用程式。
# ufsdump 0ucf dump-device /dev/vx/dsk/diskgroup/bkup-vol |
使用 vxedit(1M) 指令移除暫時容體。
# vxedit -rf rm bkup-vol |
使用 scconf 指令來登錄磁碟群組配置變更。
# scconf -c -D name=disk-group,sync |
在以下範例中,叢集節點 phys-schost-2 是中繼組磁碟群組 schost-1 的主要所有者,因此備份程序是從 phys-schost-2 執行。 容體 /vo101 將被複製並和新容體 bkup-vol 關聯。
[Become superuser on the primary node.] [Identify the current primary node for the disk group:] # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: rmt/1 - - Device group servers: schost-1 phys-schost-2 phys-schost-1 -- Device Group Status -- Device Group Status ------------ ------ Device group status: rmt/1 Offline Device group status: schost-1 Online [List the disk group information:] # vxprint -g schost-1 TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dg schost-1 schost-1 - - - - - - dm schost-101 c1t1d0s2 - 17678493 - - - - dm schost-102 c1t2d0s2 - 17678493 - - - - dm schost-103 c2t1d0s2 - 8378640 - - - - dm schost-104 c2t2d0s2 - 17678493 - - - - dm schost-105 c1t3d0s2 - 17678493 - - - - dm schost-106 c2t3d0s2 - 17678493 - - - - v vol01 gen ENABLED 204800 - ACTIVE - - pl vol01-01 vol01 ENABLED 208331 - ACTIVE - - sd schost-101-01 vol01-01 ENABLED 104139 0 - - - sd schost-102-01 vol01-01 ENABLED 104139 0 - - - pl vol01-02 vol01 ENABLED 208331 - ACTIVE - - sd schost-103-01 vol01-02 ENABLED 103680 0 - - - sd schost-104-01 vol01-02 ENABLED 104139 0 - - - pl vol01-03 vol01 ENABLED LOGONLY - ACTIVE - - sd schost-103-02 vol01-03 ENABLED 5 LOG - - - [Start the snapshot operation:] # vxassist -g schost-1 snapstart vol01 [Verify the new volume was created:] # vxprint -g schost-1 TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dg schost-1 schost-1 - - - - - - dm schost-101 c1t1d0s2 - 17678493 - - - - dm schost-102 c1t2d0s2 - 17678493 - - - - dm schost-103 c2t1d0s2 - 8378640 - - - - dm schost-104 c2t2d0s2 - 17678493 - - - - dm schost-105 c1t3d0s2 - 17678493 - - - - dm schost-106 c2t3d0s2 - 17678493 - - - - v vol01 gen ENABLED 204800 - ACTIVE - - pl vol01-01 vol01 ENABLED 208331 - ACTIVE - - sd schost-101-01 vol01-01 ENABLED 104139 0 - - - sd schost-102-01 vol01-01 ENABLED 104139 0 - - - pl vol01-02 vol01 ENABLED 208331 - ACTIVE - - sd schost-103-01 vol01-02 ENABLED 103680 0 - - - sd schost-104-01 vol01-02 ENABLED 104139 0 - - - pl vol01-03 vol01 ENABLED LOGONLY - ACTIVE - - sd schost-103-02 vol01-03 ENABLED 5 LOG - - - pl vol01-04 vol01 ENABLED 208331 - SNAPDONE - - sd schost-105-01 vol01-04 ENABLED 104139 0 - - - sd schost-106-01 vol01-04 ENABLED 104139 0 - - - [Stop data services, if necessary:] # scswitch -z -g nfs-rg -h "" [Create a copy of the volume:] # vxassist -g schost-1 snapshot vol01 bkup-vol [Restart data services, if necessary:] # scswitch -z -g nfs-rg -h phys-schost-1 [Verify bkup-vol was created:] # vxprint -g schost-1 TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dg schost-1 schost-1 - - - - - - dm schost-101 c1t1d0s2 - 17678493 - - - - dm schost-102 c1t2d0s2 - 17678493 - - - - dm schost-103 c2t1d0s2 - 8378640 - - - - dm schost-104 c2t2d0s2 - 17678493 - - - - dm schost-105 c1t3d0s2 - 17678493 - - - - dm schost-106 c2t3d0s2 - 17678493 - - - - v bkup-vol gen ENABLED 204800 - ACTIVE - - pl bkup-vol-01 bkup-vol ENABLED 208331 - ACTIVE - - sd schost-105-01 bkup-vol-01 ENABLED 104139 0 - - - sd schost-106-01 bkup-vol-01 ENABLED 104139 0 - - - v vol01 gen ENABLED 204800 - ACTIVE - - pl vol01-01 vol01 ENABLED 208331 - ACTIVE - - sd schost-101-01 vol01-01 ENABLED 104139 0 - - - sd schost-102-01 vol01-01 ENABLED 104139 0 - - - pl vol01-02 vol01 ENABLED 208331 - ACTIVE - - sd schost-103-01 vol01-02 ENABLED 103680 0 - - - sd schost-104-01 vol01-02 ENABLED 104139 0 - - - pl vol01-03 vol01 ENABLED LOGONLY - ACTIVE - - sd schost-103-02 vol01-03 ENABLED 5 LOG - - - [Synchronize the disk group with cluster framework:] # scconf -c -D name=schost-1,sync [Check the file systems:] # fsck -y /dev/vx/rdsk/schost-1/bkup-vol [Copy bkup-vol to the backup device:] # ufsdump 0ucf /dev/rmt/0 /dev/vx/rdsk/schost-1/bkup-vol 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/vx/dsk/schost-2/bkup-vol to /dev/rmt/0. ... DUMP: DUMP IS DONE [Remove the bkup-volume:] # vxedit -rf rm bkup-vol [Synchronize the disk group:] # scconf -c -D name=schost-1,sync |
ufsrestore 指令可將檔案從使用 ufsdump 指令建立的備份,複製到磁碟(相對於現在的工作目錄)。您可以使用 ufsrestore 從層次 0 傾出以及之後的增量傾出重新載入檔案系統階層,或從任何傾出磁帶復原一個或多個單一檔案。 如果以超級使用者(superuser)身份執行 ufsrestore,檔案將復原為原來的所有者、最後修改時間以及模式(許可權)。
在開啟復原檔案或檔案系統之前,您必須知道:
您需要的磁帶
您要復原之檔案系統所在的原始裝置名稱
您要使用的磁帶機
磁帶裝置的裝置名稱(本端或遠程)
任何失效磁碟的分割區機制,因為分割區與檔案系統必須完全複製到取代磁碟上
作業 |
相關資訊,請進到 ... |
---|---|
在 Solstice DiskSuite,依 Solaris 復原程序以互動方式復原檔案。 | |
在 Solstice DiskSuite,請復原 root(/)檔案系統。 | |
| |
在 VERITAS 容體管理者,請復原非密封的 root(/)檔案系統。 | |
在 VERITAS 容體管理者,請復原密封的 root(/)檔案系統。 |
請使用這個程序來復原一個或多個個別的檔案。請先確定叢集執行沒任何錯誤再執行復原程序。
成為您要復原之叢集節點的超級使用者(superuser)。
停止所有使用要復原之檔案的資料服務。
# scswitch -z -g rgname -h "" |
使用 ufsrestore 指令復原檔案。
請使用這個程序將將 root(/)檔案系統復原到新磁碟,例如在更換損壞的根磁碟的情況。要復原的節點應該不在啟動狀態。請先確定叢集執行沒任何錯誤再執行復原程序。
由於您必須將新磁碟的分割區製作成和失效磁碟完全相同的格式,請在開啟本程序之前先識別分割機制,同時適當地重新建立檔案系統。
在您要復原之節點以外的節點上成為超級使用者(superuser)。
使用 metaset(1M) 指令,從所有中繼組移除復原之節點的主機名稱。請在中繼組,而不是您要移除的節點,執行這個指令。
# metaset -s setname -f -d -h node |
指定磁碟組名稱。
強迫。
從磁碟組刪除。
指定要從磁碟組刪除之節點的名稱。
置換節點上要復原 root(/)檔案系統的失效磁碟。
請參閱附隨伺服器之文件中敘述的磁碟置換程序。
啟動正在復原的啟動。
如果您使用 Solaris CD-ROM,請執行下列指令:
ok boot cdrom -s |
如果您使用 JumpStartTM 伺服器時,請執行下列指令:
ok boot net -s |
使用 format(1M) 指令,在根磁碟上建立所有的分割區與交換。
重新建立失效磁碟的原始分割機制。
使用 newfs(1M) 指令,建立適當的 root(/)檔案系統以及其他檔案系統。
重新建立失效磁碟的原始檔案系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
將 root(/)檔案系統裝載到暫時裝載點。
# mount device temp-mount-point |
使用下列指令來復原 root(/)檔案系統。
# cd temp-mount-point # ufsrestore rvf dump-device # rm restoresymtable # cd / # umount temp-mount-point # fsck raw-disk-device |
檔案系統現在完成復原。
在新磁碟安裝新的啟動區塊。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
將節點重新開機為單用戶模式。
# reboot -- "-s" |
使用 scdidadm 指令置換磁碟 ID。
# scdidadm -R rootdisk |
使用 metadb(1M) 指令重新建立狀態資料庫抄本。
# metadb -c copies -af raw-disk-device |
指定要建立的抄本數目。
要在其上建立抄本的原始裝置。
新增抄本。
將節點重新啟動為叢集模式。
在復原的節點以外的叢集節點上,使用 metaset(1M) 指令將復原的節點新增到所有中繼組。
phys-schost-2# metaset -s setname -a -h node |
建立並新增主機到磁碟組。
節點重新啟動為叢集模式。叢集已經備妥可以使用。
以下範例顯示 root(/)檔案系統從磁帶裝置 /dev/rmt/0 復原到節點 phys-schost-1。metaset 指令是從 phys-schost-2 叢集中的另一個節點執行,先移除備份節點 phys-schost-1 稍後再將它加回磁碟組 schost-1。其他所有指令都是從 phys-schost-1 執行。新的啟動區塊將建立在 /dev/rdsk/c0t0d0s0,三個狀態資料庫抄本則是重新建立在 /dev/rdsk/c0t0d0s4。
[Become superuser on a cluster node other than the node to be restored.] [Remove the node from the metaset:] phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1 [Replace the failed disk and boot the node:] ok boot cdrom -s [Use format and newfs to recreate partitions and file systems.] [Mount the root file system on a temporary mount point:] # mount /dev/dsk/c0t0d0s0 /a [Restore the root file system:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [Install a new boot block:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [Reboot in single-user mode:] # reboot -- "-s" [Replace the disk ID:] # scdidadm -R /dev/dsk/c0t0d0 [Recreate state database replicas:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 # reboot Press CTL-d to boot into multiuser mode. [Add the node back to the metaset:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
請使用這個程序來復原執行備份時在中繼裝置上的 root(/)檔案系統。並在根磁碟毀壞而換成新磁碟等的情況執行這個程序。要復原的節點應該不在啟動狀態。請先確定叢集執行沒任何錯誤再執行復原程序。
由於您必須將新磁碟的分割區製作成和失效磁碟完全相同的格式,請在開啟本程序之前先識別分割機制,同時適當地重新建立檔案系統。
在可存取中繼組的叢集節點上,而不是您要復原的節點,成為超級使用者(superuser)。
使用 metaset(1M) 指令從所有中繼組移除要復原之節點的主機名稱。
# metaset -s setname -f -d -h node |
指定中繼組名稱名稱。
強迫。
從中繼組刪除。
指定要從中繼組刪除之節點的名稱。
置換節點上要復原 root(/)檔案系統的失效磁碟。
請參閱附隨伺服器之文件中敘述的磁碟置換程序。
啟動正在復原的啟動。
如果您使用 Solaris CD-ROM,請執行下列指令:
ok boot cdrom -s |
如果您使用 JumpStart 伺服器,請執行下列指令:
ok boot net -s |
使用 format(1M) 指令,在根磁碟上建立所有的分割區與交換。
重新建立失效磁碟的原始分割機制。
使用 newfs(1M) 指令,適當建立 root(/)檔案系統以及其他檔案系統。
重新建立失效磁碟的原始檔案系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
Mount the root (/) file system on a temporary mount point.
# mount device temp-mount-point |
使用以下指令復原(/)檔案系統。
# cd temp-mount-point # ufsrestore rvf dump-device # rm restoresymtable |
在新磁碟安裝新的啟動區塊。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
移除 /temp-mount-point/etc/system 檔中下列與 MDD root 資訊相關的行。
* Begin MDD root info (do not edit) forceload: misc/md_trans forceload: misc/md_raid forceload: misc/md_mirror forceload: misc/md_hotspares forceload: misc/md_stripe forceload: drv/pcipsy forceload: drv/glm forceload: drv/sd rootdev:/pseudo/md@0:0,10,blk * End MDD root info (do not edit) |
編輯 /temp-mount-point/etc/vfstab 檔,將作為中繼裝置之一部份的根磁碟上每一個檔案系統的根登錄從中繼裝置改成對應的一般片段(normal slice)。
Example: Change from- /dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no - Change to- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /usr ufs 1 no - |
卸載暫時檔案系統,接著檢查原始磁碟裝置。
# cd / # umount temp-mount-point # fsck raw-disk-device |
將節點重新開機為單用戶模式。
# reboot -- "-s" |
使用 scdidadm 指令置換磁碟 ID。
# scdidadm -R rootdisk |
使用 metadb(1M) 指令重新建立狀態資料庫抄本。
# metadb -c copies -af raw-disk-device |
指定要建立的抄本數目。
在指名的原始磁碟裝置上建立初始狀態資料庫抄本。
將節點重新啟動為叢集模式。
在復原的節點以外的叢集節點上,使用 metaset(1M) 指令將復原的節點新增到所有中繼組。
phys-schost-2# metaset -s setname -a -h node |
增加(建立)中繼組。
依循 Solstice DiskSuite 說明文件,將 metadevice/mirror 設成 root(/)。
節點重新啟動為叢集模式。叢集已經備妥可以使用。
以下範例顯示 root(/)檔案系統從磁帶裝置 /dev/rmt/0 復原到節點 phys-schost-1。metaset 指令是從叢集 phys-schost-2 的其他節點執行,以移除及稍後將節點 phys-schost-1 新增到中繼組 schost-1。其他所有指令都是從 phys-schost-1 執行。新的啟動區塊將建立在 /dev/rdsk/c0t0d0s0,三個狀態資料庫抄本則是重新建立在 /dev/rdsk/c0t0d0s4。
[Become superuser on a cluster node with access to the metaset, other than the node to be restored.] [Remove the node from the metaset:] phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1 [Replace the failed disk and boot the node:] ok boot cdrom -s [Use format and newfs to recreate partitions and file systems.] [Mount the root file system on a temporary mount point:] # mount /dev/dsk/c0t0d0s0 /a [Restore the root file system:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [Install a new boot block:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [Remove the lines in /temp-mount-point/etc/system file for MDD root information:] * Begin MDD root info (do not edit) forceload: misc/md_trans forceload: misc/md_raid forceload: misc/md_mirror forceload: misc/md_hotspares forceload: misc/md_stripe forceload: drv/pcipsy forceload: drv/glm forceload: drv/sd rootdev:/pseudo/md@0:0,10,blk * End MDD root info (do not edit) [Edit the /temp-mount-point/etc/vfstab file] Example: Change from- /dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no - Change to- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /usr ufs 1 no - [Unmount the temporary file system and check the raw disk device:] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [Reboot in single-user mode:] # reboot -- "-s" [Replace the disk ID:] # scdidadm -R /dev/dsk/c0t0d0 [Recreate state database replicas:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 # reboot Type CTRL-d to boot into multiuser mode. [Add the node back to the metaset:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
請使用這個程序來復原非密封的 root(/)檔案系統到節點。要復原的節點應該不在啟動狀態。請先確定叢集執行沒任何錯誤再執行復原程序。
由於您必須將新磁碟的分割區製作成和失效磁碟完全相同的格式,請在開啟本程序之前先識別分割機制,同時適當地重新建立檔案系統。
置換節點上要復原 root 檔案系統的失效磁碟。
請參閱附隨伺服器之文件中敘述的磁碟置換程序。
啟動正在復原的啟動。
如果您使用 Solaris CD-ROM,請執行下列指令:
ok boot cdrom -s |
如果您使用 JumpStart 伺服器,請執行下列指令:
ok boot net -s |
使用 format(1M) 指令,在根磁碟上建立所有的分割區與交換。
重新建立失效磁碟的原始分割機制。
使用 newfs(1M) 指令,建立適當的 root(/)檔案系統以及其他檔案系統。
重新建立失效磁碟的原始檔案系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
將 root(/)檔案系統裝載到暫時裝載點。
# mount device temp-mount-point |
從備份復原 root(/)檔案系統,同時卸載並檢查檔案系統。
# cd temp-mount-point # ufsrestore rvf dump-device # rm restoresymtable # cd / # umount temp-mount-point # fsck raw-disk-device |
檔案系統現在完成復原。
在新磁碟安裝新的啟動區塊。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
將節點重新開機為單用戶模式。
判斷根磁碟是否在根磁碟的一個單一片段上。
如果是,請建立並設置根磁碟群組:
# vxdctl init # vxdg init rootdg # vxdctl add disk diskslice type=simple # vxdisk -f init diskslice type=simple # vxdg adddisk diskslice # vxdctl enable |
如果沒有,請進到 步驟 10。
使用 scdidadm 指令更新磁碟 ID。
# scdidadm -R /dev/rdsk/diskdevice |
按 CTRL-d 重新啟動為多用戶模式。
節點將重新開機為叢集模式。叢集已經備妥可以使用。
以下範例顯示從磁帶裝置 /dev/rmt/0 復原至節點 phys-schost-1 的非密封(/)檔案系統。
[Replace the failed disk and boot the node:] ok boot cdrom -s [Use format and newfs to create partitions and file systems] [Mount the root file system on a temporary mount point:] # mount /dev/dsk/c0t0d0s0 /a [Restore the root file system:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [Install a new boot block:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [Reboot in single-user mode:] # reboot -- "-s" [If the root disk group is on a single slice on the root disk, create the new root disk group:] # vxdctl init # vxdg init rootdg # vxdctl add disk c0t0d0s4 type=simple # vxdisk -f init c0t0d0s4 type=simple # vxdg adddisk c0t0d0s4 # vxdctl enable [Update the disk ID:] # scdidadm -R /dev/rdsk/c0t0d0 [Press CTRL-d to resume in multiuser mode] |
請使用這個程序來復原密封的 root(/)檔案系統到節點。要復原的節點應該不在啟動狀態。請先確定叢集執行沒任何錯誤再執行復原程序。
由於您必須將新磁碟的分割區製作成和失效磁碟完全相同的格式,請在開啟本程序之前先識別分割機制,同時適當地重新建立檔案系統。
置換節點上要復原 root 檔案系統的失效磁碟。
請參閱附隨伺服器之文件中敘述的磁碟置換程序。
啟動正在復原的啟動。
如果您使用 Solaris CD-ROM,請執行下列指令:
ok boot cdrom -s |
如果您使用 JumpStart 伺服器,請執行下列指令:
ok boot net -s |
使用 format(1M) 指令,在根磁碟上建立所有的分割區與交換。
重新建立失效磁碟的原始分割機制。
使用 newfs(1M) 指令,建立適當的 root(/)檔案系統以及其他檔案系統。
重新建立失效磁碟的原始檔案系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
將 root(/)檔案系統裝載到暫時裝載點。
# mount device temp-mount-point |
從備份復原 root(/)檔案系統。
# cd temp-mount-point # ufsrestore rvf dump-device # rm restoresymtable |
建立一個空的 install-db 檔。
這會使節點在下一次重新開機時進入 VxVM 安裝模式。
# touch /temp-mount-point/etc/vx/reconfig.d/state.d/install-db |
在 /temp-mount-point/etc/system 檔中刪除下列登錄或標示成註解使其不作。
* rootdev:/pseudo/vxio@0:0 * set vxio:vol_rootdev_is_volume=1 |
編輯 /temp-mount-point/etc/vfstab 檔並將所有的 VxVM 裝載點換成根磁碟的標準磁碟裝置,例如 /dev/dsk/c0t0d0s0。
範例: 變更前- /dev/vx/dsk/rootdg/rootvol /dev/md/rdsk/rootdg/rootvol / ufs 1 no - 變更後- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - |
卸載暫時檔案系統並檢查檔案系統。
# cd / # umount temp-mount-point # fsck raw-disk-device |
在新磁碟安裝啟動區塊。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
將節點重新開機為單用戶模式。
# reboot -- "-s" |
使用 scdidadm(1M) 更新磁碟 ID。
# scdidadm -R /dev/rdsk/c0t0d0 |
執行 vxinstall。
# vxinstall |
選擇密封磁碟並重新開機。
如果有某個次要號碼和其他系統衝突,請卸載整體裝置同時重新指定次要號碼。
卸載叢集節點上的整體裝置檔案系統。
# umount /global/.devices/node@nodeid |
重新指定叢集節點上的 rootdg 磁碟群組的次要號碼。
# vxdg reminor rootdg 100 |
# shutdown -g0 -i 6 -y |
以下範例顯示密封 root(/)檔案系統從磁帶裝置 /dev/rmt/0 復原至節點 phys-schost-1。
[Replace the failed disk and boot the node:] ok boot cdrom -s [Use format and newfs to create partitions and file systems] [Mount the root file system on a temporary mount point:] # mount /dev/dsk/c0t0d0s0 /a [Restore the root file system:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [Create an empty install-db file:] # touch /a/etc/vx/reconfig.d/state.d/install-db [Edit /etc/system on the temporary file system and remove or comment out the following entries:] # rootdev:/pseudo/vxio@0:0 # set vxio:vol_rootdev_is_volume=1 [Edit /etc/vfstab on the temporary file system:] Example: Change from- /dev/vx/dsk/rootdg/rootvol /dev/md/rdsk/rootdg/rootvol / ufs 1 no- Change to- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - [Unmount the temporary file system, then check the file system:] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [Install a new boot block:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [Reboot in single-user mode:] # reboot -- "-s" [Update the disk ID:] # scdidadm -R /dev/rdsk/c0t0d0 [Run vxinstall:] # vxinstall Choose to encapsulate the root disk. [If there is a conflict in minor number, reminor the rootdg disk group:] # umount /global/.devices/node@nodeid # vxdg reminor rootdg 100 # shutdown -g0 -i 6 -y |