Berbagi teknologi

Kluster penyeimbangan beban ketersediaan tinggi LVS KeepAlive

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Arsitektur ketersediaan tinggi di cluster lvs hanya untuk ketersediaan penjadwal yang tinggi.

Menerapkan penjadwal utama dan cadangan berdasarkan vrrp

Arsitektur HA yang sangat tersedia

Penjadwal utama dan penjadwal cadangan (bisa ada beberapa penjadwal cadangan)

Ketika penjadwal bekerja normal, peralatan benar-benar mubazir (standby). Ia tidak ikut serta dalam pengoperasian cluster. Hanya jika penjadwal utama gagal, cadangan akan mengambil alih pekerjaan penjadwal utama. Setelah penjadwal utama memulihkan fungsinya, master akan terus berfungsi sebagai pintu masuk ke cluster , dan cadangan akan terus berada dalam status redundan (tergantung prioritas).

Keepalive didasarkan pada protokol vrrp untuk mengimplementasikan solusi ketersediaan tinggi LVS.

1. Alamat multicast:

224.0.0.18 berkomunikasi berdasarkan alamat multicast. Perangkat primer dan sekunder mengirim pesan untuk menentukan apakah pihak lain masih hidup.

2. Menentukan jabatan primer dan sekunder berdasarkan prioritas.

3. Failover, jika mesin utama hang, mesin cadangan akan terus bekerja. Ketika mesin master pulih, mesin cadangan akan terus menunggu.

4. Peralihan antara primer dan sekunder adalah peralihan alamat VIP.

Keepalive muncul khusus untuk LVS, namun tidak eksklusif untuk LVS.

modul inti: modul inti keepalive, bertanggung jawab atas permulaan dan pemeliharaan proses utama dan pemuatan file konfigurasi global

modul vrrp: modul yang mengimplementasikan protokol vrrp, yang merupakan modul fungsi utama

modul pemeriksaan: Bertanggung jawab untuk pemeriksaan kesehatan, dan juga dapat memeriksa status server sebenarnya di latar belakang.

Berdasarkan percobaan mode DR pada bab sebelumnya, kami menambahkan beberapa konfigurasi. Kali ini dua penjadwal digunakan, satu penjadwal utama dan satu penjadwal cadangan.

Pertama instal keepalive pada penjadwal

yum -y install keepalived

Setelah instalasi selesai

