快速业务通道

solaris修复损坏的root分区 mirror环境

作者 佚名技术 来源 操作系统 浏览 发布时间 2012-06-27

对于生产系统的服务器,标准配置通常都会对root文件系统做mirror,Sun自然也不例外。

很多文档针对solaris如何mirror root文件系统,本文是测试怎样当mirror中一个disk损坏后,如何修复

测试环境是x86 solaris,但是流程根sparc一样。

正常情况:
# metastat
d0: Mirror
Submirror 0: d10
State: Okay
Submirror 1: d20
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 10240000 blocks (4.9 GB)

d10: Submirror of d0
State: Okay
Size: 10240000 blocks (4.9 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s0 0 No Okay Yes


d20: Submirror of d0
State: Okay
Size: 10240000 blocks (4.9 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s0 0 No Okay Yes

模拟损坏一块儿硬盘,或删除一块儿磁盘之后

日志自然会抱错,如果重新启动系统,系统会自动启动到单用户模式

如果暂时没有替代的磁盘可以先删除metadb,来启动系统

删除之后:
# metastat
d0: Mirror
Submirror 0: d10
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 10240000 blocks (4.9 GB)

d10: Submirror of d0
State: Okay
Size: 10240000 blocks (4.9 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s0 0 No Okay Yes


d20: Concat/Stripe
Size: 10240000 blocks (4.9 GB)
Stripe 0:
Device Start Block Dbase Reloc
c1t1d0s0 0 No Yes

d20并没有被删除,下面提供一个参考的过程用来完全删除问题磁盘:

# metadetach -f d0 d20
d0: submirror d20 is detached
# metadb -d /dev/rdsk/c1t1d0s7
# metaclear d20

删除之后:
# metastat
d0: Mirror
Submirror 0: d10
State: Okay
Submirror 1: d20
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 10240000 blocks (4.9 GB)

d10: Submirror of d0
State: Okay
Size: 10240000 blocks (4.9 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s0 0 No Okay Yes
Device Relocation Information:
Device Reloc Device ID
c1t0d0 Yes id1,sd@f0000000048496c95000bfd270000

添加一个替换磁盘之后,重新加入mirror的步骤:
1.按照原有磁盘,用format分区
2.metadb -a /dev/rdsk/c1t1d0s7 --在磁盘上的一个分区创建meta db
3.metainit d20 1 1 /dev/rdsk/c1t1d0s0 ---创建metadevice :d20
4.metattach d0 d20 ---将d20 添加到原有的d0之中
5.installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0 ---新磁盘添加引导信息(solaris 10 x86 不再使用installboot)

上面删除和添加步骤并不是最优路径,只是自己再操作的时候根据操作步骤记录而来,下面列一个比较优的更换磁盘的步骤:

1 替换坏硬盘
2 开机到单用户模式下
3 metadb -d c1t1d0s7 (db是放在s7分区上的)
4 prtvtoc /dev/rdsk/c1t0d0s2|fmthard –s – /dev/rdsk/c1t1d0s2
5 metadb -a -f -c 3 c1t1d0s7
6 关机重启到正常模式下
7 metareplace -e d10 c1t1d0s0

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号