Alpha 4000硬盘故障恢复 (转贴)
发表于:2007-05-26来源:作者:点击数:
标签:
Alpha4000硬盘故障恢复 虽然硬盘故障不经常发生,但每次出现都是致命的,此时如何将影响降至最小,并尽快恢复系统运行就是系统维护人员最急于解决的问题。不久前笔者遭遇了一次硬盘故障,最终顺利地解决了这次危机,在此把恢复过程介绍给读者。 本文涉及的系
Alpha 4000硬盘故障恢复
虽然硬盘故障不经常发生,但每次出现都是致命的,此时如何将影响降至最小,并尽快恢复系统运行就是系统维护人员最急于解决的问题。不久前笔者遭遇了一次硬盘故障,最终顺利地解决了这次危机,在此把恢复过程介绍给读者。
本文涉及的系统共有3台Compag Alpha 4000小型机,运行OSF 4.0E和Trucluster 1.5, 其中两台运行
Oracle 7.3.4.5.0 OPS, 另一台运行Oracle 7.3.4.5.0 Standby
数据库,发生故障的主机为后一台。
故障表现
发生故障的小型机表现为自动重启,查看/var/adm/messages发现本地盘有大量的I/O错误。经诊断确认是本地盘硬件错误,需更换新的硬盘。
如果采用重新安装OSF 4.0E、Trucluster 1.5、Oracle 7.3.4.5.0以及对应的补丁,再配置主机、
网络、Trucluster等,顺利的话,至少需要2天的时间。考虑到
Unix系统最近一次磁带备份后,操作系统并未做配置上的改变,于是决定用备份磁带以争取在最短的时间内恢复、减少业务影响, 下面是恢复步骤。
备份现有系统
该机文件系统是advfs(如果是ufs,则要用dump备份),备份系统按如下方式操作:
1. 以超级用户身份登录系统:
root_domain#root /
usr_domain#usr /usr
oracle_domain#oracle_fset /usr1
2. 切换系统进入单用户模式:
# shutdown now
3. “mount”所有盘:
# mount -a
4. 放进空磁带:
# vdump -0vf /dev/nrmt0h /
# vdump -0vf /dev/nrmt0h /usr
# vdump -0vf /dev/nrmt0h /usr1
5. 取出磁带,做好标记,重新启动系统:
# shutdown -r now
检查当前环境、备份license
license很关键,需要小心备份:
1.备份/var/adm/lmf/ldb文件;
2.查看现有文件系统:
#df -k
3. 查看filedomain:
# showfdmn root_domain
# showfdmn oracle_domain
# showfdmn usr_domain
4. 查看disklabel:
#disklabel -r rz8
插上新盘、进行分区
假设新盘为rz12,写入标签和引导标志:
#disklabel -rw -t advfs rz12 18g_disk
进行分区,要保证和原有系统分区一样,或者采用更大的分区:
#diskconfig
用备份磁带恢复
拔掉坏的硬盘,把新盘插在原来故障盘的位置。用Unix的操作系统光盘启动系统,进入命令模式:
#cd /dev
#./MAKEDEV rz8
# /sbin/mkfdmn /dev/rz8a root_domain
# /sbin/mkfset root_domain root
# /sbin/mkfdmn /dev/rz8d usr_domain
# /sbin/mkfset usr_domain usr
# /sbin/mkfdmn /dev/rz8e oracle_domain
# /sbin/mkfset oracle_domain oracle_fset
# cd /dev
假设tz6为磁带的Unix设备名,生成磁带设备名:
# ./MAKEDEV tz6
# cd /
放进备份磁带:
# mount -t advfs root_domain#root /mnt
# cd /mnt
# /sbin/vrestore -xvf /dev/nrmt0h
# cd /
# umount /mnt
# mount -t advfs usr_domain#usr /mnt
# cd /mnt
# /sbin/vrestore -xvf /dev/nrmt0h
# cd /
# umount /mnt
# mount -t advfs oracle_domain#oracle_fset /mnt
# cd /mnt
# /sbin/vrestore -xvf /dev/nrmt0h
# cd /
# umount /mnt
完成上述工作后,重启系统,然后用备份的“ldb”文件恢复license。至此,硬盘恢复最终完成。
结束语
要想让系统具有更高的可用性,需要在现有财力和可用性要求之间选择一个平衡点,对于本文的情况,如果读者业务系统本地盘有RAID控制器的话,建议做成RAID 1镜像本地盘,另外,除了制定完备的
数据库备份策略外,还应定期做好
Unix系统的备份工作。
【发表回复】【查看CU论坛原帖】【添加到收藏夹】【javascript:window.close()">关闭】
我爱臭豆腐 回复于:2003-12-26 10:37:54
|
好
|
imacross 回复于:2003-12-26 15:02:08
|
我用scu scan edt得到的硬盘型号和硬盘标签上标的型号不同,为什么啊。
|
campoeagle 回复于:2003-12-26 19:44:29
|
imacross:问你的供货商啊。
|
victorxu79 回复于:2003-12-27 09:59:54
|
#disklabel –rw /dev/rrrz2 9G
#disklabel –r rrz0 > /tmp/rz0.label
#disklabel –t advfs –r –R /dev/rrz2 /tmp/rz0.label 9G // backup /root, /usr, /ora
#mkfdmn /dev/rz2a r1
#mkfdmn /dev/rz2g u1
#mkfdmn /dev/rz2h o1
#mkfset r1 root
#mkfset u1 usr
#mkfset o1 ora
#mount r1#root /mnt
#vdump –0uf - / | vrestore –xf – -D /mnt
#umount /mnt
#mount u1#usr /mnt
#vdump –0uf - /usr | vrestore –xf – -D /mnt
#umount /mnt
#mount o1#ora /mnt
#vdump –0uf - /ora | vrestore –xf – -D /mnt
#umount /mnt
|
新手困惑 回复于:2003-12-29 14:42:01
|
备份/var/adm/lmf/ldb文件是用tar命令还是用vdump命令备份?
|
seanding 回复于:2003-12-30 15:43:35
|
用tar 比较简单,其它unix也能读。
|
原文转自:http://www.ltesting.net
|