DRBD Network-RAID1 Mirroring Part II
16/06/2011 Leave a Comment
การจัดการดิสก์
มาลองดูรายละเอียดเกี่ยวกับดิสก์ดูบ้าง หลักๆ แล้วให้ดูเรื่องขนาดครับ โดยดูขนาดของพาร์ติชั่นเป็นหลัก สำหรับกรณีที่ node ที่เราจะไปทำการ mirror นั้นทำการ production ไปแล้ว การจะไปปรับเปลี่ยนอะไรกับ production คงทำได้ยากหน่อย ให้มาปรับเปลี่ยนฝั่งที่เราจะทำเป็น destination จะสะดวกกว่า จากตัวอย่างการทำ DR-Ready Site จาก Part I ให้มองฝั่ง production คือ source และฝั่ง backup คือ destination
โดยทั่วไปเมื่อเราเพิ่มฮาร์ดดิสก์เข้าไปบนเซิร์ฟเวอร์และใช้ระบบปฏิบัติการลีนุกซ์ จะมองเห็นเป็น device เช่น /dev/sda, /dev/sdb, /dev/sdc, … หรือ /dev/hda,/dev/hdb,/dev/hdc,… แล้วแต่ชนิดดิสก์และคอนโทรลเลอร์ ในดิสก์แต่ละลูกเมื่อมีการแบ่งพาร์ติชั่นจะมองเ็ห็นเป็น device เช่น /dev/sdb1, /dev/sdb2,.. /dev/sdc1, /dev/sdc2,…
เมื่อเรานำ DRBD เข้ามาใช้งาน เราจะต้อง config ให้ device ของ DRBD ชี้ไปยัง device ของดิสก์ที่เราใช้งานและ mount disk ด้วย device ของ DRBD แทนของเก่า
ตัวอย่าง 1: source เป็น fixed disk ขนาด 1TB
- สมมุติว่าดิสก์ดังกล่าวถูกลีนุกซ์ assign เป็น device ชื่อ /dev/sdb
- ตรวจสอบก่อนว่าดิสก์ดังกล่าวแบ่งพาร์ติชั่นไว้อย่างไร ใช้คำสั่ง “fdisk -l /dev/sdb” ช่วยในการตรวจสอบ
- สมมุติว่าดิสก์ดังกล่าวแบ่งไว้สองพาร์ติชั่นคือ /dev/sdb1 และ /dev/sdb2 โดย /dev/sdb1 มีขนาด 50 GB และ /dev/sdb2 มีขนาด 650GB, และ /dev/sdb2 ถูกฟอร์แมตไว้ให้เป็นรูปแบบ ext3 สำหรับเก็บข้อมูลส่วนที่เป็น data
- การหาดิสก์มาทำ destination สำหรับการ replicate ให้หาขนาดขั้นต่ำ 650GB หากต้องการ data เฉพาะส่วนที่อยู่ใน /dev/sdb2, ให้เผื่อขนาด meta-data ในการจัดเก็บของ DRBD ด้วย ซึ่งโดยประมาณ 128MB รองรับ data จริงได้ 4TB
- การกำหนดพาร์ติชั่นฝั่ง destination ให้กำหนดจำนวน block ของดิสก์ให้เท่ากันกับจำนวน block ของ /dev/sdb2 ฝั่ง source, ลำดับไม่สำคัญ เช่น เราอาจจะ replicate จาก /dev/sdb2 มา /dev/sdb3 ก็ได้ เพียงแต่ดิสก์ต้องมีจำนวน block เท่ากัน
- สามารถ replicate ดิสก์ทั้งลูกเลยก็ได้ คือมองเป็น device แค่ในระดับ /dev/sdb ไม่แยกเป็น /dev/sdb1, /dev/sdb2 ก็ได้ ในกรณีนี้ควรหาดิสก์ฝั่ง destination ที่มีขนาดเท่ากันเป๊ะๆ ถ้าหาไม่ได้ให้หาขนาดที่ใหญ่กว่าแล้วแบ่งพาร์ติชั่นให้จำนวน block เท่ากับฝั่งต้นฉบับ
ตัวอย่าง 2: source เป็น extended file system ขนาด 1TB
- บน Linux มี LVM ช่วยในการจัดการ file system แบบที่ย่อขนาดหรือขยายขนาดได้
- LVM จะช่วยย่อหรือขยายในระดับพาร์ติชั่นใช้คู่กับคำสั่งขยายในระดับ file system ขึ้นกับรูปแบบ file system ที่ใช้
- หลักๆ LVM ให้เข้าใจ 3 เรื่อง 1) PV– Physical Volume; เป็นระดับล่างสุด คือระดับของดิสก์แต่ละลูกที่เราจะเพิ่มหรือเอาออก 2) VG-Volume Group; เป็นระดับที่สูงขึ้นมา เป็นตัวกำหนดกลุ่มของดิสก์ 3) LV-Logical Volume; เป็นระดับบนสุด เป็นตัวที่เราจะเอาไป mount ใช้งาน, การสร้าง LV จะกำหนดเข้า VG เพื่อให้เป็นหมวดเป็นหมู่
- การ config ใช้ร่วมกับ DRBD ให้เอาระดับ LV ไปกำหนดครับ
- ใช้คำสั่ง “lvscan” ช่วยในการตรวจสอบขนาด
- ใช้คำสั่ง “lvextend” ช่วยในการปรับขนาดฝั่ง destination ให้เท่ากับฝั่ง source