Mail Clustering with Cyrus Murder

ปัจจุบันมีการใช้งาน e-mail มากขึ้น และมีการเก็บข้อมูลต่างๆใน email ไว้เป็นจำนวนมาก ทำให้ Mail Server ของหน่วยงานเดิม อาจจะมีเนื้อที่ไม่เพียงพอต่อการใช้งาน ทำให้ต้องมีการขยายพื้นที่ Mail Server ให้มากขึ้น

วิธีการที่นิยมใช้กันคือ ซื้อระบบใหม่ที่มี Harddisk ใหญ่ขึ้น หรือ ต่อกับระบบ Storage ที่ใหญ่ขึ้น (เช่น SAN หรือ Storage Cluster)

วิธีการนี้ เรียกว่า Scale-Up ซึ่งเมื่อมีการใช้งานต่อไป แล้วข้อมูลจัดเก็บมากขึ้น ก็ต้องวางแผนในการซื้อระบบที่ใหญ่ขึ้นไปอีก

ข้อดี:
1. เป็นวิธีการที่นิยมทำกัน
2.ได้ระบบใหม่ที่มีศักยภาพสูงขึ้นเรื่อยๆ

ข้อเสีย:
1. เมื่อจะย้ายระบบใหม่ จะเกิด Downtime เพราะต้องหยุดการทำงานของระบบเดิมทั้งระบบ
2.  ในการย้ายข้อมูล email ซึ่งมีปริมาณมาก ต้องใช้เวลานาน และเสี่ยงต่อข้อมูลที่ไม่เป็นปัจจุบันที่สุดด้วย (ล่าสุดที่ทำการย้ายข้อมูลขนาด 300 GB ซึ่งลักษณะ email ที่ใช้เก็บข้อมูลเป็นไฟล์เล็กๆจำนวนมาก ต้องใช้เวลาถึง 18 ชั่วโมง)
3. และที่หลีกเลี่ยงไม่ได้ ระบบแบบเดิมนี้ เป็น “Single Point of Failure” กล่าวคือ  ถ้าระบบเสียหาย ก็จะกระทบกับผู้ใช้ทั้งหมด

 

แต่มีอีกแนวทางหนึ่ง เรียกว่าการ Scale-Out คือ การใช้ระบบที่เป็น Mail Cluster แทน เมื่อมีความต้องการขยายพื้นที่ ก็เพียงแต่ซื้อเครื่องใหม่ แล้วเพิ่มเข้าสู่ระบบ Cluster แล้วเริ่มต้นใช้งานต่อเนื่องได้

แนวทาง Scale-Out ทำให้สามารถขยายพื้นที่จัดเก็บได้เรื่อยๆ อย่างต่อเนื่อง

ข้อดี:
1.ลดปัญหา Single Point of Failure โดยการกระจายที่จัดเก็บไปใน Server ต่างๆใน Cluster เมื่อเกิดความเสียหากับเครื่องใดเครื่องหนึ่ง ก็จะไม่กระทบกับผู้ใช้ทั้งหมด
2. เมื่อต้องการพื้นที่จัดเก็บเพิ่ม ไม่ต้องหยุดการทำงานทั้งระบบ เพียงเพิ่มเครื่องใหม่เข้าใน Cluster แล้วปรับแต่งค่าเพียงเล็กน้อย ก็สามารถใช้งานได้เลย

ข้อเสีย:
1. ระบบมีความซับซ้อนยิ่งขึ้น มีระบบต้องเฝ้าระวังมากขึ้น

ในระบบ PSU E-Mail Service ใช้โอเพนซอร์สซอฟต์แวร์ในการบริการ Email คือ cyrus-imapd ซึ่งสามารถสร้างระบบ Mail Cluster ด้วยการติดตั้งแพคเกจที่ชื่อว่า cyrus-murder ได้

Cyrus Murder ประกอบไปด้วย Server 3 ประเภท
1. Backend Servers: ทำหน้าที่เก็บ Mailbox ของผู้ใช้, โดยแต่ละเครื่องจะรายงานรายละเอียดของ Mailbox ที่อยู่บนเครื่องตนเอง ให้ MUPDATE Server ทราบ
2. Frontend Servers: ทำหน้าที่บริการ IMAP/POP ให้กับ Mail Client และ บริการ SMTP เพื่อส่งถึง Mailbox ที่อยู่บน Backend Servers ที่ถูกต้อง โดยอาศัยบริการของ MUPDATE Server เพื่อให้ทราบว่า Mailbox ที่ต้องการติดต่อด้วย อยู่บน Backend Server เครื่องใด
3. MUPDATE Servers: ทำหน้าที่เป็นฐานข้อมูลกลางของ Mailbox ทั้งหมดใน Backend Cluster โดยรับรายงานจาก Backend Servers และบริการตอบ Fronend Servers ว่า Mailbox ที่ต้องการติดต่อด้วย อยู่บน Backend Server เครื่องใด

อ่านต่อ:

– ระบบ Cyrus Murder ทำงานอย่างไร
– วิธีการติดตั้ง Backend Server และการนำเข้าระบบ
– วิธีการติดตั้ง Frontend Server และการนำเข้าระบบ
– วิธีการติดตั้ง MUPDATE Server และการนำเข้าระบบ

1 comment for “Mail Clustering with Cyrus Murder

Leave a Reply