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