免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1742 | 回复: 0

raid配置及恢复详解 [复制链接]

论坛徽章:
0
发表于 2007-12-19 22:09 |显示全部楼层
本文档以SUN Fire V880 Server(6*73GB Dsik)为例讲解在Solarsi8下使用命令行的方式安装及维护RAID1和RAID5。本文档内容网络转载,服务自己服务同行,对本文的作者表示感谢,我第一次做就从这篇文章开始的,那是几年前。但对于不同机型仅供参考,谢谢支持!
Disk分布情况:
0:c1t0d0
1:c1t1d0
2:c1t2d0
3:c1t3d0
4:c1t4d0
5:c1t5d0
注:0,1做镜像;2,3,4,5做RAID5
系统盘(c1t0d0)分区及镜像盘(c1t1d0)情况:
c1t0d0s0(d10) d0 c1t1d0s0(d20) / 1024M
c1t0d0s1(d11) d1 c1t1d0s1(d21) swap 8192M
c1t0d0s2   c1t1d0s2 overlap 69999M
c1t0d0s3(d13) d3 c1t1d0s3(d23) /usr 4096M
c1t0d0s4(d14) d4 c1t1d0s4(d24) /opt 10240M
c1t0d0s5(d15) d5 c1t1d0s5(d25) /var 2048M
c1t0d0s6(d16) d6 c1t1d0s6(d26) /home free
c1t0d0s7   c1t1d0s7 /metaDB 30M
系统安装完成后,使用Solarsi8 software 2 of 2安装DiskSuite_4.2.1软件,安装路径:/cdrom/cdrom0/Solaris_8/EA/installer & 选择默认安装就可以。
用root用户登陆,运行以下命令:
#prtvtoc /dev/rdsk/c1t0d0s2|fmthard –s – /dev/rdsk/c1t1d0s2
fmthard:New volume table of contents now in place
上面命令将第二块硬盘(c1t1d0)的文件分区表调整为和引导盘一致。
#umount /metaDB
#rm –r /metaDB
#vi /etc/vfstab
将下面这行注释掉或删除,如下:
#/dev/dsk/c1t0d0s7 /dev/rdsk/c1t0d0s7 /metaDB ufs 1 yes –
一、RAID1
对各个分区逐一作镜像:
①先生成replicas,这是DiskSuite内部用的。
#metadb –a –f –c 3 c1t0d0s7 c1t1d0s7
#metadb
②Creating a mirror from swap
#metainit –f d11 1 1 c1t0d0s1
#metainit d21 1 1 c1t1t0s1
#metainit d1 –m d11
#vi /etc/vfstab
/dev/dsk/c1t0d0s1 - - swap – no –
should be changed to:
/dev/md/dsk/d1 - - swap – no -
#reboot
#metattach d1 d21
③Creating a mirror from /usr
#metainit –f d13 1 1 c1t0d0s3
#metainit d23 1 1 c1t1t0s3
#metainit d3 –m d13
#vi /etc/vfstab
/dev/dsk/c1t0d0s3 /dev/rdsk/c1t0d0s3 /usr ufs 1 yes –
should be changed to:
/dev/md/dsk/d3 /dev/md/rdsk/d3 /usr ufs 1 yes –
#reboot
#metattach d3 d23
④Creating a mirror from /opt
#metainit –f d14 1 1 c1t0d0s4
#metainit d24 1 1 c1t1t0s4
#metainit d4 –m d14
#vi /etc/vfstab
/dev/dsk/c1t0d0s4 /dev/rdsk/c1t0d0s4 /opt ufs 1 yes –
should be changed to:
/dev/md/dsk/d4 /dev/md/rdsk/d4 /opt ufs 1 yes –
#reboot
#metattach d4 d24
⑤Creating a mirror from /var
#metainit –f d15 1 1 c1t0d0s5
#metainit d25 1 1 c1t1t0s5
#metainit d5 –m d15
#vi /etc/vfstab
/dev/dsk/c1t0d0s5 /dev/rdsk/c1t0d0s5 /var ufs 1 yes –
should be changed to:
/dev/md/dsk/d5 /dev/md/rdsk/d5 /var ufs 1 yes –
#reboot
#metattach d5 d25
⑥Creating a mirror from /home
#metainit –f d16 1 1 c1t0d0s6
#metainit d26 1 1 c1t1t0s6
#metainit d6 –m d16
#vi /etc/vfstab
/dev/dsk/c1t0d0s6 /dev/rdsk/c1t0d0s6 /home ufs 1 yes –
should be changed to:
/dev/md/dsk/d6 /dev/md/rdsk/d6 /home ufs 1 yes –
#reboot
#metattach d6 d26
⑦Creating a mirror from /
#metainit –f d10 1 1 c1t0d0s0
#metainit d20 1 1 c1t1t0s0
#metainit d0 –m d10
#metaroot d0
#lockfs –fa
#reboot
#metattach d0 d20
#metastat (检查镜像进度)
镜像完成后,还需作如下操作:
修改EEPROM
ok devalias(察看启动设备)
ok nvalias rootdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@0,0
ok nvalias mirrdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0
ok setenv boot-device rootdisk mirrdisk
eeprom命令:
boot-device=rootdisk mirrdisk
boot-device=rootdisk mirrdisk
use-nvramrc?=true
nvramrc=devalias mirrdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0
devalias rootdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@0,0
#ls -l c1t0d0s0
lrwxrwxrwx 1 root root 70 1月 2 10:45 c1t0d0s0 ->
[email=../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870e80e7,0:a]../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870e80e7,0:a[/email]

