มีสองวิธีในการรับ HA (ความพร้อมใช้งานสูง) ของ Load Balancer - หรือบริการที่เกี่ยวข้อง สมมติว่าคุณมีสองเครื่องด้วยที่อยู่ IP:
- 192.168.100.101
- 192.168.100.102
ผู้ใช้เชื่อมต่อกับ IP ดังนั้นสิ่งที่คุณต้องการทำคือแยก IP จากกล่องเฉพาะ - เช่นสร้าง IP เสมือน IP นั้นจะเป็น 192.168.100.100
ตอนนี้คุณสามารถเลือกบริการ HA ซึ่งจะดูแลการ failover อัตโนมัติ / failback ของที่อยู่ IP บริการที่ง่ายที่สุดสำหรับยูนิกซ์คือ (u) carp และเก็บไว้เป็นจำนวนมากบริการที่ซับซ้อนกว่านี้บางอย่างเช่น RedHat Cluster Suite หรือ Pacemaker
เป็นตัวอย่างที่เก็บรักษาไว้ซึ่งเป็นบริการสองอย่างที่เก็บรักษาไว้ซึ่งแต่ละบริการทำงานด้วยตนเองและสื่อสารกัน การสื่อสารนั้นมักเรียกว่าการเต้นของหัวใจ
| VIP | | |
| Box A | ------v^-----------v^---- | Box B |
| IP1 | | IP2 |
หากมีการตอบกลับแบบหยุดชั่วคราว (บริการหยุดลงไม่ว่าด้วยเหตุผลใดก็ตามหรือกล่องตีกลับหรือปิดตัวลง) - การเก็บไว้ในช่องอื่นจะสังเกตเห็นการเต้นของหัวใจที่ไม่ได้รับและจะถือว่าโหนดอื่นตาย การกระทำนั้นในกรณีของเราจะทำให้ไอพีลอยตัวขึ้นมา
| VIP |
------------------ -------------- | Box B |
| IP2 |
กรณีที่แย่ที่สุดที่สามารถเกิดขึ้นได้ในกรณีนี้คือการสูญเสียเซสชันสำหรับลูกค้า แต่พวกเขาจะสามารถเชื่อมต่อใหม่ได้ หากคุณต้องการหลีกเลี่ยงปัญหานั้นตัวโหลดบาลานซ์สองตัวจะต้องสามารถซิงค์ข้อมูลเซสชันระหว่างพวกเขาได้และหากพวกเขาสามารถทำเช่นนั้นได้ผู้ใช้จะไม่สังเกตเห็นอะไรเลยนอกจากอาจทำให้ล่าช้าเล็กน้อย
ข้อผิดพลาดอีกประการของการตั้งค่านี้คือสมองที่แตกแยก - เมื่อทั้งสองกล่องออนไลน์ แต่การเชื่อมโยงขาดไป สิ่งนี้มักได้รับการแก้ไขผ่านกลไกการฟันดาบบางประเภท (การสำรอง SCSI, การรีสตาร์ท IPMI, การตัดไฟ PDU แบบสมาร์ท, ... ), หรือจำนวนคี่ที่ต้องการให้สมาชิกคลัสเตอร์ส่วนใหญ่ยังมีชีวิตอยู่เพื่อให้บริการเริ่มทำงาน
| VIP | | VIP |
| Box A | | Box B |
| IP1 | | IP2 |
ซอฟต์แวร์การจัดการคลัสเตอร์ที่ซับซ้อนมากขึ้น (เช่น Pacemaker) สามารถย้ายบริการทั้งหมด (เช่นหยุดที่โหนดหนึ่งและเริ่มต้นที่โหนดอื่น) - และนี่คือวิธีที่ HA สำหรับบริการเช่นฐานข้อมูลสามารถทำได้
อีกวิธีหนึ่งที่เป็นไปได้ - หากคุณควบคุมเราเตอร์ใกล้กับตัวโหลดบาลานซ์ของคุณคือใช้ ECMP วิธีการนี้ยังช่วยให้คุณสามารถปรับสมดุลโหลดบาลานซ์ในแนวนอน สิ่งนี้ทำงานโดยสองกล่องของคุณที่พูดถึง BGP กับเราเตอร์ แต่ละกล่องจะต้องโฆษณา IP เสมือน (192.168.100.100) และเราเตอร์จะโหลดทราฟฟิกยอดดุลผ่าน ECMP หากเครื่องตายมันจะหยุดโฆษณา VIP ซึ่งจะหยุดเราเตอร์จากการส่งปริมาณการใช้งาน สิ่งเดียวที่คุณต้องดูแลในการตั้งค่านี้คือการหยุดโฆษณา IP หากตัวโหลดบาลานเซอร์เองตาย