High Availability Network อาจารย์ ธนัญชัย ตรีภาค ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
High Availability สาเหตุที่ทำให้ระบบไม่สามารถให้บริการได้อย่างเหมาะสม ที่ไม่อาจควบคุมได้ อุบัติเหตุ ปริมาณการใช้งานระบบที่มีการใช้งานสูงขึ้น จำเป็นต้องมีการออกแบบระบบให้รองรับต่อสาเหตุดังกล่าว หลักการออกแบบทำให้ระบบทำงานได้อย่างต่อเนื่อง Scalability Hi-Availability
ความสามารถในการขยายขนาด (Scalability) การขยายตัวแนวราบ การเพิ่มเครื่องคอมพิวเตอร์ในเครือข่าย การขยายตัวแนวดิ่ง การเพิ่มจำนวนทรัพยากร
Scalability
ความพร้อมในการใช้งานสูง (High Availability) ความพร้อมในการใช้ทรัพยากรในระบบคอมพิวเตอร์และเครือข่าย ระบบสามารถทำงานได้ตลอดเวลา ไม่ติดขัดหรือเกิดการหยุดชะงักในการให้บริการ ติดตั้งอุปกรณ์เพิ่มเติมและทำงานในลักษณะเป็นกลุ่ม (Cluster)
ศูนย์กู้คืนข้อมูลจากภัยพิบัติ (Disaster Recovery Center) ตั้งอยู่ในพื้นที่อื่น ตามหลักการกระจายความเสี่ยง รับมือกับอุบัติภัยต่างๆ เช่น แผ่นดินไหว ไฟไหม้ น้ำท่วม เป็นต้น สามารถเข้าปฏิบัติงานแทนระบบหลักได้ทันที
Load Balancing
Load Balancing ขยายตัวในแนวราบ จำเป็นต้องใช้งานอุปกรณ์หรือซอฟต์แวร์ Loadbalancer ตัวอย่างผลิตภัณฑ์ในท้องตลาด ซอฟแวร์เช่น StoneBeat , Resonate และ Rainfinity Appliances ซึ่งเป็นอุปกรณ์ที่ออกแบบเพื่อทำงาน Load Balancing โดยเฉพาะเช่น F5 และ Radware Switch Based ซึ่งเป็น Switch ที่เพิ่มความสามารถ Load Balancing เช่น Cisco , Nortel , Foundry
Layer 4-7 Switch
การทำงานของ Load Balancer เซิร์ฟเวอร์ฟาร์ม ในเซิร์ฟเวอร์ 1 เครื่องอาจมีมากกว่า 1 บริการ กระบวนการตรวจสอบว่าบริการต่างๆ ยังทำงานอยู่หรือไม่ สามารถใช้งานกับเซิร์ฟเวอร์ที่หลากหลาย สามารถกระจายงานให้กับเซิร์ฟเวอร์ต่างๆ ได้อย่างเหมาะสม
อัลกอริทึมในการกระจายภาระงาน Round Robin Least Connection Weight Distribution Response Time Least Connection & Response Time Primary & Backup Server
การส่งคำร้องขอต่างๆ ไปยังเซิร์ฟเวอร์ Server Load Balance Source NAT Direct Server Return
Server Load Balance กระบวนการทำงานคล้ายกับการทำ Network Address Translation
Server Load Balance
Source NAT กระบวนการกระจายงานโดยทำงานคล้ายกับ Application Proxy โดยจะทำการตั้งค่าระบบให้อุปกรณ์ Load Balance เป็นผู้ร้องขอการให้บริการจากเซิร์ฟเวอร์เอง
Source NAT
Direct Server Return กระบวนการ Redirect แพ็กเก็ตที่ร้องขอไปยังเซิร์ฟเวอร์โดยการปรับแต่ง Destination MAC Address ให้ Redirect ไปยังเครื่องเซิร์ฟเวอร์ปลายทาง แล้วให้เซิร์ฟเวอร์ปลายทางตอบกลับไปยังผู้ร้องขอเองอัตโนมัติ ต้องมีการตั้งค่า Loop Back Address เป็นไอพีเดียวกันกับอุปกรณ์ Load Balancer ด้วย
Direct Server Return
ความสามารถอื่นๆ ของ Load Balancer Application Level Health Check Content Management Session Persistence High Availability Load Balance Global Server Load Balance
Application Level Health Check กระบวนการตรวจสอบว่าบริการต่างๆ ยังสามารถให้บริการได้อย่างเหมาะสมหรือไม่ หากตรวจสอบแล้วพบว่าบริการของเซิร์ฟเวอร์ตัวใดไม่สามารถให้บริการได้ จะไม่ส่งงานไปยังบริการของเซิร์ฟเวอร์นั้นๆ
Content Management เพื่อหลีกเลี่ยงปัญหาข้อมูลซ้ำซ้อน ยากแก่การอัพเดทข้อมูลให้เหมือนกันในทุกๆ ระบบ ทำให้มีระบบที่จะเกิดข้อมูลซ้ำซ้อนกันน้อยที่สุด แบ่งการเก็บข้อมูลเป็นไดเร็กทอรี แล้วกำหนดเซิร์ฟเวอร์แต่ละตัวว่าต้องรับผิดชอบการเก็บข้อมูลไดเรกทอรีใดบ้าง ให้ Load Balancer ทำการ Redirect ข้อมูลให้ตรงกับ URL ที่ร้องขอมา
Session Persistence เซิร์ฟเวอร์ที่รับบริการใดๆ ต้องดำเนินการต่อจนจบ Session วิธีการในการดำเนินการ Cookie Based Switching Cookie Based Hashing SSL ID Switching
High Availability Load Balance Active – Active สำหรับเพิ่มความสามารถในการให้บริการ (Scalability) Active – Standby สำหรับเพิ่มความพร้อมในการใช้งาน (Fault Tolerant)
Global Server Load Balance ส่วนใหญ่เป็นการให้บริการเว็บไซต์ เทคนิคที่ใช้ DNS HTTP Redirect ใช้อุปกรณ์ Load Balance