Friday, December 31, 2004

ซ่อม RAID-1 บน Samurai

Samurai มี HD สองตัวมองเห็นเป็น /dev/sda กับ /dev/sdb แบ่ง Partition เหมือนกันทุกอย่าง เอาอันสุดท้าย /dev/sda4 กับ /dev/sdb4 ทำเป็น RAID-1 (Mirror) ไว้ แบบนี้
# cat /etc/raidtab
raiddev             /dev/md1
raid-level                  1
nr-raid-disks               2
chunk-size                  16
persistent-superblock       1
nr-spare-disks              0
    device          /dev/sda4
    raid-disk     0
    device          /dev/sdb4
    raid-disk     1
วันนี้ทำความสะอาดบ้าน ปิดเปิดเครื่องหลายรอบ สังเกตว่าเปิดเครื่องครั้งล่าสุด sdb หายไปทั้งตัว /dev/md1 ยังใช้ได้ แต่มีเฉพาะ /dev/sda4 ตัวเดียว

รีบูทใหม่ sdb กลับมาเหมือนเดิม sdb1-3 ทุกอย่างเป็นปกติ ยกเว้น /dev/md1 ดูเหมือนจะยังไม่ยอมเอา sdb4 กลับเข้ากลุ่ม คงเป็นเพราะมันหายไปพักนึง

# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid5] 
md1 : active raid1 sda4[0]
      102036736 blocks [2/1] [U_]
มีแค่ sda4 ตัวเดียว

ไปดูที่ Linux Software RAID How-To: Reconstruction เขาบอกแก้ง่ายๆ โดยใส่ sdb4 กลับเข้าไปใหม่ แบบนี้

# raidhotadd /dev/md1 /dev/sdb4
สั่งปุ้บ ใน /var/log/messages จะมี
kernel: RAID1 conf printout:
kernel:  --- wd:1 rd:2
kernel:  disk 0, wo:0, o:1, dev:sda4
kernel:  disk 1, wo:1, o:1, dev:sdb4
kernel: md: syncing RAID array md1
kernel: md: minimum _guaranteed_ reconstruction speed: 1000 KB/sec/disc.
kernel: md: using maximum available idle IO bandwith (but not more than 200000 KB/sec) for reconstruction.
kernel: md: using 128k window, over a total of 102036736 blocks.
ถ้าไปดู mdstat จะเห็นว่าเริ่มมีการ recovery
# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid5] 
md1 : active raid1 sdb4[2] sda4[0]
      102036736 blocks [2/1] [U_]
      [>....................]  recovery =  2.8% (2861824/102036736) finish=35.4min speed=46641K/sec
รอสักพัก
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] 
md1 : active raid1 sdb4[2] sda4[0]
      102036736 blocks [2/1] [U_]
      [=======>.............]  recovery = 36.5% (37258368/102036736) finish=24.4min speed=44238K/sec
พอเสร็จแล้วก็กลับมาเหมือนแต่ก่อน
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] 
md1 : active raid1 sdb4[1] sda4[0]
      102036736 blocks [2/2] [UU]

No comments: