-r
releases control of a diskset
Troubleshooting info to gather
------------------------------
output from following...
# metastat
# metadb -i
# prtvtoc on relevant devices
# mount
# /var/adm/messages
给metadb分区做好准备:
# halt
OK boot -s
# swap -l
# swap -d /dev/dsk/slice
# swap -l
# format
# prtvtoc /dev/rdsk/slice ]
# newfs 新的分区
# swap -a swap slice (重新激活swap分区)
# exit
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) /export/home free
c1t0d0s7 c1t1d0s7 /metaDB 50M
系统安装完成后,使用Solaris8 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)的文件分区表调整为和引导盘一致。
{{{
# prtvtoc /dev/rdsk/c0t0d0s2 > boot-vtoc.tab
# fmthard -s boot-vtoc.tab /dev/rdsk/c0t1d0s2
以上命令将第2硬盘的文件分区表调整为和引导盘一致
}}}
#umount /metaDB
#rm -r /metaDB
#vi /etc/vfstab
将下面的这行注释或删掉,如下:
#/dev/dsk/c1t0d0s7 /dev/rdsk/c1t0d0s7 /metaDB ufs 1 yes -
一 RAID1
对各个分区逐一作镜像:
1 先生成replicas,这是DiskSuite内部使用的。
#metadb -a -f -c 3 c1t0d0s7 c1t1d0s7
#metadb
2 Creating a mirror from swap
#metainit -f d11 1 1 c1t0d0s1
#metainit d21 1 1 c1t1d0s1
#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
3 Creating a mirror form /usr
#metainit -f d13 1 1 c1t0d0s3
#metainit d23 1 1 c1t1d0s3
#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
4 Creating a mirror form /opt
#metainit -f d14 1 1 c1t0d0s4
#metainit d24 1 1 c1t1d0s4
#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
5 Creating a mirror form /var
#metainit -f d15 1 1 c1t0d0s5
#metainit d25 1 1 c1t1d0s5
#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
6 Creating a mirror from /export/home
..
7 Creating a mirror from /
#metainit -f d10 1 1 c1t0d0s0
#metainit d20 1 1 c1t1d0s0
#metainit d0 -m d10
#metaroot d0
#lockfs -fa
#reboot
#metattach d0 d20
#metastat(检查镜像进度)
镜像完成后,还需如下操作:
修改EEPROM
ok devalias(察看启动设备)
ok nvalias rootdisk /pci@8,600000/SUNW,plc@4/fp@0,0/disk@0,0
ok nvalias mirrdisk /pci@8,600000/SUNW,plc@4/fp@0,0/disk@1,0
ok setenv boot-device rootdisk mirrdisk
eeprom命令:
boot-device=rootdisk mirrdisk
use-nvramrc?=true
nvramrc=nvalias mirrdisk /pci@8,600000/SUNW,plc@4/fp@0,0/disk@1,0
nvalias rootdisk /pci@8,600000/SUNW,plc@4/fp@0,0/disk@0,0
#ls -l c1t0d0s0
内容对应/pci@8,600000/SUNW,plc@4/fp@0,0/disk@0,0
#ls -l c1t1d0s0
内容对应/pci@8,600000/SUNW,plc@4/fp@0,0/disk@1,0
测试:
ok boot rootdisk
ok boot mirrdisk 均启动正常
维护:
可生成自切换的能启动的镜像硬盘:
#installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t1d0s0
然后在ok提示符下修改启动值,把镜像盘列入备用启动中:
ok setenv boot-device rootdisk mirrdisk
ok reset-all
假如c1t0d0主盘坏掉,停机更换硬盘后需要如下的操作:
ok boot mirrdisk -s
#metadb -d c1t0d0s7
#prtvtoc /dev/rdsk/c1t1d0s2 |fmthard - s - /dev/rdsk/c1t0d0s2
#metadb -a -f -c 3 c1t0d0s7
#halt
ok boot mirrdisk
#metareplace -e d0 c1t0d0s0
d0:device c1t0d0s0 is enabled
#metareplace -e d1 c1t0d0s1
#metareplace -e d3 c1t0d0s3
#metareplace -e d4 c1t0d0s4
#metareplace -e d5 c1t0d0s5
#metareplace -e d6 c1t0d0s6
有-f参数
#metastat(检查恢复进度)
#metastat d*
如果此时处于syncing状态,则显示百分比。
okey: 正常状态,RAID可用。
maintenance:单个磁盘有故障,需维护。
maintenance/last erred:有超过一个磁盘的故障,但数据也可能是假的。
#metadb -i(metaDB状态查询)
disksuite的配置文件/etc/lvm/md.tas(手工将RAID的建立过程记录该文件中)
检查此文件的命令# metainit -n -a
建立此文件中所有的raid # metainit -a
vfstab失效恢复
#fsck /dev/md/rdsk/d0
#mount -o ro /dev/md/rdsk/d0 /
#metaroot d0
#reboot
二 RAID5
#metainit d55 -r c1t2d0s2 c1t3d0s2 c1t4d0s2 c1t5d0s2
#metainit 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 -
三 建立hot-spare
创建一个hot spare pool
#metainit hsp001 dev-name(c1t4d0s6)
将hsp交给raid使用(或叫绑定)
#metaparam -h hsp001 d10
#metaparam -h hsp001 d20
将hsp脱离(或叫删除)
#metaparam -h none d10
#metaparam -h none d20
增加hsp(往hsp上加盘)
#metahs -a hsp001 c1t5d0s6
#metastat
四 raid0+1
举个例子:
#metainit d1 1 3 c0t1d0s0 c0t2d0s0 c0t3d0s0
#metainit d2 1 3 c0t4d0s0 c0t5d0s0 c0t6d0s0
#metainit d0 -m d1
#metattach d0 d2
五 raid1+0
举个例子:
#metainit d1 3 1 c0t1d0s0 c0t2d0s0 c0t3d0s0
#metainit d2 3 1 c0t4d0s0 c0t5d0s0 c0t6d0s0
#metainit d0 -m d1
#metattach d0 d2