千家信息网

keepalived双主以及nginx+keepalived实现高可用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、keepalive实现双主:1.1实验准备2台主机地址分别为:172.20.10.9,172.20.10.10,vip1为172.20.10.10,vip2为172.20.10.111.2通知脚本
千家信息网最后更新 2026年11月02日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安全错误 数据库的锁怎样保障安全 互联网黑科技 易通互联网络科技有限公司 广州凡科互联网科技 华脉科技工业互联网产品 哈尔滨新华互联网科技学院 字节跳动和互联网科技 上海宁丞科技互联网 中国航天科技大学国际工业互联网 湖南一路畅行互联网科技 晓花互联网科技有限公司网址 坤平互联网科技 佛山市翊博互联网络科技有限公司 爱医互联网络科技 朱啸虎曾投资哪些互联网科技企业 互联网科技如何创业 中科明德北京互联网科技 本届互联网大会上的黑科技 南京一网一红互联网科技有限公司 亚光科技低轨卫星互联网 高科技和互联网的现代国家 互联网与科技 百单互联网科技有限公司 博兴的互联网电子科技公司 中盈科技互联网信息有限公司 南平创想时代互联网科技有限公司 坤平互联网科技 乌鲁木齐新华智原互联网科技学校 互联网企业科技类企业如何做账 信承诺互联网科技有限公司 互联网时代高科技布局
0