Ada beberapa cara untuk mencapai HA (ketersediaan tinggi) dari Load Balancer - atau dalam hal layanan apa pun. Mari kita asumsikan Anda memiliki dua mesin, dengan alamat IP:
- 192.168.100.101
- 192.168.100.102
Pengguna terhubung ke IP, jadi yang ingin Anda lakukan adalah memisahkan IP dari kotak tertentu - misalnya membuat IP virtual. IP itu akan menjadi 192.168.100.100.
Sekarang, Anda dapat memilih layanan HA yang akan menangani failover / failback otomatis dari alamat IP. Beberapa layanan paling sederhana untuk unix adalah (u) carp dan keepalived, beberapa yang lebih kompleks misalnya RedHat Cluster Suite atau Pacemaker.
Mari kita ambil keepalived sebagai contoh - dua layanan keepalived - masing-masing berjalan pada kotaknya sendiri - dan mereka berkomunikasi bersama. Komunikasi itu sering disebut detak jantung.
| VIP | | |
| Box A | ------v^-----------v^---- | Box B |
| IP1 | | IP2 |
Jika satu keepalived berhenti merespons (salah satu layanan turun karena alasan apa pun, atau kotak memantul atau dimatikan) - keepalived di kotak lain akan melihat denyut jantung yang terlewat, dan akan menganggap simpul lain mati, dan mengambil tindakan failover. Tindakan itu dalam kasus kami akan memunculkan IP mengambang.
| VIP |
------------------ -------------- | Box B |
| IP2 |
Kasus terburuk yang dapat terjadi dalam kasus ini adalah hilangnya sesi untuk klien, tetapi mereka akan dapat terhubung kembali. Jika Anda ingin menghindari itu, dua penyeimbang beban harus dapat menyinkronkan data sesi di antara mereka, dan jika mereka bisa melakukan itu, pengguna tidak akan melihat apa pun kecuali mungkin menunda penundaan singkat.
Perangkap lain dari pengaturan ini adalah otak terpecah - saat kedua kotak daring tetapi tautan terputus, dan kedua kotak tersebut menampilkan IP yang sama. Ini sering diselesaikan melalui semacam mekanisme pagar (reservasi SCSI, restart IPMI, pemadaman listrik PDU pintar, ...), atau jumlah ganjil node yang mengharuskan mayoritas anggota kluster untuk hidup agar layanan dapat dimulai.
| VIP | | VIP |
| Box A | | Box B |
| IP1 | | IP2 |
Perangkat lunak manajemen kluster yang lebih kompleks (seperti Pacemaker) dapat memindahkan seluruh layanan (mis .: hentikan pada satu simpul dan mulai dari yang lain) - dan ini adalah cara HA untuk layanan seperti basis data dapat dicapai.
Cara lain yang mungkin - jika Anda mengontrol router di dekat penyeimbang beban Anda, adalah dengan memanfaatkan ECMP. Pendekatan ini juga memungkinkan Anda untuk skala penyeimbang beban secara horizontal. Ini berfungsi oleh masing-masing dari dua kotak Anda berbicara BGP ke router Anda. Setiap kotak harus mengiklankan IP virtual (192.168.100.100) dan router akan memuat lalu lintas keseimbangan melalui ECMP. Jika sebuah mesin mati, itu akan menghentikan iklan VIP, yang pada gilirannya akan menghentikan router dari mengirimkan lalu lintas ke sana. Satu-satunya hal yang harus Anda perhatikan dalam pengaturan ini adalah menghentikan iklan IP jika penyeimbang beban itu sendiri mati.