三個4G SCSI HD.
install base system in /dev/sda1
用/dev/sdb1, /dev/sdc1作raid1(mirror) hd.
用fdisk在sdb, sdc create primary partition, type : fd (linux raid auto detect).
#apt-get install raidtools2. 安裝OK,但是沒有mkraid,raidstart,raidstop command!!
到aptitude去看,說明raidtools已經不maintain了,由mdadm代替。
#apt-get install mdadm發現已經安裝了。
create 一個raid1 hd : /dev/md0
#mdadm -C /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1
也可以用
#mdadm -C /dev/md0 -l2 -n2 /dev/sd{b,c}1
看看
#cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 scsi/host0/bus0/target2/lun0/part1[1] scsi/host0/bus0/target1/lun0/part1[0]
sdb1, sdc1已經正確的label和synch成raid1 hd.
用mdadm scan一下所有hd
#mdadm --details -s
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=<<略>>
devices=/dev/sdb1,/dev/sdc1
為了讓以後能夠start/stop這個raid partition,將剛剛scan的內容copy一些到mdadm的設定檔:
/etc/mdadm/mdadm.conf
DEVICE /dev/sd[bc]1啟動md0 (剛剛create好的hd)
ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1
#mdadm -A /dev/md0
可以看到md module已經有driver 使用了:
#lsmod ((看md))
/dev/md0只能當一個partition用,不是當一個硬碟用,所以不能用fdisk在/dev/md0 create partition。直接用mke2fs 來format md0
#mke2fs /dev/md0
OK,接著就可以mount了。
#mkdir /rdata
#mount /dev/md0 /rdata
測試
設定sdb1 fault#mdadm --manage --set-faulty /dev/md0 /dev/sdb1
可以用mdadm --detail /dev/md0看看
將sdb1移出
#mdadm /dev/md0 -r /dev/sdb1
將/dev/sdb1亂搞一通
例如:將sdb加回 (維持sdb1亂搞後的狀態)
fdisk /dev/sdb1 重新partition。再用mke2fs create ext2 file system,mount進來後再放一些檔案。
#mdadm /dev/md0 -a /dev/sd1
這時候,如果用mdadm --detail /dev/md0 看,可能可以看到rebuild processing....
一下子後就OK。看到/dev/md0回到一般狀態。
cold replacement
看看關機換硬碟的動作..
關機,將sdc拔出來,換一個hd,開機。
#mdadm -A /dev/md0
-A option是要assembly raid hd.並且active他。
因為mdo的sdc1是新的,所以出現/dev/sdc1 superblock error.
要用
#mdadm -A /dev/md0 /dev/sdb1 --run
--run是強制執行的意思,如果不加上--run 這個option,會有error說hd數量不足。
這樣active mn0後,再用hotadd功能加入全新的sdc1,讓他作re-build
#mdadm /dev/md0 -a /dev/sdc1
就會看到rebuild message....
ok
這是在http://www.linuxdevcenter.com/pub/a/linux/2002/12/05/RAID.html?page=2
看到的
沒有留言:
張貼留言