免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 999 | 回复: 0
打印 上一主题 下一主题

DiskSuite4.2.1做的RAID5的恢复方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-15 09:59 |只看该作者 |倒序浏览

http://bbs.chinaunix.net/viewthread.php?tid=222763&highlight=raid



前天,朋友公司的Solaris8系统出现紊乱,无奈之下只好重装solaris8,可是原先系统下有2个Disksuite做的RAID5, /dev/md/dsk/0和 /dev/md/dsk/1, 有将近1T的数据,在板上看了很多恢复的办法,觉得比较麻烦,偶采取了一种比较简单的办法,方法如下:
1。先在原系统下将DiskSuite相关信息备份:
   tar cvf  /disk1/MD_DEV.tar /dev/md
    tar cvf /disk1/MD_HW.tar /device/.../.../...(记不清楚了,就是/dev/md/dsk目录下链接的物理设备文件)
   tar cvf /disk1/MD_INFO.tar /etc/lvm (包含md配置文件)
    cp /etc/system /disk1 (里面有md信息)
   cp /etc/rc2.d/Sxxlvm /disk1(DiskSuite的启动脚本,文件名记不清了,哪位老大帮忙查一下,更正吧)
   cp /etc/vfstab /disk1 (备份文件系统表)
2。重装系统,重装DiskSuite工具;
3。将备份的文件恢复到对应的目录下
4。reboot
5。df -k  查看文件系统,一切OK
注意:
由于本文是根据回忆整理的,现在手头也没有环境,不是很准确,各位做的时候一定要小心,数据一定要备份:)




8月20日,接到任务书,为一台运行Solaris 7的E450恢复SDS中的坏掉的一块硬盘的数据。
        一、到达现场后,首先查看当前系统状态:
        # metastat >;$HOME/metastat.0820
        # more metastat.0820
        d1:Mirror
                Submirror 0:d11
                        State:Okay
                Submirror 1:d12
                        State:Okay
                Pass: 1
                Read option: roundrobin(default)
                Write option: parallerl(default)
                Size:4274640 blocks
        d 11: Submirror of d1
                State:Okay
                Hot spare pool: hsp000
                Size: 4274640 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C0t0d0s0                                0        No                Okay               
        d 12: Submirror of d1
                State:Okay
                Hot spare pool: hsp000
                Size: 4274640 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C3t0d0s0                                0        No                Okay                c2t0d0s0
d2:Mirror
                Submirror 0:d21
                        State:Okay
                Submirror 1:d22
                        State:Okay
                Pass: 1
                Read option: roundrobin(default)
                Write option: parallerl(default)
                Size:2049840 blocks
        d 21: Submirror of d2
                State:Okay
                Hot spare pool: hsp000
                Size: 2049840 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C0t0d0s1                                0        No                Okay               
        d 22: Submirror of d2
                State:Okay
                Hot spare pool: hsp000
                Size: 2049840 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C3t0d0s1                                0        No                Okay               
d3:Mirror
                Submirror 0:d31
                        State:Okay
                Submirror 1:d32
                        State:Okay
                Pass: 1
                Read option: roundrobin(default)
                Write option: parallerl(default)
                Size:2049840 blocks
        d 31: Submirror of d3
                State:Okay
                Hot spare pool: hsp000
                Size: 2049840 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C0t0d0s3                                0        No                Okay               
        d 32: Submirror of d3
                State:Okay
                Hot spare pool: hsp000
                Size: 2049840 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C3t0d0s3                                0        No                Okay               
d4:Mirror
                Submirror 0:d41
                        State:Okay
                Submirror 1:d42
                        State:Okay
                Pass: 1
                Read option: roundrobin(default)
                Write option: parallerl(default)
                Size:11430153 blocks
        d 41: Submirror of d4
                State:Okay
                Hot spare pool: hsp001
                Size: 11430153 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C2t1d0s0                                0        No                Okay               
        d 42: Submirror of d4
                State:Okay
                Hot spare pool: hsp001
                Size: 11430153 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C3t1d0s0                                0        No                Okay                c0t1d0s0
