Solaris作Raid

Raid采用solaris提供的DiskSuite软件,Solaris8需要自己安装,位置在V2的EA目录下。

Raid1:假设主盘为c0t0d0,镜像盘为c0t1d0,主盘分区如下:
s0:root分区,s1:swap分区,s3:/home分区,s4:/insfile分区,s7:metadb
下列代码可以直接拷贝过去,注意metaroot所指的分区,并有一次重新启动的动作。

prtvtoc  / dev / rdsk / c0t0d0s2|fmthard -s -  / dev / rdsk / c0t1d0s2
metadb -afc 
3  c0t0d0s7 c0t1d0s7
metainit -f d10 
1   1  c0t0d0s0
metainit -f d20 
1   1  c0t1d0s0
metainit d0 -m d10
metaroot d0
metainit -f d11 
1   1  c0t0d0s1
metainit -f d12 
1   1  c0t1d0s1
metainit d1 -m d11
metainit -f d31 
1   1  c0t0d0s3
metainit -f d32 
1   1  c0t1d0s3
metainit d3 -m d31
metainit -f d41 
1   1  c0t0d0s4
metainit -f d42 
1   1  c0t1d0s4
metainit d4 -m d41
lockfs -fa
reboot
metattach d0 d20
metattach d1 d12
metattach d3 d32
metattach d4 d42

对应的/etc/vfstab为下面所示,在使用之前请先newfs一下:

/ dev / md / dsk / d1  -       -       swap    -       no      -
/ dev / md / dsk / d0   / dev / md / rdsk / d0  /        ufs      1        no      -
swap    -       
/ tmp    tmpfs   -       yes     -
/ dev / md / dsk / d3   / dev / md / rdsk / d3  / home       ufs      1        no      -
/ dev / md / dsk / d4   / dev / md / rdsk / d4  / insfile       ufs      1        no      -

作完Raid1,要两个硬盘都能启动,指令如下:

cd   / usr / platform / `uname -i` / lib / fs / ufs
installboot 
./ bootblk  / dev / rdsk / c0t1d0s0
init 
0
ls -l 
/ dev / dsk / c0t0d0s0  # 记住这个东东的物理路径,ok下可以做参考
*********进入OK模式,分别给两个硬盘的root分区起个别名,再分别boot一下,如果成功启动,Raid1就算完了,相关指令:
devalias   
# 察看启动设备
printenv 
boot - device   # 察看启动设备 , 名城就是nvalias起的。
nvalias 
< 别名 >   < 物理路径 >   # 起别名,删除别名是nvunalias
setenv 
boot - device   < a >   < b >   < c >    # 尝试启动的优先级
show-disks分别和probe-scsi,probe-ide配合可以找到硬盘的物理路径如果你不知道物理路径到底在那。

Raid5:假设有四个盘c1t2d0,c1t3d0,c1t4d0,c1t5d0,其中c1t5d0作hotspare,代码如下:

metainit hsp001 c1t5d0s2  # c1t5d0s2做hot spare
metainit d5 -r c1t2d0s2 c1t3d0s2 c1t4d0s2 -h hsp001
# 或单独metaparam -h hsp001 d5

对应的/etc/vfstab为下面所示,在使用之前请先newfs一下

/ dev / md / dsk / d5  / dev / md / rdsk / d5  / data ufs  1  yes -

Raid0条带:假设有三个盘c0t1d0,c0t2d0,c0t3d0,条带代码如下,注意如果硬盘大小不一将以最小的为准:

metainit -f d0  1   3  c0t1d0s2 c0t2d0s2 c0t3d0s2

Raid0附加:假设有三个盘c0t1d0,c0t2d0,c0t3d0,附加代码如下

metainit -f d0  3   1  c0t1d0s0  1  c0t2d0s0  1  c0t3d0s0 

对应的/etc/vfstab如下:

/ dev / md / dsk / d0  / dev / md / rdsk / d0  / data ufs  1  yes -

Raid0+1,Raid1+0就不用说了,看0先做还是1先做,先做得就在前面了。

Raid FAQ:
Q1:删除metadb
A:指令
metadb -d c0t0d0s7
metadb -fd c0t1d0s7
Q2:清除错误的命名:
A:metaclear -f d41
Q3:Raid进度:
A:metastat |grep %
Q4:镜像已经开始了,发现镜像盘上还有未备份的数据。
A:求助于神,上帝以及老天爷。这个错误我曾经范过一次,那时候拔电源也来不及了,可能sun的工程师有办法
Q5:系统重新安装了,原来的Raid盘还可以用吗
A:是的,但是要记住原来Raid的指令,特别是-i参数等,拿来执行一下即可,如果不行,用fsck -y一下,这有点冒险,可能丢失数据,建议还是备份一下硬盘上东东后再重装系统。
Q6:Raid日常检查
A:使用metastat察看,如果发现Error或者Needs maintenance字样都需要手工干预,如果是Raid0,那如果系统没挂,赶快把里面东东备份出来,如果挂了,请参看第Q4
Q7:Raid5盘坏了,该如何处理?
A:关机,换盘,然后到单用户模式下,执行下列指令metareplace -e d55 c1t2d0s2,然后用metastat察看进度和结果。
Q8:Raid1盘坏了,该怎么处理?
A:关机,换盘,到OK下,从好的盘启动到单用户下,删除坏盘上的metadb,重新prt...后,把metadb再弄一次到新盘上。然后用metareplace  -e 来替换,如:
metareplace -e d1 c0t0d0s1等等。这个是比较彻底的,如果机器还没挂,盘还没换,也许在线执行一下metareplace  -e就可以了,相当于重新同步一下。还有个指令就是metadetach,可以用另外一个分区来把这个坏分区给换掉。
Q9:如果硬盘作了Raid不够了,还想扩展。
A:我试验过的是原先Raid0也是附加方式,可以继续以附加方式向上扩。做之前需要先umount,在growfs执行之前mount。指令如下:
metattach d0 c0t0d0s0
growfs -M /data /dev/md/rdsk/d0
Raid1分别给2个硬盘的分区作metattach,比如metattach  cXtYdZsA,然后再growfs -M即可。
未作Raid的分区想扩展,也有办法。
Q10:Raid1中每一個子Raid是正常的,但是在總的Raid裡面狀態都是Needs maintenance
A:需要手工作metasync,後面帶-r參數就是所有的都sync一次.原因是如果在sync過程中啟動到單用戶下,sync會中斷.當然有些機器使用久了也會出現這種問題.
Q11:机器没有用镜像盘,但是以前的镜像信息还在,想直接删除镜像信息,居然删除不掉,原因是因为它的两个子镜像都有错误信息,用metadetach d2 d12指令,报的错是:"d2: attempt an operation on a submirror that has erred components",如果直接metaclear就会报"d12: metadevice in use"。
A:顺序是,用 -f参数将第二个盘的分区metadetach掉,然后metaclear d2,然后metaclear 第一个盘即可,这个顺序不能删除状态为镜像盘信息为"Last Erred"的那些盘,执行metaclear的时候会报"d2: attempted to clear mirror with submirror(s) in invalid st"这个错误,这时候千万不要用metareplace等这些指令,因为你没有用到镜像的盘,用这个指令会覆盖你现在使用的盘的信息,最后我发现metaclear也可以用 -f参数,用了-f参数即可把它去掉。
Q12:其他问题

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10325341/viewspace-573086/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10325341/viewspace-573086/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值