Keepalived高可用解决方案

keepalived原理

在这里插入图片描述

keepalived搭建

一、安装

rpm -ivh keepalived-1.2.13-5.el6_6.i686.rpm

在这里插入图片描述
二、查看安装路径

rpm -ql keepalived

在这里插入图片描述
已经变成服务启动了

使用chkconfig命令查看服务
在这里插入图片描述
三、重写keepalived.conf配置文件
首先,清空
在这里插入图片描述

! Configuration File for keepalived

#全局配置
global_defs {
   notification_email {  #指定keepalived在发生切换时需要发送email到的对象,一行一个
     XXX@XXX.com
   }
   notification_email_from XXX@XXX.com  #指定发件人
   #smtp_server XXX.smtp.com                             #指定smtp服务器地址
   #smtp_connect_timeout 30                               #指定smtp连接超时时间
   router_id LVS_DEVEL                                    #运行keepalived机器的一个标识
}

vrrp_instance VI_1 { 
    state MASTER           #标示状态为MASTER 备份机为BACKUP
    interface eth1         #设置实例绑定的网卡
    virtual_router_id 51   #同一实例下virtual_router_id必须相同
    priority 100           #MASTER权重要高于BACKUP 比如BACKUP为99  
    advert_int 1           #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
    authentication {       #设置认证
        auth_type PASS     #主从服务器验证方式
        auth_pass 8888
    }
    virtual_ipaddress {    #设置vip
        192.168.200.100       #可以多个虚拟IP,换行即可
    }
}

注意:

  • 主备机的标示状态需要修改,主机位MASTER,备机为BACKUP
  • 绑定的网卡需要修改,可以使用ifconfig命令查看
  • 备机的权重需要修改,备机应该权重小于主机
  • 心跳检测机制的秒数应该在1-3s之间
  • 主备机的验证方式相同
  • 设置同一个虚拟IP

四、启动tomcat和nginx
在这里插入图片描述
五、启动keepalived,查看主机的虚拟ip
在这里插入图片描述
注意:备机没有虚拟ip,如果有,则冲突

六、访问虚拟ip
在这里插入图片描述
此时如果主机挂掉,仍然可以访问该网站

配置完成!

扫描二维码关注公众号,回复: 11493090 查看本文章

keepalived高可用完美解决方案

如果主机硬件完好,系统完好,但只是nginx挂了,该怎么办?
写一个脚本,如果对应机器的nginx挂掉,该机器的keepalived自动挂掉。

一、创建脚本check_nginx.sh,并修改权限
在这里插入图片描述
二、修改keepalived.conf配置文件

#全局配置
global_defs {
   notification_email {  #指定keepalived在发生切换时需要发送email到的对象,一行一个
     XXX@XXX.com
   }
   notification_email_from XXX@XXX.com  #指定发件人
   #smtp_server XXX.smtp.com                             #指定smtp服务器地址
   #smtp_connect_timeout 30                               #指定smtp连接超时时间
   router_id LVS_DEVEL                                    #运行keepalived机器的一个标识
}
vrrp_script check_nginx {
    script "/etc/keepalived/check_nginx.sh"         ##监控脚本
    interval 2                                      ##时间间隔,2秒
    weight 2                                        ##权重
}

vrrp_instance VI_1 {
    state MASTER           #标示状态为MASTER 备份机为BACKUP
    interface eth1         #设置实例绑定的网卡
    virtual_router_id 51   #同一实例下virtual_router_id必须相同
    priority 100           #MASTER权重要高于BACKUP 比如BACKUP为99  
    advert_int 1           #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
    authentication {       #设置认证
        auth_type PASS     #主从服务器验证方式
        auth_pass 8888
    }
    track_script {
        check_nginx        #监控脚本
    }
    
    virtual_ipaddress {    #设置vip

三、重启keepalived,关闭nginx服务

发现关闭了nginx,还是可以访问该ip地址

猜你喜欢

转载自blog.csdn.net/Sakuraaaaaaa/article/details/107461803