keepalived简介及使用——面向小白

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38637595/article/details/89817638

简介

  • keepalived是一个能实现高可用的软件

  • 什么是高可用?

    • 你可以理解为是当系统中的某个组件发生故障后,系统依旧处于可用状态的一种特性
  • keepalived如何实现高可用?

    • 一种方式是热备(建议百度)
  • 举个例子,现有数据一模一样的服务器A和B

图1 keepalived, 正常情况下
vip
服务器A
服务器B待机
用户
  • 稍微解释下
    • vip是由keepalived生成的一个virtual ip
    • 正常情况下,访问vip就是访问服务器A(一般我们叫服务器A叫
    • 正常情况下,服务器B不对外提供服务(一般我们叫服务器B叫
    • 此时keepalived正在不停地对服务器A和B进行侦查,看看哪台有问题
  • 当服务器A宕机后,keepalived会自动让B来对用户服务
keepalived, 服务器A宕机
vip
服务器B
服务器A宕机
用户
  • 稍微解释下
    • 当keepalived检测到服务器A宕机后,自动让B对用户进行服务
    • 此时,访问vip就是访问服务器B
    • 当我们修好服务器A后,keepalived会自动地让服务器A对用户进程服务

安装

安装软件

yum install -y keepalived

启动与停止

  • 以centos7为例
systemctl start keepalived
systemctl stop keepalived

开机自启动

systemctl enable keepalived

配置

基本配置

  • keepalived默认配置文件是/etc/keepalived/keepalived.conf

keepalived主配置

vrrp_instance VI_1 {
    state MASTER    # keepalived启动时,把此设备当做主
    interface bond0 # vip绑定的网口,你可以理解为,访问vip就是访问这个ip
    virtual_router_id 51    # 一个身份标识,简称vrid
    priority 100    # 权重,权重高的为主,主机的权重要比备机高
    advert_int 1    # 检查间隔,默认为1秒
    authentication {    # 认证,主备要一致
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress { # vip
        192.168.1.100
    }
}
  • keepalived备配置

    • state MASTER–>state BACKUP
    • priority 100–>priority 90
  • 好,我们在来看下图

VI_1
vip 192.168.1.100
服务器A 主 权重100
服务器B 备 权重90
用户
  • 再来解释下
    • vip来自配置文件的virtual_ipaddress
    • 正常情况下,访问vip就是访问服务器A,因为A的权重比B大

keepalived之间的通信

  • keepalived之间通过vrrp协议通信
  • 那么可以通过抓包方式查看,如下
  • 在服务器A上运行tcpdump -s0 -i bond0 -n vrrp可以看到
15:09:38.559031 IP 服务器A的IP > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
  • 意思是在vrid为51的虚拟路由中,服务器A为主,权重为100
  • 想要看得在详细点可以用tcpdump -s0 -i bond0 -n vrrp -vvv
15:31:27.908882 IP (tos 0xc0, ttl 255, id 40522, offset 0, flags [none], proto VRRP (112), length 40)
    服务器A的IP > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20, addrs: 192.168.1.100 auth "1111^@^@^@^@"

猜你喜欢

转载自blog.csdn.net/weixin_38637595/article/details/89817638