Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

王林
王林ke hadapan
2023-05-29 20:29:351034semak imbas

1.keepalived

keepalived ialah perisian perkhidmatan yang memastikan ketersediaan tinggi kluster Nod dengan keutamaan tinggi dalam rangkaian ialah induk, yang bertanggungjawab untuk bertindak balas kepada Pakej arp VIP dan pemetaan alamat VIP dan mac Perhubungan memberitahu hos lain dalam rangkaian dan juga akan menghantar pemberitahuan vrrp ke rangkaian dalam bentuk multicast untuk memaklumkan keutamaan mereka. Nod sandaran hanya bertanggungjawab untuk memproses paket berbilang hantaran yang dihantar oleh induk Apabila ia mendapati bahawa keutamaan induk tidak setinggi miliknya, atau ia tidak menerima pemberitahuan vrrp daripada induk, nod sandaran akan menukar dirinya kepada nod sandaran. negeri tuan.

2. Persediaan persekitaran

  1. Persekitaran: qemu-kvm, klien debian (9.4.0)

  2. Pemasangan qemu-kvm mesin maya: Bermula dengan teknologi virtualisasi qemu-kvm

1 Gunakan syot kilat sementara untuk mencipta dua mesin maya mesin maya >

faramita2016@linux-l9e6:~> qemu-kvm -cpu host -m 512 -hda vdisk.img -net nic -net bridge,br=br0 -snapshot -nographic

5 Ubah suai fail /var/www/html/index.nginx-debian.html dan tambahkan IP mesin maya semasa untuk menandakan pelayan bertindak balas sebenar

root@debian:~# cat /etc/network/interfaces
# the primary network interface
allow-hotplug ens3
#iface ens3 inet dhcp
iface ens3 inet static
address 10.0.0.3  // 设置ip
netmask 255.0.0.0
gateway 10.0.0.1
hwaddress ether 52:54:00:12:34:53  // 设置mac地址


3. Konfigurasi perisian

Mesin maya nod induk (10.0.0.3), mesin maya nod sandaran (10.0.0.4), ip maya (10.0.0.100)

Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

1 Pada mesin maya nod utama, edit fail /etc/keepalived.conf

root@debian:~# ip addr del 10.0.0.8/8 dev ens3  // 删除客户机原有ip
root@debian:~# ifdown ens3
root@debian:~# ifup ens3
2 /keepalived.conf, kecuali item berikut, Lain-lain adalah sama dengan nod induk
root@debian:~# apt-get install -y nginx keepalived

3 Laksanakan pada semua nod, buat skrip pemantauan, edit fail /root/chk_nginx.sh

root@debian:~# vi /var/www/html/index.nginx-debian.html 
……
<h1>welcome to nginx! 10.0.0.3</h1>
……
.

4. Perkhidmatan pengesahan

1. Mesin maya nod induk, mulakan perkhidmatan nginx dan keepalived

root@debian:~# cat /etc/keepalived/keepalived.conf 
global_defs {
  router_id ri_1  // 标识当前keepalived节点
}

vrrp_script chk_nginx {
  script "/root/chk_nginx.sh"  // 定义监控脚本
  interval 2  // 执行监控脚本的闹中间隔时间
}

vrrp_instance vi_1 {
  state master  // 设置节点为主节点,节点的初始状态
  interface ens3  // 设置绑定虚拟ip的网络接口
  virtual_router_id 50  // vrrp组名,指明节点同属一个组
  priority 100  // 节点优先级,主节点应当高于备用节点
  advert_int 1  // 组播信息发送间隔

  #nopreempt  // 禁止抢占服务,只对备用节点生效,主节点根据priority优先级进行抢占,不受nopreempty控制

  authentication {
    auth_type pass  // 设置认证方式
    auth_pass 123456  // 密码
  }

  virtual_ipaddress {
    10.0.0.100/24  // 设置vip
  }

  track_script {  // 调用监控脚本
    chk_nginx
  }
}

Jalankan arahan ip a, kad rangkaian nod induk ens3 telah terikat kepada vip (10.0 .0.100)

2 Pada mesin maya nod sandaran, mulakan perkhidmatan nginx dan keepalived

state backup  // 设置节点为主节点,节点的初始状态
  priority 10  // 节点优先级

. Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

Laksanakan perintah ip a dan kad rangkaian nod sandaran ens3 Unbound vip (10.0.0.100)

3. 0.100

Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

dan 10.0 muncul halaman web, menunjukkan bahawa perkhidmatan keepalived telah berkuat kuasa dan vip telah terikat pada nod induk

4. Dalam mesin maya nod induk, tutup perkhidmatan nginx dan simulasikan masa henti

root@debian:~# vi /root/chk_nginx.sh 
#!/bin/bash
a=`ps -c nginx --no-header | wc -l`
if [ $a -eq 0 ]
then
  /etc/init.d/keepalived stop
fi

Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

Laksanakan arahan ip a, kad rangkaian nod utama ens3 tidak terikat ke vip (10.0.0.100)

5 Pada mesin maya nod sandaran, tanya ip

Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

Jalankan arahan ip a, kad rangkaian nod sandaran ens3 telah terikat kepada vip (10.0.0.100)

6 Penyemak imbas hos mengakses http://10.0.0.100

Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin

<.>Halaman web 10.0.0.4 muncul, menunjukkan bahawa perkhidmatan keepalived telah berkuat kuasa dan VIP telah terikat pada nod sandaran

Atas ialah kandungan terperinci Bagaimana Nginx+Keepalived merealisasikan sandaran panas dwi-mesin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam