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
Persekitaran: qemu-kvm, klien debian (9.4.0)
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
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
root@debian:~# ip addr del 10.0.0.8/8 dev ens3 // 删除客户机原有ip root@debian:~# ifdown ens3 root@debian:~# ifup ens3
root@debian:~# apt-get install -y nginx keepalived
root@debian:~# vi /var/www/html/index.nginx-debian.html …… <h1>welcome to nginx! 10.0.0.3</h1> ……
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 // 节点优先级
.
Laksanakan perintah ip a dan kad rangkaian nod sandaran ens3 Unbound vip (10.0.0.100)
3. 0.100
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
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
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
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!