根據huangmw得disksuite。翻譯點文章,不好,大家別介意。
發表于:2007-06-08來源:作者:點擊數:
標簽:
原文章http://docs.sun.com/db/doc/802-4215/6i82c9l08?l=zhnbsp;能夠對根、SWAP、/USER做鏡像,當你啟動系統、或者硬件、操作錯誤,就會出現問題。在這里我們將解決這些潛在的問題。 啟動問題的提前信息: 當元設備驅動因為錯誤離線時,應卸載硬盤的所有文
原文章http://docs.sun.com/db/doc/802-4215/6i82c9l08?l=zh&a=view
因為DISKSUITE 能夠對根、SWAP、/USER做鏡像,當你啟動系統、或者硬件、操作錯誤,就會出現問題。在這里我們將解決這些潛在的問題。
啟動問題的提前信息:
當元設備驅動因為錯誤離線時,應卸載硬盤的所有文件系統。因為每一個磁盤分區都是獨立的,多個文件系統可能會掛載一個單獨的磁盤上。如果元磁盤驅動出現故障,那么這個磁盤上的其他分區可能不久就會出錯。直接掛載在磁盤分區的文件系統不能處理元磁盤的錯誤,讓這樣的文件系統掛載著會導致系統徹底毀壞、數據丟失。
當子鏡像離線時盡量減少運行。在同步和在線備份時,開始鏡像的全保護操作。
一. 怎樣從不正確的/etc/vfstab條目中恢復
1. 怎樣從不正確的/etc/vfstab條目中恢復(命令行)
如果你在/etc/vfstab文件中又不正確的條目,如:當鏡像根/時,文件系統開始會正確的啟動,然后出錯。為了修復這種情況,你需要載單用戶模式下編輯/etc/vfstab文件。
從/etc/vfstab文件修復的方法是:
l 啟動系統到單用戶模式。Boot –s
l 運行fsck,修復鏡像得元設備。Fsck /dev/md/rdsk/d0
l 以堵寫方式重新掛載文件系統
l 選擇:對于根(/)鏡像,運行metaroot命令
l 根據文件系統的元設備驗證/etc/vfstab文件是否正確
l reboot
2. 舉例:恢復根鏡像
在下面的例子中,根鏡像,d0。在/etc/vfstab中根條目回復到系統的原始分區,但是/etc/system仍然顯示從鏡像d0啟動??赡艿脑蚴莔etaroot命令沒有維持/etc/system與/etc/vfstab,或者舊的/etc/vfstab被拷貝。如下圖:
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no -- /dev/dsk/c0t3d0s1 -- -- swap -- no -- /dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 2 no -- # /proc -- /proc proc -- no -- fd -- /dev/fd fd -- no -- swap -- /tmp tmpfs-- yes --
由于這個原因,系統自動得啟動進入單用戶模式。
ok boot ... SunOS Release 5.5 Version Generic [
UNIX(R) System V Release 4.0] Copyright (c) 1983-1995, Sun Microsystems, Inc. configuring network interfaces: le0. Hostname:
antero mount: /dev/dsk/c0t3d0s0 is not this fstype. setmnt: Cannot open /etc/mnttab for writing INIT: Cannot create /var/adm/utmp or /var/adm/utmpx INIT: failed write of utmpx entry:" " INIT: failed write of utmpx entry:" " INIT: SINGLE USER MODE Type Ctrl-d to proceed with normal startup, (or give root password for system maintenance): <root-password>
根據這點,root與/usr被只讀掛起。
3. 運行fsck修復root鏡像
fsck /dev/md/rdsk/d0
# fsck /dev/md/rdsk/d0
** /dev/md/rdsk/d0
** Currently Mounted on /
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2274 files, 11815 used, 10302 free (158 frags, 1268 blocks,
0.7% fragmentation)
4. 然后已讀寫模式從新掛載root,編輯/etc/vfstab文件
# mount -o rw,remount /dev/md/dsk/d0 /
mount: warning: cannot lock temp file </etc/.mnt.lock>
5. 運行metaroot
/usr/opt/SUNWmd/metaroot d0
6. 驗證/etc/vfstab包含正確的元設備。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -- /dev/dsk/c0t3d0s1 -- -- swap -- no -- /dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 2 no -- # /proc -- /proc proc -- no -- fd -- /dev/fd fd -- no -- swap -- /tmp tmpfs-- yes --
7. Reboot.
二. 怎樣從
數據庫復制不完全的情況下恢復
如果由于某些原因如驅動故障等數據庫復制出錯,系統不能重啟。在disksiute中,數據庫狀態陳舊。通過一下方法恢復:
l 刪除錯誤的數據庫復制,重啟。/////這個地方翻譯不理想。Deleting the stale state database replicas and rebooting
l 修復出錯的磁盤
l 增加恢復數據庫復制狀態////// Adding back the state database replica(s)
舉例:
在下面的例子中,磁盤種有兩個復制出現錯誤。著導致系統只有兩個好的復制,并且系統不能重啟。
啟動機器確定那個數據庫復制出現了問題。
ok boot ... Hostname: demo metainit: demo: stale databases Insufficient metadevice database replicas located. Use metadb to delete databases which are broken. Ignore any "Read-only file system" error messages. Reboot the system when finished to reload the metadevice database. After reboot, repair any broken database replicas which were deleted. Type Ctrl-d to proceed with normal startup, (or give root password for system maintenance): <root-password> Entering System Maintenance Mode SunOS Release 5.5 Version Generic [UNIX(R) System V Release 4.0]
2. 用metadb命令查找元設備數據庫狀態,看那個復制的數據庫出現了問題。
# /usr/opt/SUNWmd/metadb -i flags first blk block count a m p lu 16 1034 /dev/dsk/c0t3d0s3 a p l 1050 1034 /dev/dsk/c0t3d0s3 M p unknown unknown /dev/dsk/c1t2d0s3 M p unknown unknown /dev/dsk/c1t2d0s3 ...
系統不能發現在分區/dev/dsk/c1t2d0s3的數據庫復制。Metadb命令標志了復制數據庫得主塊有問題。
3. 用metadb –d 刪除在出錯磁盤上的數據庫復制品。因為root分區是只讀的,可以忽略mddb.cf的出錯消息。
# /usr/opt/SUNWmd/metadb -d -f c1t2d0s3 metadb: demo: /etc/opt/SUNWmd/mddb.cf.new: Read-only file system
4. 驗證數據庫復制品是否被刪除。
# /usr/opt/SUNWmd/metadb -i flags first blk block count a m p lu 16 1034 /dev/dsk/c0t3d0s3 a p l 1050 1034 /dev/dsk/c0t3d0s3
5. Reboot.
6. 準備好備用的磁盤,關機,代替出錯的磁盤,重啟。用format命令根據原來的分區隊心磁盤分區。
# halt ... boot ... # format /dev/rdsk/c1t2d0s0 ...
7. 用metadb命令增加數據庫復制品。確定數據庫狀態是否正確。
# /usr/opt/SUNWmd/metadb -a -c 2 c1t2d0s3
# /usr/opt/SUNWmd/metadb flags first blk block count a m p luo 16 1034 dev/dsk/c0t3d0s3 a p luo 1050 1034 dev/dsk/c0t3d0s3 a u 16 1034 dev/dsk/c1t2d0s3 a u 1050 1034 dev/dsk/c1t2d0s3
用metadb –c 2 參數命令增加2個數據庫復制品在同樣的分區上。
希望對大家有所幫助?。。。?!
houji 回復于:2003-07-01 09:20:33
|
不錯,不錯。
|
小石 回復于:2003-07-01 10:31:57
|
好東西
|
原文轉自:http://www.kjueaiud.com