| Tru64 Unix AdvFS 系统盘的克隆、仿制及灾后复原的方法 |
荐 |
| Tru64 Unix AdvFS 系统盘的克隆、仿制及灾后复原的方法 |
|
| |
|
一、 引言 在Unix运行中,系统盘突然出故障或损坏,操作系统因偶然事件而崩溃,这种危险虽不常见,但却是可能的而且致命的。为了防患于未然,系统管理员应该未雨绸缪,要嘛按照一定的策略做好系统的备份,要嘛做一个备用的系统盘以对付急需。这个工作可以归结为如何从故障后恢复原先的操作系统盘(灾后复原),或如何仿制一个系统盘,如何克隆一个系统盘的问题。鉴于AdvFS是Tru64 Unix所特有的一种高级文件系统,有许多优点和特点,使用者渐多,而介绍文章却很少,本文拟以Tru64 Unix V4.0E和V5.1(或COSIX64 V5.1)AdvFS文件系统为例,详细介绍AdvFS 系统盘的克隆、复制和灾后复原的具体方法。为节省篇幅起见,本文只讨论高级文件系统(AdvFS)的情况,Unix文件系统(ufs)的情况比较简单,恕不赘述。
二、 如何克隆系统盘 所谓系统盘克隆,实际上就是这样做系统盘备份:将系统盘原原本本地复制到一个类型完全相同、容量相同或者稍大一点的磁盘上。原盘和克隆盘不仅功能和所有配置完全一样,而且就连盘上的所有文件、数据的存放顺序都一样,因此,两者是可以相互替换的。 目前国际流行的主要Unix 版本几乎都使用dd命令来做系统盘克隆。对传统文件系统(ufs)的低版本而言是有效的,但对高版本或者AdvFS来说就不灵了。因为设计dd命令主要是用来做数据拷贝,而不是为文件系统拷贝的。因此,Tru64 Unix 强调指出,用dd克隆系统盘不是推荐的做法。尽管如此,但笔者经过反复尝试,认为只要使用得当,还是能做的。下面就V4.0E和V5.1的Advfs系统盘的克隆分别介绍如下。 2.1 V4.0E >;>;>; sh dev 在控制台提示符>;>;>;下查得系统盘的bootdev名为dka0:,克隆盘bootdev名为dka100: >;>;>; boot dka0 然后由root登录 # file /dev/rrz*c 或使用diskconfig命令查得dka0:设备名为rz0,dka100:设备名为rz1 # disklabel -z rz1 # dd if=/dev/rrz0c of=/dev/rrz1c conv=noerror,sync bs=100k 注意! 使用raw device # shutdown -h now 将系统盘dka0:拆去,再将克隆盘的SCSI-ID 号改成dka0:的SCSI-ID号,用克隆盘引导系统。 >;>;>; boot dka0 这时,克隆盘就跟原系统盘一模一样,两者可以相互替换,留一个作为备用。 如果你不想用原盘的SCSI-ID号,而想让两盘共存,那么,有两个办法实现: 办法一、在系统关机之后,不卸掉原系统盘,不改动SCSI-ID号,而用克隆盘来引导系统。 >;>;>; boot dka100 由root登录 # cd /etc --------------(A) # vi fstab 将rz0a改为rz1a, 将rz0g 改为rz1g , 将rz0b改为rz1b # cd /sbin # rm swapdefault # ln -s /dev/rz1b swapdefault # shutdown -h now ---------------(B) 卸去dka0:后用克隆盘引导系统 >;>;>; boot dka100 以证实克隆盘可用;然后,再将系统盘连上,以便两盘共存。 办法二、卸去原系统盘dka0:,再将克隆盘的SCSI-ID改成原系统盘的号后用克隆盘引导系统, >;>;>;b dka0: 由root登录 接着执行(A)---(B)各步,然后将克隆盘的SCSI-ID恢复如初,再用克隆盘引导系统 >;>;>;b dka100 证实克隆盘可用后,再连接上原系统盘,此后便有两个系统盘可用。 2.2 V5.1 >;>;>; sh dev 查得原系统盘为dka0:,新盘为dka100: >;>;>; boot dka0 # file /dev/rdisk/dsk*c 查得系统盘设备名为dsk0,克隆盘为dsk1 # disklabel -z dsk1 # dd if=/dev/rdisk/dsk0c of=/dev/rdisk/dsk1c conv=noerror,sync bs=100k # halt >;>;>; boot dka100 不要拆下原盘,但须用克隆盘引导系统,然后由root登录。 # cd /etc/fdmns # mv root_domain old-root_domain 或者直接删除文件域root_domain # mv usr_domain old-usr_domain 或者直接删除文件域usr_domain # mkdir root_domain # cd root_domain # ln -s /dev/disk/dsk1a # cd .. # mkdir usr_domain # cd usr_domain # ln -s /dev/disk/1g # cd /etc # vi sysconfigtab 将swapdevice=/dev/disk/dsk0b改为swapdevice=/dev/disk/dsk1b # halt 关机后卸去原系统盘dka0: >;>;>; boot dka100 再用克隆盘引导系统,以便证实克隆盘可用。 值得注意的是,在V5.1下磁盘设备名/dev/disk/dskX是不能改变的,因此,没有必要将克隆盘的SCSI-ID号改成原盘的号来引导。
三、 如何仿制系统盘 所谓仿制系统盘,就是为了备用起见,将完好的原系统盘复制在另一个盘上。与原盘相比,仿制盘的容量应相同或更大,类型不必一样,SCSI-ID(或者targ号)用户自定。此外,仿制与克隆不同,前者使用vdump和vrestore命令,后者用dd命令,而且,前者能使盘内数据存放更有条理,结果可靠,可推荐用于制作备用系统盘。 3.1 V4.0E系统 >;>;>; sh dev 查看出原系统盘ST32155N的bootdev名为dka100,仿制盘ST32550N的bootdev名为dka0:。从原系统盘引导系统 >;>;>;boot dka100 然后由root登录 # file /dev/rrz*c 或用命令# diskconfig查看设备名,仿制盘设备名为rz0,原系统盘为rz1 # disklabel -rw -t advfs rz0 ST32550N # diskconfig 按照rz1的分区大小来配置rz0;如果rz0有富余,则可另配一个分区。 # mkfdmn /dev/rz0a root_domain0 # mkfdmn /dev/rz0g usr_domain0 # mkfset root_domain0 root # mkfset usr_domain0 usr # shutdown now 进入单用户方式 # mount -a # mount -t advfs usr_domain0#usr /mnt # vdump -0vf - / | vrestore -xf - -D /mnt # umount /mnt # mount -t advfs root_domain#root /mnt # vdump -0vf - / | vrestore -xf - -D /mn # # cd /mnt/etc/fdmns 在仿制盘中删除老盘的域和文件集 # cd root_domain # rm rz1a # cd .. # rmdir root_domain # cd usr_domai # rm rz1g # cd .. # rmdir usr_domain # rm .advfslock_root_domain # rm .advfslock_usr_domain # # mv usr_domain0 usr_domain 将仿制盘的域名和文件集正名 # mv root_domain0 root_domain # mv .advfslock_usr_domain0 .advfslock_usr_domain # mv .advfslock_root_domain0 .advfslock_root_domain # cd .. # ed /mnt/etc/fstab 用行编辑来修改文件,用rz0b代替rz1b,使swap定位在rz0b # # cd /mnt/sbin 规定缺省对换区swapdefault # rm swapdefault # ln -s /dev/rz0b swapdefault # cd / # umount /mnt # # cd /etc/fdmns 在老盘中删除仿制盘的域名和文件集 # cd root_domain0 # rm rz0a # cd .. # rmdir root_domain0 # cd usr_domain0 # rm rz0g # cd .. # rmdir usr_domain0 # rm .advfslock_usr_domain0 # rm .advfslock_root_domain0 # cd / # halt >;>;>; boot dka0 (仿制盘的bootdev为dka0) V4.0E的Advfs系统盘的仿制宣告完成。
3.2 V5.1系统 >;>;>; sh dev 从原系统盘dka100: 引导系统 >;>;>; b dka100 用root登录 # file /dev/rdisk/dsk*c 或# diskconfig查看设备名,仿制盘设备名dsk3 # disklabel -z dsk3 # disklabel -rw -t advfs dsk3 4265-1 # diskconfig 按照原盘dsk0的分区来配置dsk3 ;如果dsk3有富余,则可另配一个分区。 # mkfdmn /dev/disk/dsk3a root_domain3 # mkfdmn /dev/disk/dsk3g usr_domain3 # mkfdmn /dev/disk/dsk3h var_domain3 # shutdown now # mount -a # mount -t advfs var_domain3#var /mnt # vdump -0vf - /var | vrestore -xf -D /mnt # umount /mnt # mount -t advfs usr_domain3#usr /mnt # vdump -0vf - /usr | vrestore -xf -D /mnt # umount /mnt # mount -t advfs root_domain3#root /mnt # vdump -0vf - / | vrestore -xf -D /mnt # cd /mnt/etc/fdmns # rm .advfslock_root_domain # rm .advfslock_usr_domain # rm .advfslock_var_domain # cd root_domain # ls -l # rm dsk0a # cd .. # rmdir root_domain # cd usr_domain # ls -l # rm dsk0g # cd .. # rmdir usr_domain # cd var_domain # ls -l # rm dsk0h # cd .. # rmdir var_domain # mv .advfslock_root_domain3 .advfslock_root_domain # mv .advfslock_usr_domain3 .advfslock_usr_domain # mv .advfslock_var_domain3 .advfslock_var_domain # mv root_domain3 root_domain # mv usr_domain3 usr_domain # mv var_domain3 var_domain # cd / # umount /mnt # cd /etc/fdmns 在系统盘中删去仿制时产生的3个点文件和3个目录(在此例中就是带"3"字符的) # rm .advfslock_root_domain3 # rm .advfslock_usr_domain3 # rm .advfslock_var_domain3 # cd root_domain3 # rm dsk3a # cd .. # rmdir root_domain3 # cd usr_domain3 # rm dsk3g # cd .. # rmdir usr_domain3 # cd var_domain3 # rm dsk3h # cd .. # rmdir var_domain3 # cd / # halt ---------------(C) >;>;>; boot dka0 注意!此时请别卸去dka100: 由root登录 # swapon -s # swapon /dev/disk/dsk3b # cd /etc # vi sysconfigtab 将swapdevice=/dev/disk/dsk0b 改成 swapdevice=/dev/disk/dsk3b 事实上,swapdevice的修改可以在halt(即(C) 处)之前用ed编辑器来编辑sysconfigtab文件,那样就可以直接卸去dka100:了。 # halt 卸去dka100: 然后 >;>;>; boot dka0 到此为止,V5.1的Advfs系统盘的仿制就完成了。
四、 如何做系统盘的灾后复原 4.1 前期工作 灾后复原有个前提条件,就是灾前要做好完整的系统备份,即全备份和增量备份。 i. 以超级用户登录,然后用命令 # shutdown now 转入单用户方式。 ii. # mount -a 用此命令裱附(mount)要备份的文件系统。 iii. 用如下格式命令完成全备份和增量备份: vdump [-0..9]vf device fileset 例如 全备份: vdump -0vf /dev/rmt0h / 或 vdump -0vf /dev/tape/tape0_d1 /&nbs[1] [2] 下一页
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2007-1-1 19:13:11 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|
|
|
| 教程录入:itqoo 责任编辑:itqoo |
|
上一个教程: ntp时钟同步的建立过程
下一个教程: Digital UNIX 操作系统(二) |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |