ChinaUnix首页 > 精华文章 > Solaris > 正文

[原创] SOLRSI8下RAID1和RAID5的安装及恢复[小结]


http://www.chinaunix.net 作者:东方蜘蛛  发表于:2009-04-02 09:44:42
发表评论】 【查看原文】 【Solaris讨论区】【关闭

本文档以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 ->; ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870e80e7,0:a
对应:/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@0,0
root@voiplnjvr4 # ls -l c1t1d0s0
lrwxrwxrwx   1 root     root          70  1月  2 10:45 c1t1d0s0 ->; ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870fb287,0:a
对应:/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 –



 yuansonghui 回复于:2004-06-02 19:23:55

up,very good


 东方蜘蛛 回复于:2004-06-02 20:16:47

辛苦了一下午没有白费劲:)


 race 回复于:2004-06-02 20:44:45

鼓励原创,多多益善。


 llzqq 回复于:2004-06-03 08:51:35

在SOLARIS上实现软RAID性能怎样,能用在企业环境中啊?


 steellyz 回复于:2004-06-03 09:06:25

好东东!好东东!
多多益善!


 roger0409 回复于:2004-06-03 09:08:26




 zl520xx 回复于:2004-06-03 09:31:39

谢谢蜘蛛.


 bj_solarisfan 回复于:2004-06-03 09:39:49

感谢,蜘蛛


 bear 回复于:2004-06-03 10:12:28

我记得我在V880上做根盘镜像后,在OK下没有设置过aliase,好象系统定义的disk0 和 disk1就是你后来定义的 rootdisk 和 mirrdisk 物理路径是一样的。直接用
boot-device=disk0 disk1
boot-device=disk0 disk1
也可以。


 nopalh 回复于:2004-06-03 10:15:22

老大们就是仗义~~!


 东方蜘蛛 回复于:2004-06-03 10:19:12

引用:原帖由 "bear" 发表:
我记得我在V880上做根盘镜像后,在OK下没有设置过aliase,好象系统定义的disk0 和 disk1就是你后来定义的 rootdisk 和 mirrdisk 物理路径是一样的。直接用
boot-device=disk0 disk1
boot-device=disk0 disk1
也可..........



hehe,那一段是我在280上作的过程,把它总结到这里,希望大家用的着:)


 manpo 回复于:2004-06-03 11:05:49

要是V880没有划出s7作为meta DB的空间,那该放在哪里呢?


 Johnunix 回复于:2004-06-03 11:32:28

从 swap中划出10m给s7


 handsun 回复于:2004-06-03 14:08:37

ok


 roger0409 回复于:2004-06-03 17:20:06

再顶


 koukou 回复于:2004-06-03 21:14:07




 爬虫 回复于:2004-06-04 11:34:02

好东东啊。。。。。


 laosechong 回复于:2004-06-07 11:25:07

假如c1t0d0盘坏掉,则停机更换硬盘后需做恢复工作,如下; 
ok boot mirrordisk -s 
#metadb -d c1t0d0s7 
#prtvtoc /dev/rdsk/c1t1d0s2|fmthard –s – /dev/rdsk/c1t0d0s2 

在这个后边,是否还需要如下这步??? 是否忘了啊
在新盘上安装引导块: 

<b>;
# installboot /usr/platform/sun4u/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0 
</b>;


 东方蜘蛛 回复于:2004-06-07 11:50:14

不是忘了,是我没有做你这一步也可以吖!


 Philmoon 回复于:2004-06-07 12:14:43

好东东!实用!支持顶一下。


 fadeaway 回复于:2004-06-11 08:21:26

小牛荡秋千----牛B 甩甩。
太厉害了


 nimysun 回复于:2004-06-11 08:28:25

楼上的说的好的说。


 lyh003473 回复于:2004-06-11 09:13:22

不错。。。。。。。。。。。。。。。。。。。。。。


 alonestar 回复于:2005-04-11 17:44:29

请问可以在solaris 10下用这种方法吗?


 llyynancy_1227 回复于:2005-04-12 15:31:51

我想问一下,是不是只有第一个盘c1t0d0才分区,第三个盘c1t2d0用不用分区,如果分的话应该怎样分?谢谢:)


 卡尔文 回复于:2006-04-01 06:59:58

昨天作了一个晚上,可是多次reboot后,启动时有提示,d5 is already mounted,and /dev/md/dsk/d5 is busying.................
作完raid5后,镜像进度缓慢,还不知道今天会不会顺利通过,还有我想作ftp服务器,将2,3,4,5块盘作成一个分区,还需要别的命令吗,请各位老大给提示,多谢了:m01:


 bear 回复于:2006-04-01 20:42:07

晕,楼上的掘墓啊,多久前的帖子了。
你的d5是哪个文件系统啊?注意修改/etc/vfstab时后面的选项要和原来的一致,系统级文件系统 / 和 /usr后面的“mount at boot”是no ,不要改成yes,好象会导致你这个现象。
“作完raid5后,镜像进度缓慢”你做了RAID 5还做镜像么?没看明白。


 law7890 回复于:2006-04-06 00:35:04

顶一下~~~~~


 Lostorm 回复于:2006-09-14 11:08:42

up!!!


 dongcai026 回复于:2007-12-18 14:46:00

好东西  顶


 dongcai026 回复于:2007-12-18 14:46:31

好东西  顶


 fuck-sun 回复于:2007-12-18 17:10:25

想问一下,为什么你/  /var  /opt  /usr  /home  /swap 分开一个一个做,而又重启那么多次呢.
为什么不一起做掉.不是避免服务器重启那么多次嘛.而且节约时间.


 fuck-sun 回复于:2007-12-18 17:12:44

我靠.我怎么也被扯到这么老的帖子里面来了!!!!....!!!!!


 liuhao75926 回复于:2007-12-18 18:32:08

/etc/system下还要加参数的


 liuhao75926 回复于:2007-12-18 18:33:47

不然坏了一个盘重启会出错 set md:mirrored_root_flag=1


 liuhao75926 回复于:2007-12-18 18:35:17

不是重启出错,是拔一块盘后启动,请蜘蛛测一下,我试过


 honggaoyan 回复于:2009-04-01 23:58:12

做raid1时installboot命令不用的?


 山野村夫 回复于:2009-04-02 09:44:42

如果整盘的分区都做了mirror(其实只要0道的分区做了就行),这一步可以不做




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=339263
转载请注明作者名及原文出处