Cara menggunakan Linux untuk pengimbangan beban rangkaian

PHPz
Lepaskan: 2023-06-18 18:45:10
asal
2873 orang telah melayarinya

Pengimbangan beban rangkaian ialah kaedah mengagihkan trafik rangkaian secara sama rata ke pelayan yang berbeza, dengan itu meningkatkan ketersediaan dan prestasi keseluruhan sistem. Sistem Linux disertakan dengan beberapa alatan yang boleh membantu kami mencapai pengimbangan beban rangkaian Artikel ini akan memperkenalkan cara menggunakan Linux untuk pengimbangan beban rangkaian.

1. Prinsip asas pengimbangan beban rangkaian Linux

Prinsip asas pengimbangan beban rangkaian adalah untuk mengagihkan trafik rangkaian ke berbilang pelayan. Terdapat banyak kaedah pengedaran, termasuk kaedah pengundian, kaedah undian berwajaran, kaedah pencincangan IP, kaedah bilangan sambungan minimum, dsb.

Di Linux, kita boleh menggunakan teknologi LVS (Linux Virtual Server) untuk pengimbangan beban rangkaian LVS ialah teknologi yang mengedarkan trafik rangkaian kepada berbilang pelayan. Ia terdiri daripada penjadual (juga dipanggil pengimbang beban) dan berbilang pelayan bahagian belakang.

2. Pasang dan konfigurasikan LVS

  1. Pasang LVS

Sebelum mengkonfigurasi LVS, kami perlu memasang pakej perisian yang diperlukan, termasuk ipvsadm, keepalived, pakej ini boleh dipasang melalui arahan yum.

① Pasang ipvsadm

Gunakan arahan berikut untuk memasang pakej ipvsadm:

sudo yum install ipvsadm -y

② Pasang keepalived

Gunakan arahan berikut untuk memasang pakej keepalived:

sudo yum install keepalived -y

  1. Konfigurasikan LVS

Sebelum meneruskan konfigurasi LVS, kita perlu tahu beberapa perkara Konsep asas:

  • Penjadual (pengimbang beban): digunakan untuk menerima permintaan rangkaian daripada pelanggan dan memajukan permintaan ke pelayan bahagian belakang.
  • Alamat IP mendengar: alamat IP yang diakses oleh klien.
  • Pelayan sebenar (pelayan bahagian belakang): mengendalikan permintaan rangkaian daripada pelanggan.

Berikut ialah contoh konfigurasi LVS, dengan mengandaikan alamat IP penjadual kami ialah 192.168.1.1 dan alamat IP pelayan bahagian belakang ialah 192.168.1.2 dan 192.168.1.3.

① Konfigurasikan penjadual

Mula-mula, pasang dan konfigurasikan perkhidmatan keepalived pada penjadual. Edit fail /etc/keepalived/keepalived.conf dan tambah konfigurasi berikut:

Fail Konfigurasi untuk keepalived

global_defs {
router_id LB_Test
}

vrrp_script chk_http_port {
script "/etc/keepalived/check.sh"
interval 2
}

vrrp_instance VI_1 {
state MASTER
uterin interface eth0
virtual interface 50
keutamaan 101
pengesahan {

   auth_type PASS
   auth_pass 1111
Salin selepas log masuk

}
virtual_ipaddress {

   192.168.1.100
Salin selepas log masuk

}
track_script {

   chk_http_port
Salin selepas log masuk

}
}

Antaranya, vrrp_instance digunakan untuk menetapkan parameter penghala maya, virtual_router_id digunakan untuk menetapkan ID penghala maya, virtual_ipaddress digunakan untuk menetapkan alamat IP maya, dan keutamaan digunakan untuk menetapkan aktif. -hubungan siap sedia Semakin kecil bilangannya, semakin tinggi keutamaannya.

Kemudian, cipta fail skrip bernama check.sh untuk menyemak sama ada pelayan bahagian belakang masih hidup. Simpan kandungan skrip berikut ke dalam fail check.sh:

!/bin/bash

A=

ipvsadm -ln | grep -c "Server"jika [ $A -eq 0 ];maka
echo "failed"
killall keepalived
fi

Penjelasan: Apabila pelayan backend tidak tersedia, skrip akan menamatkan perkhidmatan keepalived.

Laksanakan arahan berikut untuk menjadikan fail konfigurasi berkuat kuasa:

sudo systemctl restart keepalived

Pada ketika ini, konfigurasi penjadual selesai.

② Konfigurasikan pelayan bahagian belakang

Konfigurasikan Pelayan Sebenar LVS pada pelayan bahagian belakang.

Gunakan arahan berikut untuk menambah konfigurasi Pelayan Sebenar:

sudo ipvsadm -A -t 192.168.1.100:80 -s rr

Antaranya, pilihan -A ialah digunakan untuk menambah peraturan, -t digunakan untuk menetapkan alamat IP mendengar dan port, -s digunakan untuk menetapkan peraturan penjadualan, dan kaedah pengundian digunakan di sini.

Tambah Pelayan Sebenar pada peraturan menggunakan arahan berikut:

sudo ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2 -g

sudo ipvsadm -a - t 192.168.1.100:80 -r 192.168.1.3 -g

Antaranya, pilihan -a digunakan untuk menambah Pelayan Sebenar pada peraturan, -r digunakan untuk menetapkan alamat IP pelayan bahagian belakang , dan -g digunakan untuk menetapkan pelayan hujung belakang mod Gerbang pelayan akhir.

Pada ketika ini, konfigurasi LVS telah selesai.

3. Uji pengimbangan beban rangkaian

Selepas melengkapkan konfigurasi LVS, kami boleh menguji fungsi pengimbangan beban rangkaian melalui langkah berikut:

    Luluskan klien Arahan curl mengakses alamat IP maya:
curl 192.168.1.100

    Selepas diproses oleh penjadual, permintaan dihantar ke salah satu pelayan bahagian belakang.
  1. Mulakan perkhidmatan HTTP ringkas pada salah satu pelayan bahagian belakang:
python -m SimpleHTTPServer 80

    Kemudian akses alamat IP pelayan sebenar :
curl 192.168.1.2

    Hantar permintaan ke alamat IP maya sekali lagi, permintaan itu harus dihantar ke pelayan sebenar yang lain.
Selepas ujian di atas, jika semasa mengakses pelayan bahagian belakang, permintaan boleh diagihkan sama rata ke pelayan bahagian belakang yang berbeza, maka pengimbangan beban rangkaian boleh dikatakan berjaya.

4

Artikel ini memperkenalkan cara menggunakan Linux untuk pengimbangan beban rangkaian Kami memasang pakej perisian ipvsadm dan keepalived, mengkonfigurasi alamat IP, port dan peraturan penjadualan penjadual dan pelayan akhir, dan akhirnya menguji fungsi pengimbangan beban rangkaian. . Pengimbangan beban rangkaian boleh meningkatkan ketersediaan dan prestasi keseluruhan sistem dan membantu mengendalikan permintaan rangkaian dalam persekitaran konkurensi tinggi, dengan itu meningkatkan pengalaman pengguna.

Atas ialah kandungan terperinci Cara menggunakan Linux untuk pengimbangan beban rangkaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan