Nginx+keepalived双机热备(主主模式)
2024-08-29 05:33:42
IP说明:
master机器(master-node):10.0.0.5/172.16.1.5 VIP1:10.0.0.3
slave机器(slave-node): 10.0.0.6/172.16.1.6 VIP2:10.0.0.4
注意事项:
双主配置:MASTER-BACKUP和BACKUP-MASTER;
如果是三主,就是MATER-BACKUP-BACKUP、BACKUP-MASTER-BACKUP和BACKUP-BACKUP-MASTER;
配置中的虚拟路由标识virtual_router_id在MASTER和BACKUP处配置不能一样,但在主从模式下配置是一样的.
1.master上的keepalived配置
global_defs {
notification_email {
174646513@qq.com
}
notification_email_from 17461651@qq.com
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id lb01
} vrrp_script chk_http_port {
script "/service/scripts/chk_nginx.sh"
interval 2
weight -5
fall 2
rise 1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
mcast_src_ip 10.0.0.5
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.3
} track_script {
chk_http_port
}
notify_master "/etc/keepalived/clean_arp.sh 10.0.0.3"
} vrrp_instance VI_2 {
state BACKUP
interface eth0
mcast_src_ip 10.0.0.6
virtual_router_id 52
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.4
} track_script {
chk_http_port
}
notify_master "/etc/keepalived/clean_arp.sh 10.0.0.4"
}
2.更新vip的arp记录到网关的脚本
cat /etc/keepalived/clean_arp.sh
#!/bin/sh
VIP=$1
GATEWAY=10.0.0.2 # 负载均衡器的网关地址
/sbin/arping -I em1 -c 5 -s $VIP $GATEWAY &>/dev/null
chmod 755 /etc/keepalived/clean_arp.sh
3.slave上的keepalived配置
global_defs {
notification_email {
174646513@qq.com
}
notification_email_from 17461651@qq.com
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id lb01
} vrrp_script chk_http_port {
script "/service/scripts/chk_nginx.sh"
interval 2
weight -5
fall 2
rise 1
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
mcast_src_ip 10.0.0.5
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.3
} track_script {
chk_http_port
}
notify_master "/etc/keepalived/clean_arp.sh 10.0.0.3"
} vrrp_instance VI_2 {
state MASTER
interface eth0
mcast_src_ip 10.0.0.6
virtual_router_id 52
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.4
} track_script {
chk_http_port
}
notify_master "/etc/keepalived/clean_arp.sh 10.0.0.4"
}
在测试机10.0.0.51上修改/etc/hosts文件,将三个域名分别指向10.0.0.3、10.0.0.4,测试--正常.
双主模式总结:谁是MASTER,谁的优先级就高,谁的虚拟IP就生效.
双主模式参考博客:https://www.cnblogs.com/kevingrace/p/6146031.html
最新文章
- 浅谈P2P金融
- Javascript如何实现AOP
- Android实现页面跳转及传递参数的方法
- List<;T>;.Sort() 排序的用法
- oracle 删除用户,表空间;循环删除表
- AngularJS: 自定义指令与控制器数据交互
- web项目中获取各种路径的方法
- zookeeer 集群和伪集群模式
- 倒水问题(Fill,UVA 10603) lrj白书 p202
- 《java.util.concurrent 包源码阅读》02 关于java.util.concurrent.atomic包
- 深入浅出解读 Java 虚拟机的差别测试技术
- Java开发笔记(七十一)容器工具Collections
- Java中list如何利用遍历进行删除操作
- MySql错误处理(三)- 错误处理的例子
- 【Java】系统漏洞:关于用户登录后操作的注意事项
- sparkSQL整体实现框架
- javascript中filter方法
- TF linear regression
- /etc/default/useradd
- java指令详解