สร้าง RAID
การจัดการ Software RAID บนลินุกซ์ จะใช้โปรแกรม mdadm เป็นหลัก
เนื้อหา
สร้าง RAID
การทำ RAID 0 และ RAID 5 จะแตกต่างกันเล็กน้อย
RAID 5
การสร้าง RAID 5 จากพาร์ทิชั่น /dev/sdc1, /dev/sdd1, /dev/sde1 และ /dev/sdf1 ที่เตรียมไว้ในขั้นตอนที่แล้ว ใช้คำสั่งดังนี้
mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
โปรแกรมก็จะเริ่มสร้าง RAID 5 ทันที โดยจะทำงานเป็นฉากหลัง (Background) สำหรับ RAID 5 จะใช้เวลาหลายชั่วโมง ซึ่งในระหว่างนี้จะสามารถทำงานอื่นต่อไปได้ หรือแม้กระทั่งบูตเครื่อง หรือปิดเครื่อง ก็ได้เช่นกัน โดยเมื่อเปิดเครื่องขึ้นมาใหม่ระบบก็จะสร้าง RAID ต่อจากที่ทำค้างไว้เมื่อตอนปิดเครื่อง
RAID 0
สำหรับการสร้าง RAID 0 จากพาร์ทิชั่นบนฮาร์ดดิสก์ 2 ลูก เช่น จาก /dev/sdc1 และ /dev/sdd1 สามารถใช้คำสั่งได้ดังนี้
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1
ในการทำ RAID 0 จะไม่ต้องรอให้สร้าง RAID เสร็จ เพราะ RAID 0 ไม่มีการเก็บข้อมูลเพื่อให้สามารถกู้ข้อมูลได้ นั่นคือ เมื่อฮาร์ดดิสก์ตัวใดตัวหนึ่งเสีย ข้อมูลทั้งหมดก็จะหายทันที (สามารถป้องกันได้โดยการหมั่นสำรองข้อมูล)
บันทึกค่าของ RAID
ขั้นตอนต่อไป ให้บันทึกค่าของ RAID ลงไฟล์กำหนดค่า โดยใช้คำสั่งดังนี้
mdadm --detail --scan >> /etc/mdadm.conf
ตรวจสอบสถานะ RAID
เมื่อสร้าง RAID แล้ว การตรวจสอบสถานะของ RAID สามารถทำได้หลายวิธี
ตรวจสอบโดยใช้คำสั่ง mdadm ได้ดังนี้
mdadm --detail /dev/md0
ตรวจสอบจาก /proc/mdstat ได้ดังนี้
cat /proc/mdstat
ซึ่งในระหว่างการสร้าง RAID ก็จะบอกความคืบหน้าในการสร้าง RAID ด้วย
Format
จากนั้นก็ฟอร์แมตด้วยคำสั่งนี้
mke2fs -t ext4 -L image_partition /dev/md0
โดยที่
- -t ext4 คือให้ใช้ filesystem แบบ ext4
- -L image_partition คือให้ตั้งชื่อ filesystem ว่า image_partition
- /dev/md0 คือชื่อ device ของ RAID
ปรับแต่ค่าของ filesystem ดังนี้
tune2fs -r 20480 /dev/md0 tune2fs -O ^has_journal /dev/md0
คำสั่งแรกเพื่อลดขนาดของเนื้อที่สงวนจากเดิม 5% เหลือเพียง 10 MB ส่วนคำสั่งที่สองเป็นการบอกให้ไม่ใช้ journal บน filesystem นี้
Mount
จากนั้นทดลอง mount พาร์ทิชั่นโดยใช้คำสั่งดังนี้
mount /dev/md0 /image
ตรวจสอบการ mount โดยใช้คำสั่งดังนี้
root@diskserv:/# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 10452940 3891504 6037148 40% / /dev/sda2 10452940 370392 9558260 4% /var /dev/sda3 57070904 21561128 32650868 40% /space /dev/sdb1 124856752 6144 122158996 0% /cow /dev/md0 1463729100 6144 1463570660 0% /image tmpfs 8177700 0 8177700 0% /dev/shm root@diskserv:/#
จะเห็นว่ามีการ mount /dev/md0 มาใช้งานที่ /image ตรงตามต้องการ
จากนั้นให้เพิ่มการกำหนดค่าในไฟล์ /etc/fstab เพื่อให้ระบบ mount พาร์ทิชั่นนี้ในตอนบูต ดังนี้
LABEL=root_partition / ext4 defaults 1 1
LABEL=var_partition /var ext4 defaults 1 2
LABEL=space_partition /space ext4 defaults 1 2
LABEL=cow_partition /cow ext4 defaults,discard 1 2
LABEL=image_partition /image ext4 defaults 1 2
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
ให้เพิ่มบรรทัดสีน้ำเงินเข้าไป
เมื่อตรวจสอบความถูกต้องของไฟล์ /etc/fstab เรียบร้อยแล้ว ให้บูตเครื่องใหม่