对应:/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@0,0
[email=root@voiplnjvr4]root@voiplnjvr4[/email]
# ls -l c1t1d0s0
lrwxrwxrwx 1 root root 70 1月 2 10:45 c1t1d0s0 ->
[email=../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870fb287,0:a]../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870fb287,0:a[/email]

对应:/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0
测试:
ok boot rootdisk 系统启动正常。
ok boot mirrordisk 系统启动正常。
假如c1t0d0盘坏掉,则停机更换硬盘后需做恢复工作,如下;
ok boot mirrordisk -s
#metadb -d c1t0d0s7
#prtvtoc /dev/rdsk/c1t1d0s2|fmthard –s – /dev/rdsk/c1t0d0s2
#metadb –a –f –c 3 c1t0d0s7
#halt
ok boot mirrordisk
#metareplace -e d0 c1t0d0s0
d0: device c1t0d0s0 is enabled
#metareplace -e d1 c1t0d0s1
d1: device c1t0d0s1 is enabled
#metareplace -e d3 c1t0d0s3
d3: device c1t0d0s3 is enabled
#metareplace -e d4 c1t0d0s4
d4: device c1t0d0s4 is enabled
#metareplace -e d5 c1t0d0s5
d5: device c1t0d0s5 is enabled
#metareplace -e d6 c1t0d0s6
d6: device c1t0d0s6 is enabled
#metastat (检查镜像恢复进度)
二、RAID5
#metainit d55 –r c1t2d0s2 c1t3d0s2 c1t4d0s2 c1t5d0s2
#metastat d55 (检查RAID5的进度)
作完后reboot
#newfs /dev/md/rdsk/d55
#mkdir /raid5
#vi /etc/vfstab
添加一行:
/dev/md/dsk/d55 /dev/md/rdsk/d55 /raid5 ufs 2 yes –
#reboot
RAID5坏掉一个盘的恢复方法:
例c1t4d0盘坏掉,更换坏硬盘后作如下工作:
ok boot -r
#metareplace –e d55 c1t4d0s2
#metastat d55
卸去RAID5的方法:
#umount /raid5
#metaclear d55
#vi /etc/vfstab
注释此行:
#/dev/md/dsk/d55 /dev/md/rdsk/d55 /raid5 ufs 2 yes –

