首先,比較簡單的方式就是用 dd 命令來直接備份整顆 c1t0d0 的資料(含 OS )到 c1t2d0:
Step1: 先檢查一下目前的 Disk format 狀態吧:
root@cms0 # format
Step2: 把新的 72G HDD 放進 c1t2d0, 然後用 devfsadm 重新掃一下這顆 HDD 吧:
root@cms0 # devfsadm
Step3: 再檢查一次目前的 Disk format 狀態:
root@cms0 # format
>>> 新的 HDD 應該會出現在 AVAILABLE DISK SELECTIONS:
2. c1t2d0 (SUN72G cyl 14087 alt 2 hd 24 sec 424)
/pci@1c,600000/scsi@2/sd@2,0
Specify disk (enter its number): ^D (按 Ctrl+d 離開吧)
root@cms0 #
Step4: 在 detect 到 c1t2d0 的新 HDD 後我們開始把目前 c1t0d0 的 partition table 備一份到 c1t2d0 的新 HDD 囉:
root@cms0 # prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t2d0s2
fmthard: New volume table of contents now in place.
Step5: 接著就可以開始 dump c1t0d0 上含 OS 的資料到 c1t2d0 了:
root@cms0 # dd if=/dev/rdsk/c1t0d0s2 of=/dev/rdsk/c1t2d0s2 bs=2048k
Step6: Dump 完資料後就可以把新 HDD 拔出 c1t2d0 囉。
第二種方式,使用 ufsdump 命令來做,不過這種方式因為是以一個一個 mount point 來做,所以相對比較麻煩,而且對於跨 mount point 的 link,在做完要使用新 HDD 時,需要記得先手動把這些目錄建回來喔!!
Step1: 跟使用 dd 一樣,先檢查一下目前的 Disk format 狀態吧:
root@cms0 # format
Step2: 把新的 72G HDD 放進 c1t2d0, 然後用 devfsadm 重新掃一下這顆 HDD 吧:
root@cms0 # devfsadm
Step3: 再檢查一次目前的 Disk format 狀態:
root@cms0 # format
>>> 新的 HDD 應該會出現在 AVAILABLE DISK SELECTIONS:
2. c1t2d0 (SUN72G cyl 14087 alt 2 hd 24 sec 424)
/pci@1c,600000/scsi@2/sd@2,0
Specify disk (enter its number): ^D (按 Ctrl+d 離開吧)
root@cms0 #
Step4: 在 detect 到 c1t2d0 的新 HDD 後我們開始把目前 c1t0d0 的 partition table 備一份到 c1t2d0 的新 HDD 囉:
root@cms0 # prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t2d0s2
fmthard: New volume table of contents now in place.
Step5: 先 newfs 一下 /dev/rdsk/c1t2d0s0 給 / partition 用:
root@cms0 # newfs /dev/rdsk/c1t2d0s0
Step6: 把 c1t2d0s0 mount 到 /mnt 去吧,然後檢查一下是不是有看到 lost+found:
root@cms0 # mount /dev/dsk/c1t2d0s0 /mnt
root@cms0 # ls -alrt /mnt
total 22
drwxr-xr-x 33 root root 2048 Oct 3 16:07 ..
drwx------ 2 root root 8192 Oct 23 18:19 lost+found
drwxr-xr-x 3 root root 512 Oct 23 18:19 .
Step7: 檢查一下目前的 Disk partition for / and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s0 10177036 1047539 9027727 11% /
/dev/dsk/c1t2d0s0 11219980 9 11107772 1% /mnt
Step8: 開始 Dump / 的資料到 c1t2d0s0:
root@cms0 # cd /
root@cms0 # ufsdump 0uf - . | (cd /mnt; ufsrestore xf -);date
( 敲入“y” 兩次來確認)
set owner/mode for '.'? [yn] y
Directories already exist, set modes anyway? [yn] y
root@cms0 # iostat -cnzx 10 (用來檢查目前的 I/O status,這裡的 10 是每 10 秒的意思啦)
Step9: 再檢查一次目前的 Disk partition for /ot and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s0 10177036 1047539 9027727 11% /
/dev/dsk/c1t2d0s0 10177036 1047569 9027697 11% /mnt
Step10: Install boot for / partition:(這一步千萬別忘了唷)
root@cms0 # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t1d0s0
Step11: Dump 完 / 的資料後把 c1t2d0s0 從 /mnt umount 掉吧:
root@cms0 # umount /mnt
Step12: 再來 newfs 一下 /dev/rdsk/c1t2d0s4 給 /var partition 用:
root@cms0 # newfs /dev/rdsk/c1t2d0s4
Step13: 把 c1t2d0s4 mount 到 /mnt 去吧,然後檢查一下是不是有看到 lost+found:
root@cms0 # mount /dev/dsk/c1t2d0s4 /mnt
root@cms0 # ls -alrt /mnt
total 22
drwxr-xr-x 33 root root 2048 Oct 3 16:07 ..
drwx------ 2 root root 8192 Oct 23 18:19 lost+found
drwxr-xr-x 3 root root 512 Oct 23 18:19 .
Step14: 檢查一下目前的 Disk partition for /var and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s4 10080200 2563351 7416047 26% /var
/dev/dsk/c1t2d0s4 11219980 9 11107772 1% /mnt
Step15: 開始 Dump /var 的資料到 c1t2d0s4:
root@cms0 # cd /var
root@cms0 # ufsdump 0uf - . | (cd /mnt; ufsrestore xf -);date
( 敲入“y” 兩次來確認)
set owner/mode for '.'? [yn] y
Directories already exist, set modes anyway? [yn] y
root@cms0 # iostat -cnzx 10 (用來檢查目前的 I/O status,這裡的 10 是每 10 秒的意思啦)
Step16: 再檢查一次目前的 Disk partition for /var and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s4 10080200 2563383 7416015 26% /var
/dev/dsk/c1t1d0s4 11219980 2563374 8544407 25% /mnt
Step17: Dump 完 /var 的資料後把 c1t2d0s4 從 /mnt umount 掉吧:
root@cms0 # umount /mnt
Step18: 再來 newfs 一下 /dev/rdsk/c1t2d0s5 給 /oracle partition 用:
root@cms0 # newfs /dev/rdsk/c1t2d0s5
Step19: 把 c1t2d0s5 mount 到 /mnt 去吧,然後檢查一下是不是有看到 lost+found:
root@cms0 # mount /dev/dsk/c1t2d0s5 /mnt
root@cms0 # ls -alrt /mnt
total 22
drwxr-xr-x 33 root root 2048 Oct 3 16:07 ..
drwx------ 2 root root 8192 Oct 23 18:19 lost+found
drwxr-xr-x 3 root root 512 Oct 23 18:19 .
Step20: 檢查一下目前的 Disk partition for /oracle and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s5 20545897 1964723 18375716 10% /oracle
/dev/dsk/c1t2d0s5 20545897 9 20340430 1% /mnt
Step21: 開始 Dump /oracle 的資料到 c1t2d0s5 >>
root@cms0 # cd /oracle
root@cms0 # ufsdump 0uf - . | (cd /mnt; ufsrestore xf -);date
( 敲入“y” 兩次來確認)
set owner/mode for '.'? [yn] y
Directories already exist, set modes anyway? [yn] y
root@cms0 # iostat -cnzx 10 (用來檢查目前的 I/O status,這裡的 10 是每 10 秒的意思啦)
Step22: 再檢查一次目前的 Disk partition for /oracle and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s5 20545897 1964723 18375716 10% /oracle
/dev/dsk/c1t1d0s5 20545897 1964769 18375670 10% /mnt
Step23: Dump 完 /oracle 的資料後把 c1t2d0s5 從 /mnt umount 掉吧:
root@cms0 # umount /mnt
Step24: 再來 newfs 一下 /dev/rdsk/c1t2d0s6 給 /opt partition 用:
root@cms0 # newfs /dev/rdsk/c1t2d0s6
Step25: 把 c1t2d0s6 mount 到 /mnt 去吧,然後檢查一下是不是有看到 lost+found:
root@cms0 # mount /dev/dsk/c1t2d0s6 /mnt
root@cms0 # ls -alrt /mnt
total 22
drwxr-xr-x 33 root root 2048 Oct 3 16:07 ..
drwx------ 2 root root 8192 Oct 23 18:19 lost+found
drwxr-xr-x 3 root root 512 Oct 23 18:19 .
Step26: 檢查一下目前的 Disk partition for /opt and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s6 20545897 1246351 19094088 7% /opt
/dev/dsk/c1t2d0s6 20545897 9 20340430 1% /mnt
Step27: 開始 Dump /opt 的資料到 c1t2d0s6 >>
root@cms0 # cd /opt
root@cms0 # ufsdump 0uf - . | (cd /mnt; ufsrestore xf -);date
( 敲入“y” 兩次來確認)
set owner/mode for '.'? [yn] y
Directories already exist, set modes anyway? [yn] y
root@cms0 # iostat -cnzx 10 (用來檢查目前的 I/O status,這裡的 10 是每 10 秒的意思啦)
Step28: 再檢查一次目前的 Disk partition for /opt and /mnt:
root@cms0 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s6 20545897 1246351 19094088 7% /opt
/dev/dsk/c1t2d0s6 20545897 1246423 19094016 7% /mnt
Step29: Dump 完 /opt 的資料後把 c1t2d0s6 從 /mnt umount 掉吧:
root@cms0 # umount /mnt
Step30: Dump 完所有 mount point 的資料並 unmount 掉 /dev/dsk/c1t2d0 之後就可以把新 HDD 拔出 c1t2d0 囉。
以上這兩種方法可以看成是針對整顆 HDD 的資料來做備份或轉移的喔。
剩下的就留到下一篇再寫吧...以上,報告完畢。