使用不同规格的硬盘用Disksuite做镜像 硬件平台:Fujitsu PP400 2*SPARC64GP (基本与Sun E450(Sparc III)兼容) 软件:Sun Solaris 8(无差异) 原因:PP400上的原装Fujitsu 硬盘在不到两年的时间内爆掉一个,厂商原规格的硬盘已经停产(33.6G/Ultra 160 /LVD接口/热插拔),由于过保买该规格(厂商的备件)硬盘狂贵(接近杀猪),一气之下订购两个西捷36G/Ultra 320 /LVD/热插拔硬盘(总价不到Fujitsu的1/4)。这两款硬盘在磁头数量和磁道数量上有很大的差异,为保证一次成功我基本每步均极小心,否则原来盘上的Oracle数据库就爆了,赔不起,即便重装又麻烦。 过程: 1、 将数据库备份(建议); 2、 停止应用服务,特别是数据库; 3、 Init 1 进入单用户模式 4、 拔除坏硬盘,将硬盘托架装到西捷盘上; 5、 metadb –I #查看Metadb状态,由/dev/dsk/c0t0d0s6 与/dev/dsk/c0t1d0s6 构成replicas 6、 因为c0t1d0已经坏了,故>metadb –d /dev/c0t1d0s6 7、 插入新硬盘; 8、 format ->disk 0 -> Part ->print查看一下好的硬盘的分区状态,记录下来(不要弄错了,一定要仔细); 9、 Format ->disk 1 -> part ->print 查看一下新硬盘的分区状态磁道与Block的分配; 10、 由于disk1 与Disk 0 磁道数与磁头数不一样所以要稍微计算一下新硬盘起始磁道的数量,同时可以参考block的数量因为每个block 的大小在Solaris 下都是一样大的512B 。 11、 Part->调整0,1,2,4,6,7 分区大小(看自己的分区,我的是0->root 1->swap 2->overlap 4->var 6 ->(留做Replicas,50M) 7->home); 12、 由于分区是以整数磁道作为分区的大小的边界,也就是说不能不足半个磁道进行分区,所以对于两个不一样规格的硬盘来说基本上不大可能会出现精确到1KB的的分区大小,开始我也比较犹豫,因为镜像硬盘基本上是选用同规格的。但是我还是坚持下去,我将新盘的大小划得比旧盘的大一点(一个磁道偏差内)。 13、 part ->lable->quit #有时间的话做一下Format ,但时间太长,我没做,前提是相信西捷的质量不会那么烂。 14、 metadb –afc 2 /dsk/c0t1d0s6[2是因为我旧盘上也是两个MetaDB] 15、 metaoffline –f d10 d12 #将坏SubMirror离线 16、 metadetach –f d10 d12 #将坏SubMirror 清除出Metadb 17、 newfs /dev/dsk/c0t1d0s0 #一定要先建立文件系统否则出错 18、 metattach d10 d12 19、 开始同步文件系统; 20、 依次从15~18重复将其他分区也做一次; 21、 出去吃顿饭或逛上一趟街,回来基本同步好了; 22、 reboot 机器; 23、 系统OK了但是,在GUI界面下在打开终端你会发现[用Metastat],磁盘又在同步,不过这次是两个SubMirror在同步](我很纳闷,但还是让它做吧,免得失败。 24、 完成后,热拔老硬盘,系统正常,镜像生效。一半的工作完成了。 25、 你会问为啥还只是一半的工作,因为为了保险起见,毕竟两个硬盘不同规格你还是冒了风险的。后面将同规格的西捷硬盘再做SubMirror 基本是重复劳动了,我是用上面的过程做了一遍,听说用prtvtov + Metarepalce可以,但是我试了一下,不成功,麻烦点总比冒险好。 结论:1、DiskSuite 是个好东西,竟然完成了这么一个不同兄弟的克隆,推荐深入研究; 2、Solaris 是个好东西,微软估计经不起老折腾; 3、小日本是个坏东西,东西不好又死贵,建议抵制日货,因为电话又来了,又有一个用Fujitsu 硬盘的小型机爆了,哎,好是命苦。 4、这篇文章是本来是我的工作笔记,但是我想对于Solaris平台的东西或许有共性,拿出来让批评指正。
(出处:http://www.sheup.com)