d5:Mirror
                Submirror 0:d51
                        State:Okay
                Submirror 1:d52
                        State:Okay
                Pass: 1
                Read option: roundrobin(default)
                Write option: parallerl(default)
                Size:6244749 blocks
        d 51: Submirror of d5
                State:Okay
                Hot spare pool: hsp001
                Size: 6244749 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C2t1d0s1                                0        No                Okay               
        d 52: Submirror of d5
                State:Okay
                Hot spare pool: hsp001
                Size: 6244749 blocks
                Stripe 0:
                        Device                         Start Block        Dbase         State                Hot spare
                        C3t1d0s1                                0        No                Maintence               
Hsp000: 3 hot spares
                C2t0d0s1                        Available                2049840 blocks
                C2t0d0s3                        Available                2049840 blocks
                C2t0d0s0                        In use                        4274640 blocks
Hsp001: 2 hot spares        
                C0t1d0s1                        Available                2050461 blocks
                C0t1d0s0                        In use                         15620850 blocks
        确定meta设备 d52处于维护状态,hsp001池中的hot spare处于使用中,替换了失败的d52。
        D52所在的硬盘为:c3t1d0,与这共在同硬盘的还有d42。将d42与d4分离,d52与d5分离:
        # metadetach d4 d42
        # metadetach d5 d52
        
二、拔出坏掉的硬盘:c3t1d0,在同一位置插入新的18G硬盘(因为没有同样大小的9G硬盘,所以,只好用18G硬盘来代替。其实,只要容量大于或等于原先硬盘容量就可以了,镜像分区是绝对不能小地,要不,恢复不了地)。
        # format
0.        c0t0d0 ;
/pci@1f,4000/scsi@3/sd@0,0
1.        c0t0d0 ;
/pci@1f,4000/scsi@3/sd@1,0
2.        c2t0d0 ;
/pci@6,4000/scsi@4/sd@0,0
3.        c2t1d0 ;
/pci@6,4000/scsi@4/sd@1,0
4.        c3t0d0 ;
/pci@6,4000/scsi@4,1/sd@0,0
5.        c3t1d0 ;
/pci@6,4000/scsi@4,1/sd@1,0
        因为是c3t1d0与c2t1d0做的mirror,所以,要配置新硬盘的分区与c2t1d0相同。选择3,查看分区情况
        c2t1d0s0: root                5.45gb
        c2t1d0s1: usr                2.98gb
        c2t1d0s7: alternates        3.51mb
        将新硬盘与原硬盘分区设置相同,然后进行下一步工作。
三、1.先把d4设备与新硬盘做连接
                # metattach d4 d42
        2.恢复坏掉的d5的submirror d52
                # metareplace –e d5 c3t1d0s1
        3.将spare设备重新放回到hot spare pool中
                # metahs –e c0t1d0s0
                (如果hot spare处于In Use状态,则无法释放,需要执行以下:
# metareplace –e d4 c3t1d0s0
# metareplace –e d1 c3t0d0s0 )
四、因为更换了新的硬盘,所以,原先硬盘上的复制的库文件会丢失,应该
对其进行修复。
1、        查看一下当前的复制数据库情况:
# metadb –i
                flags         first         blk                 block                 count
                …
                …
                M                p                unknown        unknown        /dev/dsk/c3t1d0s7
        
2、        删除无效的数据库复制
# metadb –d –f /dev/dsk/c3t1d0s7
        
3、        确定一下是否被删除
# metadb –I
4、        重启之后,增加复制数据库
# metadb –a –c 2 /dev/dsk/c3t1d0s7
        这样,整个的SDS的磁盘恢复算是完成了。
希望对大家有帮助啊,呵呵


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/10718/showart_85464.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP