文章目录
- 简介
- 安装
- 安装软件
- 启动与停止
- 开机自启动
- 配置
- 基本配置
- keepalived主配置
- keepalived之间的通信
简介
- 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^@^@^@^@"