Mari kita ubah file keepalive.conf

  1. [root@test1 ~]# vim /etc/keepalived/keepalived.conf
  2. notification_email_from [email protected]
  3. smtp_server 127.0.0.1
  4. smtp_connect_timeout 30
  5. router_id LVS_01
  6. vrrp_skip_check_adv_addr
  7. vrrp_strict
  8. vrrp_garp_interval 0
  9. vrrp_gna_interval 0
  10. vrrp_iptables
  11. }
  12. vrrp_instance VI_1 {
  13. state MASTER
  14. interface ens33
  15. virtual_router_id 51
  16. priority 120
  17. advert_int 1
  18. authentication {
  19. auth_type PASS
  20. auth_pass 1111
  21. }
  22. virtual_ipaddress {
  23. 192.168.124.100
  24. }
  25. }
  26. virtual_server 192.168.124.100 80 {
  27. delay_loop 6
  28. lb_algo rr
  29. lb_kind DR
  30. persistence_timeout 50
  31. protocol TCP
  32. real_server 192.168.124.40 80 {
  33. weight 1
  34. TCP_CHECK {
  35. connect_port 80
  36. connect_timeout 3
  37. nb_get_retry 3
  38. delay_before_retry 3
  39. }
  40. }
  41. real_server 192.168.124.50 80 {
  42. 9,1 36%

Salin file konfigurasi di penjadwal pertama ke penjadwal kedua

  1. scp root@192.168.233.10:/etc/keepallved/keepallved.conf
  2. /etc/keepallved

Kemudian ubah konfigurasinya

Prioritas primer dan sekunder

Tambahkan opsi iptables

Dengan cara ini, akses ke aturan keepalive tidak akan dihentikan di tabel aturan ipetables.

  1. [root@localhost ~]# ipvsadm -ln
  2. IP Virtual Server version 1.2.1 (size=4096)
  3. Prot LocalAddress:Port Scheduler Flags
  4. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
  5. TCP 192.168.124.100:80 rr persistent 50
  6. -> 192.168.124.40:80 Route 1 0 0
  7. -> 192.168.124.50:80 Route 1 0 0

Coba lihat

Kemudian mulai ulang semuanya

Lihatlah hasil klien

Mari kita matikan penjadwal utama terlebih dahulu

stsemctl stop keepalived.servers

Penjadwal cadangan mengambil alih pekerjaan master dan terus bekerja.

Ini adalah alamat VIP yang telah diunggah ke penjadwal yang telah disiapkan. Klien sedang mengaksesnya.

Masih bisa mengakses


Meringkaskan

Keepalived terutama memiliki tiga modul: inti (modul inti, bertanggung jawab untuk memulai proses utama, pemeliharaan dan memuat dan menganalisis file konfigurasi global), pemeriksaan (modul pemeriksaan kesehatan) dan vrrp (implementasi protokol vrrp).

Prinsip kerja Keepalived didasarkan pada protokol VRRP. Beberapa server yang menyediakan fungsi yang sama dibentuk menjadi grup server, yang memiliki master dan banyak cadangan. Ada VIP di master yang menyediakan layanan ke dunia luar (rute default mesin lain di LAN tempat server berada adalah VIP ini). Master akan mengirimkan multicast. Ketika cadangan tidak dapat menerima paket VRRP, itu akan berpikir bahwa master sedang down, dan kemudian berdasarkan prioritas level VRRP untuk memilih cadangan untuk menjadi master baru.

Saat mengonfigurasi LVS + Keepalived, Anda biasanya perlu menginstal perangkat lunak terkait (seperti ipvsadm, keepalived) pada node master dan cadangan, dan mengonfigurasi file keepalived.conf. Misalnya, dalam file konfigurasi node master, Anda perlu menentukan status (status) sebagai master, antarmuka jaringan (antarmuka), ID rute virtual (virtual_router_id), prioritas (prioritas), interval iklan (advert_int), informasi otentikasi (otentikasi) Dan alamat IP virtual (virtual_ipaddress), dll.; konfigurasi node cadangan serupa, tetapi statusnya cadangan dan prioritasnya biasanya lebih rendah daripada master.

Setelah konfigurasi selesai, mulai ulang layanan keepalive untuk mencapai penyeimbangan beban ketersediaan tinggi. Ketika node master gagal, VIP akan secara otomatis beralih ke node cadangan untuk memastikan akses normal ke layanan; setelah master pulih, node tersebut akan berfungsi sebagai node beban utama lagi. Selain itu, server sebenarnya (rs) juga dapat dikonfigurasikan sesuai. Misalnya, ketika menggunakan model DR untuk komunikasi, lo harus dikonfigurasi sebagai VIP pada kartu jaringan rs.

Dengan cara ini, kombinasi LVS + Keepalived dapat mencapai tujuan berikut: klien mengakses layanan melalui VIP, dan permintaan akan didistribusikan sesuai dengan aturan konfigurasi; ketika node penyeimbang beban master gagal, maka secara otomatis dapat beralih ke cadangan; node untuk memastikan bahwa layanannya normal; ketika rs tertentu Ketika sebuah node gagal, node tersebut dapat dihapus secara otomatis dan dapat ditambahkan ke cluster lagi setelah pemulihan.

Dalam aplikasi sebenarnya, hal-hal yang relevan perlu diperhatikan, seperti alamat IP yang dikonfigurasi oleh virtual_ipaddress dalam file konfigurasi Keepalived harus berada di segmen jaringan yang sama; semakin tinggi nilai prioritas, semakin besar kemungkinan node menjadi master node; semakin kecil nilai advert_int, semakin tinggi kemungkinan node mengirimkan pesan VRRP. Pada saat yang sama, faktor-faktor seperti lingkungan jaringan dan kinerja server juga perlu dipertimbangkan untuk memastikan stabilitas dan efisiensi pengoperasian seluruh sistem.