以下是本章的逐步程序清單。
作業 |
如需相關說明,請參閱 … |
---|---|
尋找要備份的檔案系統的名稱 | |
計算完整備份所需的磁帶數 | |
備份 root 檔案系統 | |
執行鏡像或診測檔案系統的線上備份 | |
顯示 /etc/vfstab 檔的內容。
您無須以超級使用者身份登入或成為等效角色便可執行此指令。
% 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 - |
在要備份的叢集節點上以超級使用者身份登入或成為等效角色。
以位元組預估備份大小。
# ufsdump S filesystem |
顯示執行備份時的預計位元組數。
指定您要備份之檔案系統的名稱。
將預估大小除以磁帶容量來求出所需的磁帶數。
在以下範例中,905,881,620 位元組的檔案系統可以輕易地放入 4 GB 磁帶 (905,881,620 ÷ 4,000,000,000)。
# ufsdump S /global/phys-schost-1 905881620 |
使用此程序備份叢集節點的根 (/) 檔案系統。請先確定叢集執行時沒有任何錯誤,再執行備份程序。
在要備份的叢集節點上以超級使用者身份登入或成為等效角色。
將每個執行的資料服務從要備份的節點切換到叢集中的另一節點上。
# scswitch -z -D disk-device-group[,...] -h node[,...] |
執行切換。
要進行切換的磁碟裝置群組名稱。
指定要當作磁碟裝置群組切換目標的叢集節點名稱。此節點會成為新的主要節點。
關閉節點。
# shutdown -g0 -y -i0 |
將節點重新啟動為非叢集模式。
SPARC:
ok boot -x |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -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 |
鏡像的 Solstice DiskSuite 中介裝置或 Solaris Volume Manager 容體不經過卸載或讓整個鏡像離線,即可備份。有一個子鏡像必須暫時設成離線,這樣會導致失去鏡像功能,但可在備份完成後重新使它進入線上並同步,如此可以不必關機或拒絕使用者存取資料。使用鏡像來執行線上備份可建立使用中檔案系統的「快照」備份。
如果程式在執行 lockfs 指令之前將資料寫入容體,可能會發生問題。要避免這個問題,請先暫時停止在這個節點上執行的所有服務。另外,請先確認叢集執行時沒有任何錯誤,再執行備份程序。
在要備份的叢集節點上以超級使用者身份登入或成為等效角色。
使用 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 [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 Volume Manager 將鏡像容體識別為診測裝置。備份診測裝置時不必先卸載,也不必將整個容體設成離線。這是透過建立容體的快照副本以及備份這個暫時容體的方式來完成,不必關閉系統也不必拒絕使用者存取資料。
請先確定叢集執行時沒有任何錯誤,再執行備份程序。
登入至叢集中的任意節點,並在叢集上磁碟群組目前的主要節點上以超級使用者的身份登入或成為等效角色。
列出磁碟群組資訊。
# vxprint -g diskgroup |
執行 scstat(1M) 指令,以查看哪一個節點將目前的磁碟群組匯入,這表示該節點即為此磁碟群組的主要節點。
# scstat -D |
顯示所有磁碟裝置群組的狀態。
使用 vxassist 指令來建立容體的快照。
# vxassist -g diskgroup snapstart volume |
視您容體大小而定,建立快照可能需要一段長時間。
確認已建立新的容體。
# vxprint -g diskgroup |
當快照完成時,Snapdone 的狀態會顯示在選定磁碟群組的 State 欄位中。
停止任何存取檔案系統的資料服務。
# scswitch -z -g resource-group[,...] -h ““ |
停止資料服務,以確保資料檔案系統備份正常執行。如果未執行任何資料服務,則無需執行步驟 6 與步驟 8。
建立名為 bkup-vol 的備份容體,並連接快照容體 (使用 vxassist 指令)。
# vxassist -g diskgroup snapshot volume bkup-vol |
若要重新啟動在步驟 6 中停止的任何資料服務,請使用 scswitch(1M) 指令。
# scswitch -z -g resource-group[,...] -h node[,...] |
驗證連接到新容體 bkup-vol 的容體 (使用 vxprint 指令)。
# vxprint -g diskgroup |
註冊磁碟群組的配置變更。
# 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 移除暫存容體。
# vxedit -rf rm bkup-vol |
使用 scconf(1M) 指令註冊磁碟群組的配置變更。
# scconf -c -D name=diskgroup,sync |
在以下範例中,叢集節點 phys-schost-2 為磁碟裝置群組 schost-1 的主要所有者,因此從 phys-schost-2 執行備份程序。複製 /vo101 容體並讓它和新容體 bkup-vol 關聯。
[在主要節點上以超級使用者身份登入或成為等效角色。] [識別該磁碟裝置群組的主要節點:] # 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 [列出磁碟裝置群組資訊:] # 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 - - - [啟動快照作業:] # 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 - - - [如有必要,則停止資料服務:] # scswitch -z -g nfs-rg -h ““ [建立容體的副本:] # vxassist -g schost-1 snapshot vol01 bkup-vol [如有必要,則重新啟動資料服務:] # 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 - - - - ... 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 - - - [將磁碟群組和叢集框架同步化:] # scconf -c -D name=schost-1,sync [檢查檔案系統:] # fsck -y /dev/vx/rdsk/schost-1/bkup-vol [將 bkup-vol 複製到備用裝置:] # 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 [移除 bkup 容體:] # vxedit -rf rm bkup-vol [同步化磁碟群組:] # scconf -c -D name=schost-1,sync |
ufsrestore(1M) 指令從使用 ufsdump(1M) 指令建立的備份將檔案複製到與目前工作目錄相關的磁碟中。您可以使用 ufsrestore,從層次 0 傾印以及之後的增量傾印重新載入檔案系統階層,或從任何傾印磁帶復原一個或多個單一檔案。如果以超級使用者身份或等效角色執行 ufsrestore,則檔案將復原為原來的所有者、上一次修改時間及模式 (權限)。
在開始復原檔案或檔案系統之前,您必須知道下列資訊。
您需要的磁帶
您要復原之檔案系統所在的原始裝置名稱
您要使用的磁帶機類型
磁帶裝置的裝置名稱 (本機或遠端)
任何失效磁碟的分割區機制,因為分割區與檔案系統必須完全複製到取代磁碟上
作業 |
如需相關說明,請參閱 … |
---|---|
針對 Solstice DiskSuite/Solaris Volume Manager,依 Solaris 復原程序以互動方式復原檔案 | |
針對 Solstice DiskSuite/Solaris Volume Manager,復原 root (/) 檔案系統 | |
|
如何復原 Solstice DiskSuite 中介裝置上或 Solaris Volume Manager 容體上的根 (/) 檔案系統 |
對於 VERITAS Volume Manager,請復原非封裝的根 (/) 檔案系統 | |
對於 VERITAS Volume Manager,請復原封裝的根 (/) 檔案系統 |
使用此程序復原一個或多個個別檔案。請先確定叢集執行時沒有任何錯誤,再執行復原程序。
在要復原的叢集節點上以超級使用者身份登入或成為等效角色。
停止所有使用要儲存之檔案的資料服務。
# scswitch -z -g resource-group[,...] -h ““ |
使用 ufsrestore 指令復原檔案。
使用此程序將根 (/) 檔案系統復原至新的磁碟,如替代故障根磁碟後。要復原的節點應該不在啟動狀態。請先確定叢集執行時沒有任何錯誤,再執行復原程序。
由於您必須使用與故障磁碟相同的格式分割新磁碟,因此請在開始此程序前識別分割方案,然後相應地重新建立檔案系統。
可以存取同樣連結到要復原的節點的磁碟組之叢集節點上,以超級使用者身份登入或成為等效角色。
在要復原節點以外的節點上,以超級使用者身份登入或成為等效角色。
從所有 metaset 中移除已復原的節點主機名稱。
從 metaset 中的節點執行這個指令,而不是從您正在移除的節點執行。
# metaset -s setname -f -d -h nodelist |
指定磁碟組名稱。
強迫。
從磁碟組刪除。
指定要從磁碟組刪除之節點的名稱。
復原 root (/) 和 /usr 檔案系統。
若要復原 root 和 /usr 檔案系統,請執行「System Administration Guide: Devices and File Systems」中的第 26 章「Restoring Files and File Systems (Tasks)」中的以下程序。忽略 Solaris 程序中的步驟以重新啟動系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
以多使用者模式重新啟動節點。
# reboot |
使用 scdidadm(1M) 指令替代磁碟 ID。
# scdidadm -R rootdisk |
使用 metadb(1M) 指令重新建立狀態資料庫副本。
# metadb -c copies -af raw-disk-device |
指定要建立的複本數目。
要在其上建立複本的原始裝置。
新增複本。
在已復原節點以外的叢集節點上,使用 metaset 指令將復原的節點增加至所有磁碟組。
phys-schost-2# metaset -s setname -a -h nodelist |
建立並增加主機至磁碟組。
節點重新啟動為叢集模式。叢集已經備妥可以使用。
以下範例顯示 root (/) 檔案系統復原至節點 phys-schost-1 (從磁帶裝置 /dev/rmt/0) 。metaset 指令從叢集的另一個節點 phys-schost-2 執行,以便先移除而後將 phys-schost-1 節點重新增加至磁碟組 schost-1 中。所有其他指令是由 phys-schost-1 執行。已在 /dev/rdsk/c0t0d0s0 上建立新的啟動區段,並且已在 /dev/rdsk/c0t0d0s4 上重新建立了三個狀態資料庫副本。
[在要復原的節點以外的節點上以超級用戶登入或成為等效角色。] [從 metaset 中移除該節點:] phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1 [替換發生故障的磁碟並啟動節點:] Restore the root (/) and /usr file system using the procedure in the Solaris system administration documentation [重新啟動:] # reboot [替換磁碟 ID:] # scdidadm -R /dev/dsk/c0t0d0 [重新建立狀態資料庫副本:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 [將節點增加回至 metaset:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
執行備份時,使用此程序復原 Solstice DiskSuite 中介裝置上或 Solaris Volume Manager 容體上的根 (/) 檔案系統。在根磁碟毀損而換成新磁碟等情況下執行這個程序。要復原的節點應該不在啟動狀態。請先確定叢集執行時沒有任何錯誤,再執行復原程序。
由於您必須將新磁碟分割成和故障磁碟相同的格式,請在進行本程序之前先識別分割區機制,同時適當地重新建立檔案系統。
在可以存取磁碟組的要復原的節點以外之叢集節點上,以超級使用者身份登入或成為等效角色。
從所有磁碟組中移除要復原的節點的主機名稱。
# metaset -s setname -f -d -h nodelist |
指定 metaset 名稱。
強迫。
從 metaset 刪除。
指定要從 metaset 刪除之節點的名稱。
置換節點上要復原 root (/) 檔案系統的故障磁碟。
請參閱隨附伺服器之說明文件中敘述的磁碟置換程序。
啟動您要復原的節點。
如果您使用的是 Solaris CD︰
SPARC:出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot cdrom -s |
x86:將 CD 插入系統的 CD 光碟機中,並透過關閉系統之後再開啟系統來啟動系統。在 [目前的啟動參數] 畫面上,鍵入以下指令︰
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@ 7,1/sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -s |
如果您使用的是 Solaris JumpStartTM 伺服器︰
SPARC:出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot net -s |
x86:透過關閉系統之後再開啟系統來啟動系統。在 [目前的啟動參數] 畫面上,鍵入以下指令︰
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@ 7,1/sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -s |
使用 format 指令,在根磁碟上建立所有的分割區與交換。
重新建立故障磁碟的原始分割機制。
使用 newfs 指令,適當建立根 (/) 檔案系統以及其他檔案系統
重新建立故障磁碟的原始檔案系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
將 root (/) 檔案系統裝載到暫時裝載點。
# mount device temp-mountpoint |
使用下列指令復原根 (/) 檔案系統。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable |
在新磁碟上安裝新的啟動區塊。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
移除在 /temp-mountpoint/etc/system 檔中 MDD 根資訊的行。
* 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-mountpoint/etc/vfstab 檔案,以將根項目從 Solstice DiskSuite 中介裝置或 Solaris Volume Manager 容體變更為針對屬於該中介裝置或容體的根磁碟上每個檔案系統的相應一般片段。
Example: Change from— /dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no - Change to— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - |
卸載暫時檔案系統,並檢查原始磁碟裝置。
# cd / # umount temp-mountpoint # fsck raw-disk-device |
以多使用者模式重新啟動節點。
# reboot |
使用 scdidadm 指令置換磁碟 ID。
# scdidadm -R rootdisk |
使用 metadb 指令重新建立狀態資料庫副本。
# metadb -c copies -af raw-disk-device |
指定要建立的複本數目。
在指名的原始磁碟裝置上建立初始狀態資料庫複本。
從已復原節點以外的叢集節點上,使用 metaset 將已復原節點增加至所有的磁碟組。
phys-schost-2# metaset -s setname -a -h nodelist |
新增 (建立) metaset。
依照 Solstice DiskSuite 文件,為根 (/) 設置中介裝置或容體/鏡像。
節點重新啟動為叢集模式。叢集已經備妥可以使用。
以下範例顯示 root (/) 檔案系統復原至節點 phys-schost-1 (從磁帶裝置 /dev/rmt/0) 。metaset 指令是由叢集 phys-schost-2 的另一個節點執行,以便先移除而後將 phys-schost-1 節點重新加入 metaset schost-1 中。所有其他指令是由 phys-schost-1 執行。已在 /dev/rdsk/c0t0d0s0 上建立新的啟動區段,並且已在 /dev/rdsk/c0t0d0s4 上重新建立了三個狀態資料庫副本。
[在可以存取 metaset 的節點 (除要復原的節點之外) 上以超級使用者身份登入或成為等效角色。] [從 metaset 中移除該節點:] phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1 [替換發生故障的磁碟並啟動節點:] |
從 Solaris CD 啟動節點︰
SPARC:出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot cdrom -s |
x86:將 CD 插入系統的 CD 光碟機中,並透過關閉系統之後再開啟系統來啟動系統。在 [目前的啟動參數] 畫面上,鍵入以下指令︰
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -s |
[使用 format 和 newfs 重新建立分割區和檔案系統。] [將根檔案系統掛載在臨時掛載點上:] # mount /dev/dsk/c0t0d0s0 /a [復原該根檔案系統:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [安裝新啟動區段:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [移除 / temp-mountpoint/etc/system 檔案中 MDD 根資訊的行:] * 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-mountpoint/etc/vfstab 檔案] 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 /a # fsck /dev/rdsk/c0t0d0s0 [重新啟動:] # reboot [替換磁碟 ID:] # scdidadm -R /dev/rdsk/c0t0d0 [重新建立狀態資料庫副本:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 [將節點增加回至 metaset:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
使用此程序將非封裝的根 (/) 檔案系統復原至節點。要復原的節點應該不在啟動狀態。請先確定叢集執行時沒有任何錯誤,再執行復原程序。
由於您必須將新磁碟分割成和故障磁碟相同的格式,請在進行本程序之前先識別分割區機制,同時適當地重新建立檔案系統。
替代節點上要復原根檔案系統的故障磁碟。
請參閱隨附伺服器之說明文件中敘述的磁碟置換程序。
啟動您要復原的節點。
如果您使用的是 Solaris CD,在出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot cdrom -s |
如果您使用的是 Solaris JumpStartTM 伺服器,在出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot net -s |
使用 format 指令,在根磁碟上建立所有的分割區與交換。
重新建立故障磁碟的原始分割機制。
使用 newfs 指令,適當建立根 (/) 檔案系統以及其他檔案系統。
重新建立故障磁碟的原始檔案系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
將 root (/) 檔案系統裝載到暫時裝載點。
# mount device temp-mountpoint |
從備份復原 root (/) 檔案系統,同時卸載並檢查檔案系統。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable # cd / # umount temp-mountpoint # fsck raw-disk-device |
檔案系統現在完成復原。
在新磁碟上安裝新的啟動區塊。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
以多使用者模式重新啟動節點。
# reboot |
使用 scdidadm 指令更新磁碟 ID。
# scdidadm -R /dev/rdsk/disk-device |
按下 Ctrl-d 重新啟動為多重使用者模式。
節點將重新啟動為叢集模式。叢集已經備妥可以使用。
以下範例顯示從磁帶裝置 /dev/rmt/0 復原至節點 phys-schost-1 的非封裝 root (/) 檔案系統。
[替換發生故障的磁碟並啟動節點:] |
從 Solaris CD 啟動節點。出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot cdrom -s ... [使用 format 和 newfs 建立分割區和檔案系統] [將檔案系統掛載在臨時掛載點上:] # mount /dev/dsk/c0t0d0s0 /a [復原根檔案系統:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [安裝新的啟動區段:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [重新啟動:] # reboot [更新 ID:] # scdidadm -R /dev/rdsk/c0t0d0 |
使用此程序將封裝的根 (/) 檔案系統復原至節點。要復原的節點應該不在啟動狀態。請先確定叢集執行時沒有任何錯誤,再執行復原程序。
由於您必須將新磁碟分割成和故障磁碟相同的格式,請在進行本程序之前先識別分割區機制,同時適當地重新建立檔案系統。
替代節點上要復原根檔案系統的故障磁碟。
請參閱隨附伺服器之說明文件中敘述的磁碟置換程序。
啟動您要復原的節點。
如果您使用的是 Solaris CD,在出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot cdrom -s |
如果您使用的是 Solaris JumpStartTM 伺服器,在出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot net -s |
使用 format 指令,在根磁碟上建立所有的分割區與交換。
重新建立故障磁碟的原始分割機制。
使用 newfs 指令,適當建立根 (/) 檔案系統以及其他檔案系統。
重新建立故障磁碟的原始檔案系統。
請務必要建立 /global/.devices/node@nodeid 檔案系統。
將 root (/) 檔案系統裝載到暫時裝載點。
# mount device temp-mountpoint |
從備份復原 root (/) 檔案系統。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable |
建立空的 install-db 檔。
如此將使節點在下次重新啟動時進入 VxVM 安裝模式。
# touch \ /temp-mountpoint/etc/vx/reconfig.d/state.d/install-db |
從 / temp-mountpoint/etc/system 檔案中移除以下條目。
* rootdev:/pseudo/vxio@0:0 * set vxio:vol_rootdev_is_volume=1 |
編輯 /temp-mountpoint /etc/vfstab 檔案,並使用根磁碟的標準磁碟裝置替代所有 VxVM 掛載點,例如 /dev/dsk/c0t0d0s0。
Example: Change from— /dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol / ufs 1 no - Change to— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - |
卸載暫時檔案系統,並檢查檔案系統。
# cd / # umount temp-mountpoint # fsck raw-disk-device |
在新磁碟上安裝啟動區塊。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
以多使用者模式重新啟動節點。
# reboot |
使用 scdidadm(1M) 更新磁碟 ID。
# scdidadm -R /dev/rdsk/c0t0d0 |
執行 vxinstall 以密封磁碟並重新啟動。
# vxinstall |
如果有某個次要編號和其他系統衝突,請卸載整體裝置並重新指定磁碟群組。
卸載叢集節點上的整體裝置檔案系統。
# umount /global/.devices/node@nodeid |
重新指定叢集節點上的 rootdg 磁碟群組的次要編號。
# vxdg reminor rootdg 100 |
在叢集模式下關閉,並重新啟動節點。
# shutdown -g0 -i6 -y |
以下範例顯示封裝的 root (/) 檔案系統復原至節點 phys-schost-1 (從磁帶裝置 /dev/rmt/0)。
[替換發生故障的磁碟並啟動節點:] |
從 Solaris CD 啟動節點。出現 OpenBoot PROM ok 提示符號時,請鍵入以下指令︰
ok boot cdrom -s ... [使用 format 和 newfs 建立分割區和檔案系統] [將根檔案系統掛載在臨時掛載點上:] # mount /dev/dsk/c0t0d0s0 /a [復原檔案系統:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [建立空的 install-db 檔案:] # touch /a/etc/vx/reconfig.d/state.d/install-db [編輯臨時檔案系統中的 /etc/system,並移除以下條目或將其加入註釋:] # rootdev:/pseudo/vxio@0:0 # set vxio:vol_rootdev_is_volume=1 [編輯臨時檔案系統中的 /etc/vfstab :] Example: Change from— /dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol / ufs 1 no- Change to— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - [卸載臨時檔案系統,然後檢查檔案系統:] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [安裝新的啟動區段:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [重新啟動:] # reboot [更新磁碟 ID:] # scdidadm -R /dev/rdsk/c0t0d0 [執行 vxinstall:] # vxinstall Choose to encapsulate the root disk. [如果次要編號中有衝突,請重新設定 rootdg 磁碟群組的次要編號:] # umount /global/.devices/node@nodeid # vxdg reminor rootdg 100 # shutdown -g0 -i6 -y |
如需有關如何鏡像封裝的根磁碟之說明,請參閱「Sun Cluster 軟體安裝指南(適用於 Solaris 作業系統)」。