top of page

Server High Availability คืออะไร

“เคยได้ยินคำว่า Server เรามี Uptimeถึง 99% ไหม”

High Availability มีชื่อย่อในวงการสั้น ๆ ว่า HA องค์กรหรือหน่วยงานมากมายในปัจจุบันมีการวัดประสิทธิภาพการให้บริการด้วย HA โดยจะมีหน่วยการวัดที่เรียกว่า Uptime ซึ่งคิดจากเวลาเป็น % ของการให้บริการ โดยมีชื่อเรียกระดับการให้บริการตามตารางดังนี้

ระดับที่หลายหน่วยงานหรือหลายอุปกรณ์พยายามจะโฆษณา จะอยู่ที่ระดับ Five nines หรือ Uptime 99.999% นั่นเอง ซึ่งจะเห็นได้ว่าจะมี Downtime แค่ 5.26 นาที ต่อปีเท่านั้น ซึ่งมองในด้านอุปกรณ์เครือข่าย จะมีปัจจัยน้อยที่จะทำให้เกิด Downtime แต่ในส่วนของ Server นั่นจะมีปัจจัยมากกว่าเพราะประกอบด้วยอุปกรณ์มากชิ้น แต่ปัญหาดังกล่าวในปัจจุบันน้อยลง หลังจากเข้าสู่ยุคของ Cluster หรือ Cloud เพราะจะมีเครื่องคอยทำงานแทนกันอยู่ตลอดเวลานั่นเอง

ตัวอย่างการทำ HA ระดับองค์กร

โดยคำว่า HA มักจะใช้คู่กับสิ่งที่เราจะต้องการจะสื่อว่าจะทำอย่างไรให้ระบบมี Uptime สูง ๆ เช่น Server High Availability ก็คือทำให้เครื่อง Server มีการให้สามารถทำงานได้โดยไม่ Hang ไม่ดับ ถ้าใช้กับคำว่า Web Server High Availability ก็หมายความว่า จะทำอย่างไรให้สามารถให้บริการ Web Site โดยไม่มีอาการล่ม ซึ่งบางครั้งเราจะมีการ ตัด Downtime ที่เป็นการวางแผนเอาไว้ก่อนแล้ว หรือเรียกสั้น ๆ ว่าการ Maintenance ระบบนั่นเอง

การที่จะทำให้เกิดสิ่งที่เรียกว่า HA ก็มีอยู่ 3-4 แบบใหญ่ ๆ ที่สามารถนำมาใช้เพื่อเพิ่ม Uptime ได้ดังนี้

การใช้เทคโนโลยีคลัชเตอร์ (Cluster) : คือการนำเครื่องหลาย ๆ เครื่องมาตั้งค่าให้เหมือนกัน และทำงานได้เสมือนว่ามี Server แค่ตัวเดียว ในกรณที่เมื่อเครื่องใดเครื่องหนึ่งเสียหายจะไม่ส่งผลต่อการให้บริการ

การทำรีดันแดนซ์ (Redundancy) : คือการใช้อุปกรณ์จำนวนสองชุดขึ้นไปทำงานพร้อมกัน ทำให้ได้ประสิทธิภาพเต็มที่ นิยมใช้ในระบบเครือข่าย

การทำโหลดบาลานซ์ (Load Balance) : เราสามารถที่จะเอาเครื่อง Server หลาย ๆ เครื่องมาเชื่อมต่อกัน เพื่อให้ทำงานหลาย ๆ อย่างร่วมกัน

การเรพพลีเคนและแบคอัพ (Replication & Backup) : คือการคัดลอกข้อมูลจากระบบหลักไประบบรอง เมื่ออุปกรณ์หลักเกิดล่ม ก็จะมีการเปิดระบบสำรองใช้ได้ทันที

โดยการทำ Load Balance ยังสามารถอธิบายเพิ่มเติมได้ 3 ลักษณะด้วยกันดังนี้

Round-Robin : คือการใช้วิธีหมุนวนไปเรื่อย ๆ ซึ่งอาจทำได้ทั้งแบบ Round-Robin ที่อุปกรณ์ Load Balance หรือการจด DNS แบบ Round Robin

Sticky : คือการยึดติดกับ Session ในกรณีที่เมื่อระบบมีการเลือก Server ไปแล้วก็จะให้ ผู้ใช้คนเดิมใช้ Server เดิมไปจนกว่าจะหมด Session (นึกถึงกรณีต้อง Login ก่อนใช้งาน ถ้าเปลี่ยน Server ไปเรื่อย ๆ คงไม่ดีแน่)

Work Load : คือการตรวจสอบประสิทธิภาพของ Server ก่อนที่จะเลือก โดยเลือกจากเครื่องที่ยังมีประสิทธิภาพดีกว่าก่อน ทำให้ระบบโดยรวมจะมีประสิทธิภาพดีกว่าแบบ Round-Robin เหมาะกับระบบที่มีประสิทธิภาพ Server แตกต่างกัน (เครื่องแรงปนเครื่องอ่อน)

จากที่กล่าวไปเราสามารถใช้หลาย ๆ วิธีผสมกันก็ได้เพื่อจุดมุ่งหมายเดียวกันคือการเพิ่ม Uptime โดยเครื่องมือที่เป็น Opensource ที่ใช้วัด และที่มีมานานรวมทั้งเป็นยอมรับคือเครื่องมือตระกูล nagios และ cacti นั่นเอง แต่อย่าลืมไปละครับว่าเครื่องมือเหล่านั้นต้องรันอยู่บนเครื่องที่มี Uptime สูงด้วย ไม่ใช่ คนตรวจสอบก็ Down, อุปกรณ์ ก็ Down ไม่เช่นนั้นอาจจะได้ค่าหลอก ๆ ไม่ตรงกับความเป็นจริงก็เป็นได้

“ถึงเวลาต้องทำ HA กันหรือยังเอ่ย ?”

Reference : [1] http://en.wikipedia.org/wiki/High_availability [2] http://www.dctwo.com.au/virtual/virtual_server_hardware_platform.html [3] http://bomber.exteen.com/20040813/cluster-load-balance

Featured Posts
Check back soon
Once posts are published, you’ll see them here.
Recent Posts
Archive
Search By Tags
No tags yet.
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page