DRBD Network-RAID1 Mirroring Part I

Introduction

DRBD เป็น open source ที่เขียนให้ทำงานในระดับ Linux kernel ใช้ในการ replicate ข้อมูลในดิสก์สองที่ให้เหมือนกัน การ replicate ทำแบบออนไลน์ในขณะที่โปรแกรมรันและใช้ไฟล์นั้นๆ อยู่ได้โดย DRBD ทำงานในระดับ block device, DRBD สปอนเซอร์โดยบริษัท LINBIT (http://www.drbd.org)

ขอแทนคำว่า server ด้วยคำว่า node นะครับ เมื่อเรา replicate ข้อมูลทั้ง 2 node ให้เท่ากันแล้ว การที่จะใช้งานได้แบบ node เดียวหรือทั้ง 2 node พร้อมๆ กันส่วนหนึ่งขึ้นอยู่กับระบบไฟล์ที่ใช้  ระบบไฟล์โดยทั่วไปที่ไม่ได้ออกแบบมาให้ทำงานแบบคลัสเตอร์จะใช้ได้แบบ node เดียว ระบบไฟล์แบบนี้เช่น ext3, ext4, xfs ส่วนระบบไฟล์ที่ออกแบบมาเพื่อใช้สำหรับคลัสเตอร์ เช่น gfs, gfs2 ระบบไฟล์แบบคลัสเตอร์นี้มีสิ่งที่เพิ่มเติมเข้ามาคือ “กลไกในการ lock” ใช้ควบคุมตอน write ข้อมูล ถ้าไม่มีตัวควบคุม เป็นไปได้ว่า node หนึ่งยังไม่ทัน write เสร็จ อีก node ทำการ write เข้ามาทับ ก็จะเกิดความสับสนขึ้นได้

node ที่สามารถใช้งานได้ DRBD เรียกว่า Primary ส่วน node ที่เป็น backup เรียกว่า Secondary เมื่อเป็น Primary ดิสก์จะสามารถได้ทั้งอ่านและเขียน ส่วน Secondary อย่างมากทำได้แค่การอ่าน

ใน Linux kernel ใหม่ๆ ตั้งแต่เวอร์ชั่น 2.6.33 ขึ้นไปจะมี DRBD ฝังมาให้ในตัวเลย ส่วนเวอร์ชั่นที่เก่ากว่านั้น สามารถลงได้เช่นกัน โดยเพิ่ม package ในส่วนของ kmod เข้าไป

 หลังจาก synchronize ข้อมูลจนเท่ากันในการทำงานครั้งแรก ในครั้งต่อๆ ไป ข้อมูลจะ replicate เฉพาะข้อมูลที่ update และสนใจเฉพาะข้อมูลที่เป็นการ write จึงทำให้ข้อมูลที่ส่งระหว่างกันใช้ bandwidth ของ network อย่างคุ้มค่า นอกจากนั้นการ replicate ยังเป็นแบบ 2 ทาง เมื่อเราใช้งานที่ backup node ข้อมูลก็จะถูกส่งกลับไปยัง node หลักได้ด้วย ในบทต่อๆ ไปจะมีรายละเอียดลงลึกถึงโปรโตคอลที่ใช้ในการ replicate

ตัวอย่างการประยุกต์ใช้

ทำ backup site แบบ DR-Ready:

  • Mail System: replicate โปรแกรมและ data ของ Zimbra
  • Database System: replicate ส่วน data ของ PostgreSQL
  • Application Server: replicate โปรแกรมและ user data session ของ Tomcat

ถ้าใช้แพลทฟอร์ม Linux ในการรัน Application อยู่แล้ว DRBD ถือเป็นตัวช่วยในการทำ DR Site หรือ Disaster Recovery Site ให้เป็นแบบพร้อมใช้หรือเรียกหรูๆ หน่อยว่า DR-Ready Site ได้ในระดับหนึ่งเลยครับ

Leave a Reply

Your email address will not be published. Required fields are marked *