keepalived双主以及nginx+keepalived实现高可用
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,一、keepalive实现双主:1.1实验准备2台主机地址分别为:172.20.10.9,172.20.10.10,vip1为172.20.10.10,vip2为172.20.10.111.2通知脚本
千家信息网最后更新 2025年01月31日keepalived双主以及nginx+keepalived实现高可用
一、keepalive实现双主:
1.1实验准备
2台主机地址分别为:172.20.10.9,172.20.10.10,
vip1为172.20.10.10,vip2为172.20.10.11
1.2通知脚本:
[root@node5 /]# vim /etc/keepalived/notify.sh #!/bin/bashcontact='root@localhost'notify() { local mailsubject="$(hostname) to be $1, vip floating" local mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1" echo "$mailbody" | mail -s "$mailsubject" $contact}case $1 inmaster) notify master ;;backup) notify backup ;; fault) notify fault ;; *) echo "Usage: $(basename $0) {master|backup|fault}" exit 1 ;;esac
1.3配置node5为vip1地址的主节点,vip2地址的备节点
[root@node5 ~]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node5 vrrp_mcast_group4 224.0.100.19}vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.20.10.10/28 dev ens33 label ens33:0 } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault"}vrrp_instance VI_2 { state BACKUP interface ens33 virtual_router_id 52 priority 98 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.20.10.11/28 dev ens33 label ens33:1 } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault"}
1.4配置node6为vip1地址的备节点,vip2地址的主节点
[root@node6 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node5 vrrp_mcast_group4 224.0.100.19}vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 51 priority 98 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.20.10.10/28 dev ens33 label ens33:0 } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault"}vrrp_instance VI_2 { state MASTER interface ens33 virtual_router_id 52 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.20.10.11/28 dev ens33 label ens33:1 } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault"}
1.5验证:
(1)先开启node6节点的keepalived服务,查看IP地址,状态:
2个VIP地址都在node6节点上:
(2)再开启node5节点keepalived服务,查看IP地址和状态:
VIP1地址已经飘到了node5节点上了
二,Nginx+Keepalived实现站点高可用
2.1实验准备:
2台主机:node5地址为172.20.10.9,node6的节点为172.20.10.8
vip地址为172.20.10.10
2.2nginx配置
(1)node5节点
[root@node5 ~]# yum install nginx -y[root@node5 /]# vim /usr/share/nginx/html/index.html node5 web page[root@node5 ~]# systemctl start nginx
(2)node6节点
[root@node6 /]# yum install -y nginx[root@node6 /]# vim /usr/share/nginx/html/index.html node6 web page[root@node6 ~]# systemctl start nginx
2.3配置node5为vip的主节点,配置检查nginx的监控脚本:
[root@node5 /]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node5 vrrp_mcast_group4 224.0.100.19}vrrp_script chk_nginx { script "/usr/bin/killall -0 nginx && exit 0 || exit 1 " interval 1 weight -5 fall 2 rise 1}vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.20.10.10/28 dev ens33 label ens33:0 } track_script { chk_nginx } track_interface { ens33 } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault"}[root@node5 keepalived]# systemctl start keepalived
2.4配置node6为vip的备节点,配置检查nginx的监控脚本:
[root@node6 /]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node5 vrrp_mcast_group4 224.0.100.19}vrrp_script chk_nginx { script "/usr/bin/killall -0 nginx && exit 0 || exit 1 " interval 1 weight -5 fall 2 rise 1}vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 51 priority 98 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.20.10.10/28 dev ens33 label ens33:0 } track_script { chk_nginx } track_interface { ens33 } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault"}[root@node6 html]# systemctl start keepalived
3.验证:
3.1当服务都正常时,vip地址在node5节点上,测试访问172.20.10.10的情况:
3.2当down掉node5节点上nginx服务时,观察vip地址和其访问情况:
vip地址飘到node6节点上,curl172.20.10.10,则访问的时node6节点
3.3当恢复node5节点上nginx服务时,vip地址飘到node5节点上,访问172.20.10.10则是node5上nginx
节点
地址
配置
服务
脚本
主机
情况
状态
准备
实验
检查
监控
验证
站点
别为
测试
观察
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发维护框架合同
服务器怎么连接电脑打印机
网络安全专员自我介绍
刀塔传奇手游服务器端下载
江西 软件开发
构建网络安全防线宣传标语
如何评定软件开发的好
公安网络安全专业学校
郑州汇众网络技术有限公司
服务器端口的密码是什么
天津鼎森网络技术有限公司
武汉时波网络技术有限公司
网络安全模式的英文字母
网络技术不正当竞争
魔兽世界合并的服务器有哪些
软件开发对人的危害
如何建立中心数据库
连云港礼朵拉网络技术有限公司
聊天数据会存在服务器上吗
铁路网络安全事件分级
界面软件开发工具
数据库连接密码加密
数据库下载就可以使用吗
数据库专家比较推荐的书籍
网络安全竞赛评估
小米云服务器解析失败
2020级网络技术应用考试
工业网络技术有用吗
深圳市鑫城软件开发有限公司
软件开发高级经理岗位职责