Maison > Article > Opération et maintenance > Comment implémenter une sauvegarde à chaud sur deux machines avec Nginx+Keepalived
一.keepalived
keepalived est un logiciel de service qui garantit la haute disponibilité du cluster. Le nœud ayant une priorité élevée dans le réseau est le maître chargé de répondre au package arp du VIP, indiquant aux autres hôtes du réseau la relation de mappage. entre les adresses VIP et mac, et également en utilisant l'option Envoyer des notifications vrrp au réseau sous forme de multicast pour les informer de leurs priorités. Le nœud de sauvegarde est uniquement responsable du traitement des paquets multicast envoyés par le maître. Lorsqu'il constate que la priorité du maître n'est pas aussi élevée que la sienne, ou qu'il ne reçoit pas la notification vrrp du maître, le nœud de sauvegarde passe lui-même au nœud de sauvegarde. état maître.
2. Configuration de l'environnement
Environnement : qemu-kvm, client debian (9.4.0)
Installation de la machine virtuelle qemu-kvm : Introduction à la technologie de virtualisation qemu-kvm
1. deux machines virtuelles utilisant des instantanés temporaires. Les opérations suivantes doivent être effectuées sur les deux machines virtuelles
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -m 512 -hda vdisk.img -net nic -net bridge,br=br0 -snapshot -nographic
2 Définissez l'IP statique de la machine virtuelle
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 Activez l'IP de la carte réseau
root@debian:~# ip addr del 10.0.0.8/8 dev ens3 // 删除客户机原有ip root@debian:~# ifdown ens3 root@debian:~# ifup ens3
4.
root@debian:~# apt-get install -y nginx keepalived5. Modifiez le fichier /var/www/html/index.nginx-debian.html et ajoutez l'adresse IP actuelle de la machine virtuelle pour marquer le serveur répondant réel
root@debian:~# vi /var/www/html/index.nginx-debian.html …… <h1>welcome to nginx! 10.0.0.3</h1> ……
3. machine virtuelle de nœud (10.0.0.3), machine virtuelle de nœud de secours (10.0.0.4), IP virtuelle (10.0.0.100)
1 Sur la machine virtuelle du nœud principal, modifiez le fichier /etc/keepalived/keepalived.conf.
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 } }
state backup // 设置节点为主节点,节点的初始状态 priority 10 // 节点优先级
3. script de surveillance, modifiez le fichier /root/chk_nginx.sh
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
4. Vérifiez le service
1. Exécutez la commande ip a, le maître. La carte réseau du nœud ens3 a été liée à vip (10.0.0.100)2. Dans Sur la machine virtuelle du nœud de sauvegarde, démarrez les services nginx et keepalived
Exécutez la commande ip a La carte réseau du nœud de sauvegarde. ens3 n'est pas lié à vip (10.0.0.100)
La page Web 10.0.0.3 apparaît, indiquant que le service keepalived a pris effet et que le VIP a été lié au nœud maître
root@debian:~# /etc/init.d/nginx start root@debian:~# /etc/init.d/keepalived start
Exécutez la commande ip a, la carte réseau du nœud principal ens3 n'est pas liée à vip (10.0.0.100)
5. Sur la machine virtuelle du nœud de sauvegarde, interrogez l'adresse IPExécutez la commande ip a, la carte réseau du nœud de sauvegarde ens3 est liée à vip (10.0.0.100) 10.0.0.100. )
6. Le navigateur hôte accède à http://10.0.0.100La page Web de 10.0.0.4 apparaît, indiquant que le service keepalived a pris effet et que le VIP a été lié au nœud de sauvegarde
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!