0
点赞
收藏
分享

微信扫一扫

keepalibed + nginx 实现高可用

两岁时就很帅 2022-03-30 阅读 66

keepalibed

简介

1.1 什么是keepalived

keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

1.2 keepalived 实现主备过程

在这里插入图片描述

两台主机共用一个vip 当主服务挂掉之后keepalived 会将vip 根据优先级转移到备用服务器实现高可用机制,但是要考虑一个问题是,如果主机服务死掉了,keepalived 服务正常是不会进行转换的,这种情况就做脑裂,需要解决这个问题,可以用脚本进行监控,当服务宕机只有将keepalibed 停掉,完成转换

1.3keepalived 安装

[root@VM-24-13-centos ~]# yum -y install -y keepalived
#两台都需要安装

1.4配置node1 为主 node2 为备

node 1node 2
192.168.1.2192.168.1.3

1.4.1 配置node1

[root@VM-24-13-centos ~]#vi  /etc/keepalived/keepalived.conf

#!/binbash

# ! Configuration File for keepalived

global_defs {
    router_id NodeA        #起一个唯一的名字,不能与备机相同
}

vrrp_instance VI_1 {
    state MASTER            # 这里标记为主
    interface eth0          # 这里的必须和你的网卡一致
    virtual_router_id 1     # 这里表示路由的唯一标识与备机一致
    priority 100            # 配置优先级
    advert_int 1
    authentication {
            auth_type PASS
            auth_pass root   # 配置认证密码
     }
     virtual_ipaddress {     # 配置虚拟ip地址,就是开放的地址,与本机ip不同
              192.168.1.254
     }
}

1.4.2配置node2

# ! /bin/bash

# ! Configuration File for keepalived

global_defs {
     router_id NodeB
}

vrrp_instance VI_1 {
      state BACKUP      # 通过BACKUP表示该机器为备机
      interface eth0      # 与网卡一致
      virtual_router_id 1 #与主机一致
      priority 50 
      advert_int 1
      authentication {
             auth_type PASS
             auth_pass root
      }
      virtual_ipaddress { # 看房的虚拟机地址
               192.168.1.254
       }
}

1.5此时配置完成,启动keepalved

[root@VM-24-13-centos ~]#systemctl start keepalived
[root@VM-24-13-centos ~]#systemctl status keepalvied

keepalived
脑裂问题
master 主机会向 backup 发送请求,告诉backup 还活着,这样备机不会接管主机,如果网络延迟导致备机没有接收到主机的请求,这样,备机会接管vip,此时主机还没有死,通常的解决方案为,添加物理心跳线,
或者添加监控脚本,

可以根据所运行的服务进行监控,服务宕机,关停keepalived,

举报

相关推荐

0 条评论