长春sun250做磁盘镜像操作步骤
1.以root用户登陆Sun E250,执行sync;sync;sync;init 5将服务器停机;        
2.打开Sun E250的前面板,将2块36GB硬盘插入到空闲槽位中;
3.重新开机,按Stop+A进入OK状态,执行probe-scsi-all检查是否存在4块硬盘(系统原有2块),若存在则执行boot继续启动;否则执行power-off关机,检查是否磁盘接触不良或槽位的SCSI接口有问题;
4.系统启动后,执行format命令察看系统是否已经有新安装的磁盘的设备文件。若不存在,则执行drvconfig,disks创建新磁盘的设备文件。执行完成后同样使用format进行确认;
5.使用Solaris 8 Software 2 of 2磁盘,插入到CDROM驱动器中,cd /cdrom/cdrom0/Solaris_8/EA/products/DiskSuite_4.2.1/,执行./installer安装DiskSuite 4.2.1,选择默认安装完成;
6.安装完成后进入/var/sadm/install/logs目录,察看DiskSuite_4.2.1_install.a********及DiskSuite_4.2.1_install.b********文件检查安装是否全部完成;
7在PATH中加入PATH=/usr/sbin:/etc/lvm:/usr/lib/lvmMANPATH=/usr/share/manMANPATHexport PATH MANPATH(可加入到相应的.profile或.cshrc中);
8.备份etc下的vfstab文件,存为vfstab.org;
9.使用命令format查看当前分区使用情况,见附二和附三,当前长春sun250有两块硬盘,c0t0d0、c0t8d0.其中c0t0d0分成四个分区,c0t8d0分成三个分区,下面分别用新购的两块硬盘对现有的两块硬盘做镜像;
10.先看第一块硬盘c0t0d0,这块硬盘分成四个分区,分区的大小和使用情况请看附一,其中/opt分区使用最少,首先备份这个分区的所有文件,在/usr/分区中建立opt_backup目录,使用命令tar cvf /usr/opt_backup/opt.tar  /opt/*  将所有/opt 下的文件备份到/usr/opt_backup下面;
11.使用命令Umount把/opt/分区拿下;
12.使用format命令进入到c0t0d0这块磁盘中,/opt/分区挂接的硬盘为c0t0d0s5,划出大概150MB的空间给c0t0d0s6,用以存放metadb,lable一下存盘,按键盘的q键退出,再format进入c0t0d0磁盘,查看刚才划出的分区是否生效,如果生效退出;
13.重新mount/opt/分区,mount  /dev/dsk/c0t0d0s5  /opt/将备份在/usr/opt_backup/目录下的文件恢复到/opt/下,cp –r /usr/opt_backup/*  /opt/mount上/opt时,原来的/opt下的文件应该还在,勿必仔细检查拷贝过来的/opt/目录下的所有目录和文件及子目录和文件,确保和原来的完全一致!删除/usr/opt_backup下面的文件及opt_backup目录;rm  -rf /usr/opt_backup/
14.在新插入的mirror盘上假设为temp1,划分出与原盘完全一致的分区。prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/temp1s2如果这样划分磁盘分区不成功的话,请参见下面第15步;
15.使用format命令进入temp1,对这块硬盘进行分区,分区情况和c0t0d0一样,每块分区的大小不能小于c0t0d0的分区大小,做完后lable一下,存盘退出,再次使用format命令查看磁盘分区是否建立;
16.在新划分出来的两块硬盘的空闲区域里安装metadb用以存放做镜像时的信息,metadb -a -c 2 -f c0t0d0s6 temp1s6;
17.对swap分区做镜像:(swap分区)metainit -f d11 1 1 c0t0d0s1  metainit d21 1 1 temp1s1metainit d1 -m d11metattach d1 d21编辑/etc/vfstab文件                改变        /dev/dsk/c0t0d0s1 为: /dev/md/dsk/d1;
18对/分区做镜像:(根分区)metainit -f d10 1 1 c0t0d0s0 metainit d20 1 1 temp1s0metainit d0 -m d10metaroot d0        (这一步非常重要);
19对/opt 做镜像:metainit -f d12 1 1 c0t0d0s5metainit d22 1 1 temp1s5metainit d2 -m d12编辑/etc/vfstab文件        将/dev/dsk/c0t0d0s5 改为: /dev/md/dsk/d2将/dev/rdsk/c0t0d0s5 改为: /dev/md/rdsk/d2(需要重新启动机器,但是在做完其他分区的镜像后一起重新启动);
20对/usr镜象metainit -f d13 1 1 c0t0d0s3  (usr分区)metainit d23 1 1 temp1s3metainit d3 -m d11metattach d3 d23编辑/etc/vfstab文件                改变        /dev/dsk/c0t0d0s3 为: /dev/md/dsk/d3;
21.现在对原服务器上第二块硬盘c0t8d0进行镜像;
22.在/export/home2/目录下建立目录/export/home2/home1_backup;
23.备份/export/home1目录,tar cvf  /export/home2/home1_backup/home1.tar /export/home1/*;
24.使用命令umount将/export/home1/目录拿下;
25.当前这块硬盘的分区情况请看附三,原来/dev/dsk/c0t8d0s5磁盘被mount到/export/home1/目录,现在需要把/dev/dsk/c0t8d0s5的磁盘空间拆分一大部分空间给/dev/dsk/c0t8d0s4,用以mount /export/home1/目录,留一小部分磁盘空间给/dev/dsk/c0t8d0s5,来建立metadb;
26.分区划好以后lable一下退出,再次使用format进入/c0t8d0磁盘,查看磁盘划分是否正确;        
27.Newfs  /dev/rdsk/c0t8d0s4
28.重新挂接home1,mount  /dev/dsk/c0t8d0s4 /export/home1;
29.恢复/export/home1/的内容,cp –r /export/home2/home1_backup/*  /export/home1/,勿必仔细检查拷贝过来的/export/home1/目录下的所有目录和文件及子目录和文件,确保和原来的完全一致!然后删除原来备份rm –rf  /export/home2/home1_backup;
30.修改/etc/vfstab文件,将/dev/dsk/c0t8d0s5 改为/dev/dsk/c0t8d0s4,将/dev/rdsk/c0t8d0s5改为/dev/rdsk/c0t8d0s4;
31.在另一块mirror盘上假设为temp2,划分出与原盘完全一致的分区。prtvtoc /dev/rdsk/c0t8d0s2 | fmthard -s - /dev/rdsk/temp2s2如果这样划分磁盘分区不成功的话,请参见下面第33步;
32.使用format命令进入temp2对这块硬盘进行分区,分区情况和c0t8d0一样,每块分区的大小不能小于c0t8d0的分区大小,做完后lable一下,存盘退出;再次使用format命令查看磁盘分区是否建立;
33.在新划分出来的两块硬盘的空闲区域里安装metadb用以存放做镜像时的信息,metadb -a -c 2 -f c0t8d0s5 temp2s5;
34.对/export/hom1镜像:(c0t8d0s4)metainit -f d14 1 1 c0t8d0s4metainit d24 1 1 temp2s4metainit d4 -m d14编辑/etc/vfstab    改变/dev/dsk/c0t8d0s4 为: /dev/md/dsk/d4改变/dev/rdsk/c0t8d0s4 to: /dev/md/rdsk/d4(需要重新启动机器,但是在做完其他分区的镜像后一起重新启动);
35.对/export/hom2镜像:(c0t8d0s7)metainit -f d15 1 1 c0t8d0s7metainit d25 1 1 temp2s7metainit d5 -m d15编辑/etc/vfstab    改变/dev/dsk/c0t8d0s7 为: /dev/md/dsk/d5改变/dev/rdsk/c0t8d0s7 to: /dev/md/rdsk/d5(需要重新启动机器,但是在做完其他分区的镜像后一起重新启动);
36.对/export/hom3镜像:(c0t8d0s6)metainit -f d16 1 1 c0t8d0s6metainit d26 1 1 temp2s6metainit d6 -m d16编辑/etc/vfstab    改变/dev/dsk/c0t8d0s6 为: /dev/md/dsk/d6改变/dev/rdsk/c0t8d0s6 to: /dev/md/rdsk/d6(需要重新启动机器,但是在做完其他分区的镜像后一起重新启动);
37.重新启动sun250机器,连续执行3到5次命令sync, 然后执行重启命令init  6;
38.重新启动后把建立的surmirror加入到相应的mirror中:
1.metattach  d0  d20     (注意,在把d20这个Submirror添加到d0这个mirror中后立刻开始镜像/分区到temp1s0,使用metastat命令查看镜像进度,应该显示镜像进度的百分比,勿必要在镜像完这个分区后再镜像下一个分区)2.metattach  d2  d22      (查看镜像进度,完成后再进行下一步)3.metattach  d4  d24      (查看镜像进度,完成后再进行下一步)4.metattach  d5  d25      (查看镜像进度,完成后再进行下一步)5.metattach  d6  d26;


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP