informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Daftar isi
1. Konfigurasi penjadwal (test1 192.168.233.10)
2. Konfigurasi RS (nginx1 dan nginx2)
3. Terjemahan alamat (test1 192.168.233.10)
2. Ketika pesan dibalas, alamat VIP masih ada. Bagaimana klien dapat menerima tanggapan?
1. Konfigurasi penjadwal (test1 192.168.233.10)
2. Konfigurasi RS (nginx1 dan nginx2) [harus diubah dua kali]
Arsitektur HA yang sangat tersedia
Nama lengkapnya adalah linux virtual server, yaitu software yang mengimplementasikan loadbalancing pada level kernel Linux.
Fungsi utama: Membentuk beberapa server back-end menjadi cluster server dengan ketersediaan tinggi dan berkinerja tinggi, dan mendistribusikan permintaan klien ke server back-end melalui algoritma penyeimbangan beban untuk mencapai ketersediaan tinggi dan penyeimbangan beban.
Saldo loab server SLB Alibaba diimplementasikan menggunakan lvs+keepalive.
Berkelompok dan terdistribusi
Cara memperluas sistem:
Penskalaan Vertikal: Meningkatkan skala untuk membangun komputer yang lebih mumpuni.Kemacetan: keterbatasan peralatan komputer itu sendiri; kemacetan kinerja perangkat keras itu sendiri
Ekspansi horizontal: Perluas ke luar dan tambahkan peralatan.Jalankan beberapa layanan secara paralel dan andalkan jaringan untuk menyelesaikan masalah komunikasi internal, cluster cluster
Cluster: Sebuah sistem tunggal yang dibentuk dengan menggabungkan beberapa komputer untuk memecahkan suatu masalah tertentu
LB: cluster load balance load balance, terdiri dari beberapa host, masing-masing host hanya menanggung sebagian dari permintaan akses
HA : ketersediaan tinggi: Saat merancang sistem, langkah-langkah tertentu diambil untuk memastikan bahwa jika suatu komponen atau bagian dari sistem gagal, keseluruhan sistem masih dapat berjalan normal.Untuk menjaga ketersediaan, keandalan, dan toleransi kesalahan sistem
HPC:kluster komputasi berkinerja tinggi dengan kinerja tinggi, dengan persyaratan waktu respons dan daya pemrosesan yang lebih tinggi
PACARKU:Rata-Rata Waktu Antar Kegagalan Rata-rata waktu antar kegagalan
MTTR:Perbaikan Pemulihan Waktu Berarti berarti waktu pemulihan
A=MTBF/(MTBF+MTTR)
Indeks A harus antara 0 dan 1. Indeks A adalah ukuran ketersediaan sistem. 0 berarti sistem lebih sedikit tersedia, 1 berarti sistem lebih banyak tersedia.
Indikator A harus mendekati angka 1 (98%-99% memenuhi syarat; 90%-95% tidak memenuhi syarat)
Semuanya dalam satuan jam (8760 jam dalam 1 tahun, 365 hari)
Waktu henti dan waktu yang direncanakan tidak termasuk
Waktu tidak terencana yaitu waktu kegagalan adalah total waktu dari terjadinya kegagalan hingga penyelesaian kegagalan. Waktu tidak terencana merupakan salah satu indikator yang harus kita perhatikan.
Skenario yang berlaku LVS:
Cluster kecil tidak perlu pakai lvs, pakai nginx, cluster besar pakai lvs
VS: Nama logis dari layanan lvs server vittual, yang merupakan alamat IP dan port yang kami gunakan saat mengakses cluster lvs secara eksternal.
DS: Server utama di cluster lvs server direktur, yaitu penjadwal (yaitu, server proxy nginx), adalah inti dari cluster. Penjadwal digunakan untuk menerima permintaan klien dan meneruskannya ke back-end server.
RS: Server sebenarnya di cluster lvs server sebenarnya, server back-end, digunakan untuk menerima permintaan yang diteruskan oleh DS dan merespons hasilnya.
CIP: ip klien Alamat klien, yaitu alamat klien yang memulai permintaan
VIP: alamat ip ip virtual yang digunakan oleh cluster lvs, alamat ip virtual yang menyediakan akses cluster eksternal
DIP: ip direktur adalah alamat penjadwal di cluster, digunakan untuk berkomunikasi dengan RS
RIP: real ip Alamat IP server back-end di cluster
Mode NAT: Mode ini ditanggapi klien oleh penjadwal (terjemahan alamat)
Mode DR (mode perutean langsung): server sebenarnya merespons langsung ke klien
Mode TUN: Mode terowongan
Mode yang umum digunakan: mode NAT dan mode DR
Dalam mode NAT, LVS akan mengubah alamat IP target dan port dalam pesan permintaan dari klien ke alamat IP dan port dalam LVS, dan kemudian meneruskan permintaan tersebut ke server back-end.
Ketika hasil respons dikembalikan ke klien, pesan respons diproses oleh lvs dan IP serta port target diubah ke alamat IP dan port klien.
Prinsip: Pertama, ketika penyeimbang beban menerima paket permintaan pelanggan, penyeimbang beban menentukan server nyata backend (RS) mana yang akan dikirimi permintaan berdasarkan algoritma penjadwalan.
Penyeimbang beban kemudian mengubah alamat IP target dan port paket permintaan yang dikirim oleh klien ke alamat IP (RIP) server nyata back-end.
Setelah server sebenarnya merespons permintaan tersebut, ia memeriksa rute default dan mengirimkan paket data respons ke penyeimbang beban
Ubah alamat sumber paket menjadi alamat virtual (VIP) dan kirimkan kembali ke klien.
Keuntungan: Server di cluster dapat menggunakan sistem operasi apa pun yang mendukung TCP/IP, selama penyeimbang beban memiliki alamat IP yang sah.
Kekurangan: Skalabilitas terbatas. Ketika node server tumbuh terlalu banyak, karena semua permintaan dan respons harus melalui penyeimbang beban,
Oleh karena itu penyeimbang beban akan menjadi penghambat keseluruhan sistem.
Ditandai dengan terjemahan alamat
Terjemahan alamat: jaringan internal - jaringan eksternal, alamat IP sumber diubah menjadi SNAT
Jaringan eksternal-jaringan internal mengubah DNAT alamat IP tujuan
ipvsadmAlat untuk mengonfigurasi dan mengelola cluster lvs
-A menambahkan vip server virtual
-D hapus alamat server virtual
-s menentukan algoritma penjadwalan penyeimbangan beban
-a menambahkan server nyata
-d hapus server sebenarnya
-t menentukan alamat dan port VIP
-r menentukan alamat dan port rip
-m Gunakan mode NAT
-g Gunakan mode DR
-i Gunakan mode terowongan
-w mengatur berat badan
-p 60 menahan koneksi selama 60 detik Atur waktu tunggu koneksi
-l tampilan daftar
-n tampilan digital
Jajak pendapat rr
Jajak pendapat tertimbang wrr
Koneksi minimum lc
tautan terkecil tertimbang wlc
nginx1 RS1 192.168.233.20
nginx2 RS2 192.168.233.30
penjadwal test1 ens33 192.168.233.10 ens36 12.0.0.1
klien test2 12.0.0.10
yum -y pasang ipvsadm* -y
Konfigurasikan ens33
systemctl memulai ulang jaringan
Konfigurasikan ens36
cd /etc/sysconfig/skrip-jaringan/
cp jika-en33 jika-en36
vim ifcfg-ens36
systemctl memulai ulang jaringan
Konfigurasikan nginx1 192.168.233.20 Ubah gateway
systemctl memulai ulang jaringan
Konfigurasikan nginx2 192.168.233.30 Ubah gateway
systemctl memulai ulang jaringan
vim /usr/lokal/nginx/html/indeks.html
Ubah konten halaman yang dikunjungi
Periksa apakah akses terhubung
iptables -t nat -vnL Periksa apakah tabel nat memiliki kebijakan
1.
iptables -t nat -A POSTROUTING -s 192.168.233.0/24 -o ens36 -j SNAT --ke 12.0.0.1
Alamat perangkat dari 192.168.233.0/24 diubah menjadi 12.0.0.1
2.
ipvsadm -C menghapus kebijakan asli
ipvsadm -A -t 12.0.0.1:80 -s rr Tentukan alamat dan port VIP
Pertama tambahkan VIP, IP dan port server virtual, lalu tambahkan server sebenarnya
3.
ipvsadm -a -t 12.0.0.1:80 -r 192.168.233.20:80 -m
-a tambahkan server nyata
-t menentukan alamat vip
-r menentukan alamat dan port server sebenarnya
-m menentukan mode sebagai mode nat
ipvsadm -ln lihat
4.
ipvsadm-simpan simpan
ipvsadm -D -t 192.168.233.10:80 kebijakan penghapusan
ipvsadm -d -r 192.168.233.20: -t 12.0.0.1:80 menghapus server simpul
5. Aktifkan fungsi perutean dan penerusan
vim /etc/sysctl.conf
net.ipv4.ip_maju=1
4. Klien (tes2 12.0.0.10)
Ubah alamat IP dan gateway test2
pemungutan suara tertimbang
ini adalah mode perutean langsung
Mode NAT: Penjadwal adalah yang paling penting di seluruh cluster LVS. Dalam mode NAT, penjadwal bertanggung jawab untuk menerima permintaan, meneruskan lalu lintas sesuai dengan algoritma penyeimbangan beban, dan mengirimkan respons ke klien.
Mode DR: Penjadwal masih bertanggung jawab untuk menerima permintaan, dan juga meneruskan lalu lintas ke RS sesuai dengan algoritma penyeimbangan beban, dan responsnya langsung dikirim ke klien melalui RS.
Perutean Langsung: Ini adalah mode penerusan Lapisan 2. Lapisan 2 meneruskan bingkai data dan meneruskannya berdasarkan alamat MAC sumber dan alamat MAC tujuan tanpa mengubah IP sumber dan IP tujuan paket data. Meneruskan berdasarkan alamat MAC paket data.
Dalam mode DR, LVS juga mempertahankan alamat IP virtual, dan semua permintaan dikirim ke VIP ini karena penerusan lapisan 2 digunakan, ketika permintaan klien mencapai penjadwal, RS dipilih sesuai dengan algoritma penyeimbangan beban dan server VIP. diubah. Mac tujuan menjadi alamat mac RS. Setelah RS memproses permintaan, ia dapat langsung mengirimkan respons ke klien berdasarkan alamat mac sumber klien dalam pesan, tanpa melalui penjadwal.
Prinsip: Pertama, ketika penyeimbang beban menerima paket permintaan pelanggan, penyeimbang beban menentukan server nyata backend (RS) mana yang akan dikirimi permintaan berdasarkan algoritma penjadwalan.
Penyeimbang beban kemudian mengubah alamat MAC target dari paket permintaan yang dikirim oleh klien ke alamat MAC server nyata backend (R-MAC).
Setelah server sebenarnya merespons permintaan tersebut, ia memeriksa rute default dan mengirimkan paket respons langsung ke klien tanpa melalui penyeimbang beban.
Keuntungan: Penyeimbang beban hanya bertanggung jawab untuk mendistribusikan paket permintaan ke server node back-end, sementara RS mengirimkan paket respons langsung ke pengguna.
Oleh karena itu, aliran data dalam jumlah besar melalui penyeimbang beban berkurang. Penyeimbang beban tidak lagi menjadi penghambat sistem dan dapat menangani permintaan dalam jumlah besar.
Kekurangan: Penyeimbang beban dan server RS yang sebenarnya harus memiliki kartu jaringan yang terhubung ke segmen jaringan fisik yang sama dan harus berada di lingkungan LAN yang sama.
Alasan: Penjadwal dikonfigurasi dengan VIP, dan RS juga dikonfigurasi dengan alamat VIP. Konflik alamat VIP, karena scheduler dan RS sama-sama berada pada segmen jaringan yang sama, akan menyebabkan gangguan komunikasi ARP. Karena disiarkan ke seluruh LAN, semua perangkat menerimanya.
Cara memblokir respons loopback lo sehingga hanya alamat IP fisik mesin ini yang merespons.
Solusi: Ubah parameter kernel:arp_abaikan=1
Hanya alamat IP fisik sistem yang akan merespons permintaan ARP, dan antarmuka loopback lo tidak akan merespons permintaan ARP.
Larutan:arp_umumkan=2
Sistem tidak menggunakan alamat sumber paket IP untuk merespons permintaan ARP, tetapi langsung mengirimkan alamat IP antarmuka fisik.
nginx1 RS (ip asli) 192.168.233.20
nginx2RS192.168.233.30
alamat 192.168.233.100
Penjadwal 192.168.233.10
Klien 192.168.233.40
yum -y pasang ipvsadm* -y
Tambahkan kartu jaringan virtual ens33:0
Ubah parameter respons penjadwal
vim /etc/sysctl.conf
net.ipv4.ip_maju=0
net.ipv4.conf.all.kirim_pengalihan=0
net.ipv4.conf.default.kirim_pengalihan=0
net.ipv4.conf.ens33.kirim_pengalihan=0
sysctl-p - bahasa Indonesia
Tambahkan kebijakan
cd /pilihan
ipvsadm -A -t 192.168.233.100:80 -s rr
ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.20:80 -g
ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.30:80 -g
ipvsadm-simpan >/etc/sysconfig/ipvsadm
sistemctl memulai ulang ipvsadm
ipvsadm -ln
Ubah konten tampilan halaman statis
vim /usr/lokal/nginx/html/indeks.html
sistemctl memulai ulang nginx
Tambahkan alamat loopback
cd /etc/sysconfig/skrip-jaringan/
jika cp-lo jika cp-lo:0
vim ifcfg-lo:0
Tambahkan antarmuka lo:0 sebagai vip
rute tambah -host 192.168.233.100 dev lo:0
Tetapkan alamat IP ke 192.168.233.100 dan tambahkan ke antarmuka loopback sebagai VIP lvs. Ini diteruskan ke RS melalui mode perutean, yang memungkinkan VIP untuk mengidentifikasi server sebenarnya.
Ubah respons kernel dari server RS sebenarnya
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.semua.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
Ubah algoritma polling VIP
Ubah bobot dalam jajak pendapat kebijakan
Perbedaan lvs dan nginx untuk loadbalancing
LVS adalah penerusan empat lapis, menggunakan mode kernel ip + port, dan hanya dapat digunakan sebagai proxy empat lapis.
nginx proksi empat lapis, atau proksi tujuh lapis
lvs (mode DR)+nginx+kucing jantan
Berdasarkan percobaan di atas dalam mode DR, pemisahan dinamis dan statis tercapai.
1. Bagian Tomcat
1. Buat halaman dinamis masing-masing di Tomcat1 dan Tomcat2
<%@ halaman bahasa="java" impor="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>Tes JSP1 halaman</title>
</head>
<body>
<% out.println("Halaman dinamis 1, http://www.test1.com");%>
</body>
</html>
2. Tambahkan situs masing-masing ke Tomcat1 dan Tomcat2
cd konfigurasi
vim server.xml
Hapus situs aslinya terlebih dahulu
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
Periksa apakah port telah dimulai
Kunjungi 192.168.233.40:8080/index.jsp
2. bagian nginx
Konfigurasikan nginx2 dan nginx3
cd /usr/lokal/nginx/konf/
cp nginx.conf nginx.conf.bak.2024.07.08
vim nginx.conf
tomcat hulu {
server 192.168.233.40:8080 berat=1;
server 192.168.233.50:8080 berat=1;
}
lokasi ~ .*.jsp$ {
proxy_pass http://tomcat;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $alamat_jarak_jauh;
proxy_set_header X-Diteruskan-Untuk $proxy_add_x_forwarded_for;
}
Kemudian systemctl restart nginx
Konfigurasikan proksi nginx1
Jadilah agen empat tingkat
cd /usr/lokal/nginx/konflik
vim nginx.conf
Kemudian systemctl restart nginx
Kunjungi halaman statis 192.168.100:81
Kunjungi halaman dinamis 192.168.233.100:82/index.jsp
NAT DR TUN
Keuntungan: Terjemahan alamat, konfigurasi sederhana, kinerja WAN terbaik, dapat mencapai penerusan paket data jarak jauh
Kekurangan Kemacetan kinerja Tidak mendukung saluran khusus segmen lintas jaringan, memerlukan pembukaan VPN (membutuhkan biaya)
Persyaratan RS: Tidak ada batasan. Respons ARP pada antarmuka non-fisik harus dinonaktifkan.
Jumlah RS 10-20 unit 100 unit 100 unit
Pertanyaan wawancara:
1. Jelaskan secara singkat tiga mode dan perbedaan lvs
tabel di atas
2. Cara mengatasi otak terbelah di keepalive
Ini adalah arsitektur ketersediaan tinggi di cluster vs, hanya untuk ketersediaan penjadwal yang tinggi
Menerapkan penjadwal utama dan cadangan berdasarkan vrp
Penjadwal utama dan penjadwal cadangan (beberapa unit)
Ketika penjadwal utama bekerja secara normal, pencadangan sepenuhnya dalam keadaan redundan (siaga) dan tidak berpartisipasi dalam pengoperasian cluster. Hanya ketika penjadwal utama gagal, server cadangan akan mengambil alih pekerjaan penjadwal utama. Jika penjadwal utama melanjutkan fungsinya, penjadwal utama akan terus berfungsi sebagai pintu masuk ke cluster, dan siaga akan terus berada dalam keadaan redundan, yang tidak selalu bergantung pada prioritas.
Keepalive didasarkan pada protokol vrp untuk mengimplementasikan solusi ketersediaan tinggi
1.Alamat multicast
224.0.0.18 berkomunikasi berdasarkan alamat multicast, dan mengirimkan pesan antara perangkat primer dan sekunder.Tentukan apakah lawan masih hidup
2. Menentukan jabatan primer dan sekunder berdasarkan prioritas
3. Failover, jika server utama gagal maka server cadangan akan tetap bekerja.Tuhan telah pulih dan bersiaga
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
test1 192.168.233.10 berikutnya
test2 192.168.233.50 detik
alamat 192.168.233.100
nginx1 192.168.233.20
nginx2 192.168.233.30
Klien 192.168.233.40
1. Operasi primer dan sekunder harus dilakukan dengan cara yang sama.
yum -y instal ipvsadm tetap hidup
vim /etc/sysctl.conf
net.ipv4.ip_maju=0
net.ipv4.conf.all.kirim_pengalihan=0
net.ipv4.conf.default.kirim_pengalihan=0
net.ipv4.conf.ens33.kirim_pengalihan=0
sysctl-p - bahasa Indonesia
ipvsadm -C
ipvsadm -A -t 192.168.233.100:80 -s rr
ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.20:80 -g
ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.30:80 -g
ipvsadm-simpan >/etc/sysconfig/ipvsadm
sistemctl memulai ulang ipvsadm
ipvsadm -ln
cd /etc/keepalive
vim tetap hidup.conf