SDS镜像磁盘的更换
某服务器内置两个SCSI控制器,各接4个9G硬盘,两个控制器上的硬盘互做镜像,用SDS4.2。用户使用metatool发现3块硬盘处于maintenance状态,就带了3块硬盘去换,到了现场一看就傻眼了。两块盘formmat都不能识别,只能换盘了。麻烦就在,每个盘并不是简单的整个磁盘镜像,而是每个盘都分了四个区,这四个区跟另一个SCSI控制器上的磁盘上的分区分别进行镜像,根区也做了镜像,而另外一个根区镜像的硬盘坏了,进入maintenance状态=。用户的存放最重要的应用和数据的两个分区都进入maintenance状态,而想对应的镜像盘已经损坏,format也看不到型号了。这个机器很久没关机了,系统装的是2.5.1,用户问关机之后系统能否起来,我也楞了一下,说难说能否正常启动,就是正常的机器关机之后也难保正常启动啊,用户就有点不高兴了,这个机器很重要,必须修好。我天,机器好坏,谁也说不了的啊。没办法,把根的坏镜像盘从镜像上卸下,然后init 0进入OK,换硬盘,boot –r启动机器,奇怪的是这个老机器自检了很长时间才启动起来,等的我和用户都着急了,还好,录窗口起来了,总算稍微松了一口气。
9G的盘已经没有了,换上去的是18G的盘,但是原机器上的盘是9G的,为了镜像,只好把18G的盘做成9G的。进入format,选择一个刚进入的盘,然后选择type,选择16(SUN9G),再label一下,这个盘就换成9G的了,牺牲了9G的空间。然后进入partition,查看分区方法和镜像的盘是否一致。打开一个shell,进入format,查看要镜像的盘的分区,在新盘的format窗口里,先删除原来的分区,然后再重新分成和要镜像的盘一样的分区(可以使用带c的方法,最简单了)。分区完了要label一下,不然白做。
下面的就是更换镜像了。
# metastat d0
d0: Mirror
Submirror 0: d10
State: Needs maintenance
Submirror 1: d20
State: Okay
………..
d10: Submirror of d0
State: Needs maintenance
Invoke: "metareplace d0 /dev/dsk/c0t3d0s0 ;"
Size: 47628 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
/dev/dsk/c0t3d0s0 0 No Maintenance
步骤如下:
# metadetach –f d0 d10
# metaclear d10
# metainit d10 1 1 c0t3d0s0
# metattach d0 d10
# metastat查看,镜像已经进入同步状态,其他的分区镜像如法炮制,一切进行的很顺利。
最后做的是两个都已经进入Maintenance的盘,使用metastat查看,一个子镜像是Maintenance,另外一个是last erred,做完之后,使用metatool发现同步过程始终停留在0%的位置,怀疑出了什么问题,想再做一便,却提示正在同步,没办法,只好等待了,结果还是做完了,新换上去的子镜像盘处于OK状态了,说明数据已经过来了。而原来的子镜像盘还是last erred状态,就把这个显示last erred的子镜像按上面的步骤做一遍,同步以后也提示OK了。
最后打开metatool,用户习惯用这个,我不习惯用图形。所有的镜像都显示正常状态了,终于松了一口气。用户说,晚上6点开始做,原打算做到半夜的,没想到这么快就完事了。我心想,是你的盘小啊,9G的盘还分了4个区,做起同步肯定快了,要是73G的盘做同步的话,就不知道等几个小时了。。。。。。。
结论:做了镜像的盘,只要有一个镜像是好的,在做维护的时候,不容易造成数据的丢失,当然了,不要进行误操作。如果有磁带机先备份一下,做起来就更放心了。
出了机房,就进了饭馆,要了鸭血粉丝、牛肉沙锅、一瓶小二锅头。。。。。。。。
阅读(713) | 评论(0) | 转发(0) |