标签:nginx star config 通过 文件 router master article 高可用集群
keepalived原理图
IP地址 | 作用 | |
web01 | 172.16.1.7 | 网站 |
lb01 | 172.16.1.5 | 主-负载均衡 |
lb02 | 172.16.1.6 |
1. 服务安装
yum install -y keepalived
systemctl start keepalived.service ---启动
systemctl enable keepalived.sercice ---开机自启
[root@lb01 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { #全局配置 notification_email { acassen@firewall.loc #邮箱地址配置(主服务出现vip切换, 需要进行邮件告知管理员) } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 #邮件信息配置 smtp_connect_timeout 30 router_id lb01 #定义一个高可用集群中节点名称 } vrrp_instance(家族) china { #vrrp协议响应参数配置 数据库-实例 tomcat--实例 state MASTER #指定服务器在高可用服务中的身份(MASTER BACKUP) interface eth0 #指定vip地址出现在哪个网卡上 virtual_router_id 66 #家族标识 priority 150 #设置服务器优先级, 优先级越高, 越有可能成为主 advert_int 1 #主服务器发送组播包间隔 authentication { #配置高可用服务认证信息 auth_type PASS #确认进行组播通讯主机是在一个实例中 auth_pass 1234 } virtual_ipaddress { 10.0.0.3 #定义vip地址信息 } }
2. lb02负载均衡服务器--备
[root@lb02 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { #全局配置 notification_email { acassen@firewall.loc #邮箱地址配置(主服务出现vip切换, 需要进行邮件告知管理员) } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 #邮件信息配置 smtp_connect_timeout 30 router_id lb02 #定义一个高可用集群中节点名称 *主备不一样* } vrrp_instance(家族) china { #vrrp协议响应参数配置 数据库-实例 tomcat--实例 state BACKUP #指定服务器在高可用服务中的身份(MASTER BACKUP) # *主备不一样* interface eth0 #指定vip地址出现在哪个网卡上 virtual_router_id 66 #家族标识 priority 100 #设置服务器优先级, 优先级越高, 越有可能成为主 # *主备不一样* advert_int 1 #主服务器发送组播包间隔 authentication { #配置高可用服务认证信息 auth_type PASS #确认进行组播通讯主机是在一个实例中 auth_pass 1234 } virtual_ipaddress { 10.0.0.3 #定义vip地址信息 } }
[root@lb02 scripts]# cat monitor_vip.sh #!/bin/bash vip_info="10.0.0.3" ip a s eth0|grep "$vip_info" >/dev/null REVAL=$? if [ $REVAL -eq 0 ] then echo "pls check keepalived server" |mail -s "keepalived error" XXXX@qq.com fi
[root@lb02 scripts]# crontab -e * * * * * /bin/sh /server/scripts/monitor_vip.sh &>/dev/null
2. 实现监控nginx服务状态, 进行主备切换
nginx出现错误状态码或者服务端口没有显示进行警告
方法一: 实现秒级执行监控脚本 #!/bin/bash ps_num=$(ps -ef|grep -c n[g]inx) while true do if [ $ps_num -lt 2 ] then systemctl stop keepalived fi sleep 2 do
[root@lb01 ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id lb01 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 50 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.3 } }
backup 文件
[root@lb02 ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id lb02 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 50 priority 100 nopreempt advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.3 } }
标签:nginx star config 通过 文件 router master article 高可用集群
原文地址:https://www.cnblogs.com/Mercury-linux/p/12359515.html