สร้าง RAID

จาก NakhonNet
ข้ามไปยัง: นำทาง, ค้นหา

การจัดการ 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 เรียบร้อยแล้ว ให้บูตเครื่องใหม่


View/Edit Diskless Server
ภาพรวม หลักการทำงาน - Hardware - Software
ติดตั้ง Server ติดตั้ง Slackware64 13.37 บูต - แบ่งพาร์ทิชั่น - เตรียมฮาร์ดดิสก์ - ติดตั้งแพ็กเกจ - ติดตั้ง Lilo - กำหนดค่าเน็ตเวิร์ก - กำหนดรหัสผ่าน - Slackware64 14.0
ปรับแต่ง Slackware Linux การใช้งานเบื้องต้น - คอมไพล์ Kernel - สร้างไดเรกทอรี - ปรับแต่ง Filesystem - ปรับแต่งแพ็กเกจ - เพิ่มการเรียก dhcpd
ปรับแต่ง Network กำหนดชื่อ Device - ทำ Network Bonding - กำหนดค่า Network
RAID สร้างพาร์ทิชั่น - สร้าง RAID - ไม่ใช้ RAID
กำหนดค่า Service NTPD - NAMED - TFTPD
โปรแกรม iSCSI Enterprise Target - iPXE
โปรแกรมจัดการระบบ Apache - MySQL - PhpMyAdmin - CakePHP - Disk Serve Manager (อัปเกรด)
ติดตั้ง Client ติดตั้ง Windows XP - ติดตั้ง iSCSI - ปรับแต่ง Windows XP - คัดลอกดิสก์ไปยังเซิร์ฟเวอร์ - Windows 7 64-bit
การใช้งาน ภาพรวม นิยาม - ไฟล์ Config และ Script
การกำหนดค่า Config - Cluster - Alternative - Computer - ตัวอย่าง
การใช้งาน หน้าจอหลัก - Mode การใช้งาน - ปรับปรุง Image - สำรอง Image - ขยายขนาด Image - ใช้หลาย Server
โปรแกรมเสริม ปรับแต่งเครื่องลูกขณะบูต - ฟอร์แมตไดรฟ์เสริม
การแก้ไขปัญหา FAQ - ไฟล์กำหนดค่า - ไฟล์บันทึกการทำงาน - Secure Erase