星期一, 8月 15, 2005

Soft Raid in Debian 3.1

Linux的software Raid是將多個partition合併為一個partition的動作。

三個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
ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1
啟動md0 (剛剛create好的hd)
#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亂搞一通
例如:
fdisk /dev/sdb1 重新partition。再用mke2fs create ext2 file system,mount進來後再放一些檔案。
將sdb加回 (維持sdb1亂搞後的狀態)
#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
看到的

沒有留言:

張貼留言