2. 仿制(duplicate)
首先要准備一個磁盤,其容量要等於或大於原系統盤。仿制系統盤,主要做如下幾件事:
(1) 按照原先系統盤的大小配置一個新盤;
(2) 為新系統創建域和文件集;
(3) 為原系統創建目錄並在該目錄中建立符號鏈接;
(4) 利用命令vdum,vrestore和管道完成文件集的復制;
(5) 修改仿制系統中的符號鏈;
(6) 修改仿制系統中的fstab文件,並更改對換區(swap)的指向
2.1 Digital UNIX V4.0E的實例
>>>show device
>>>boot dka500
"Installation Setup""Install Type"中"Custom"“Partition Disks...”
按照原系統盤的各個分區大小配置新盤,配置新盤時應將多余磁盤空間配置成一個或多個分區留作他用(操作務必小心謹慎,萬萬不可對原系統盤進行配置操作!!)"UNIX Shell..."
# mkfdmn /dev/rz12a root_domain1
# mkfdmn /dev/rz12g usr_domain1
# mkfset root_domain1 root
# mkfset usr_domain1 usr
# cd /etc/fdmns
# ls
# mkdir root_domain0 usr_domain0
# cd root_domain0
# ln -s /dev/rz10a
# !
cd ../usr_domain0
# ln -s /dev/rz10g
# mount -t advfs usr_domain0#usr /home
# mount -t advfs usr_domain1#usr /mnt
# vdump -0vf - /home │ vrestore -xf - -D /mnt
# umount /home /mnt
# mount -t advfs root_domain0#root /home
# mount -t advfs root_domain1#root /mnt
# vdump -0vf - /home │ vrestore -xf - -D /mnt
# umount /home
# cd /mnt/etc
# ed fstab 將文件中的rz10b改為rz12b
# cd /mnt/etc/fdmns
# cd root_domain
# rm rz0a
# ln -s /dev/rz12a
# cd ../usr_domain
# rm rz10g
# ln -s /dev/rz12g
# cd /mnt/sbin
# rm swapdefault
# ln -s /dev/rz12b swapdefault
# umount /mnt
# exit · · ·
>>>boot dkb400 從仿制盤引導系統。
順便提一下,剩余磁盤分區rz12h,可以按需要做成AdvFS或UFS。
2.2 Tru64 UNIX V5.1的實例
>>>show device 原系統盤dkb200: RZ1CF-CF;新盤dkb400: RZ2ED-LS。
>>>boot dka400 ?
曬獾枷低暢龌隊滄癌鑫募鯯hell窗口#
># file
/dev/disk/dsk*c
顯示原系統盤RZ1CF-CF的設備名為dsk0,新盤RZ2ED-LS的設備名為dsk1
# diskconfig
按照原先系統盤各個分區的大小來配置新盤,多余的磁盤空間分配給一分區留作他用。 # mkfdmn /dev/disk/dsk1a root_domain1
# mkfdmn /dev/disk/dsk1g usr_domain1
# mkfset root_domain1 root
# mkfset usr_domain1 usr
# mkfset usr_domai1 var
# cd /etc/fdmns
# mkdir root_domain0 usr_domain0
# cd root_domain0
# ln -s /dev/disk/dsk0a
# cd ../usr_domain0
# ln -s /dev/disk/dsk0g
# mount -t advfs usr_domain0#usr /home
# mount -t advfs usr_domain1#usr /mnt
# vdump -0vf - /home │ vrestore -xf - -D /mnt
# umount /home /mnt
# mount -t advfs usr_domain0#var /home
# mount -t advfs usr_domain1#var /mnt
# vdump -0vf - /home │ vrestore -xf - -D /mnt
# umount /home /mnt
# mount -t advfs root_domain0#root /home
# mount -t advfs root_domain1#root /mnt
# v!
dump -0vf - /home │ vrestore -xf - -D /mnt
# umount /home
# cd /mnt/etc/fdmns
# ls
# cd root_domain
# ls -l
# rm dsk0a
# ln -s /dev/disk/dsk1a
# cd ../usr_domain
# ls
# rm dsk0g
# ln -s /dev/disk/dsk1g
# cd ../..
# vi sysconfigtab
將swapdevice=/dev/disk/dsk0b 改為 swapdevice=/dev/disk/dsk1b
# cd
# umount /mnt
# exit “文件”“退出”##
# halt · · ·
>>>boot dkb400
3. 全備份(full backup)
眾所周知,V4.0E和V5.1,它們的復原工作都是在UNIX Shell下完成的,但災前備份的全備份卻是在普通系統的單用戶方式下做的。詳情請參閱有關資料(如,“Installation Guide-Advanced Topics”的第三章“The UNIX Shell")。
下面我們討論一下用UNIX Shell做災前備份的問題。這裡最主要的一點就是要知道如何將系統盤的各個文件集裱附(mount)到一個臨時的裱附點上;至於其它操作,那都是常規工作,不必詳述。
Digital UNIX V4.0E與Tru64 UNI!
X V5.1的情況相似,主要差別在創建設備特殊文件的命令不同,設備特殊文件名亦不同,為節省篇幅起見,下面只列出V5.1的例子。
>>>set bootdef_dev “”
>>>boot dka400
歡迎安裝文件Shell窗口#
# hwmgr -view device
# /sbin/dn_setup -install_tape
# cd /etc/fdmns
# mkdir root_domain0 usr_domain0
# cd root_domain0
# ln -s /dev/disk/dsk2a
# cd ../usr_domain0
# ln -s /dev/disk/dsk2g
# mount -t advfs root_domain0#root /mnt
# vdump -0vf /dev/ntape/tape0_d1 /mnt
# umount /mnt
# mount -t advfs usr_domain0#usr /mnt
# vdump -0vf /dev/ntape/tape0_d1 /mnt
# umount /mnt
# mount -t advfs usr_domain0#var /mnt
# vdump -0vf /dev/ntape/tape0_d1 /mnt
# umount /mnt
4 結束語
由於UNIX Shell 是獨立系統,操作對象處於靜止狀態,克隆、仿制皆與操作對象沒有干系,因此,操作簡潔方便,可靠。
我們在前面只討論AdvFS系統盤的實例,是因為它比較特別;其實,UNIX Shell對AdvFS和ufs都一樣適用,ufs系統盤的克隆、仿制等工作都可以在UNIX Shell下完成,感興趣的讀者不妨一試。
UNIX Shell是為系統管理員提供的一種工具,在有了一定UNIX系統管理經驗之後就可以應用;但是應該特別強調,在克隆、仿制等操作中必須頭腦清醒、小心謹慎,否則,會造成災難性後果.