一、keepalived原理
原理:大致是接受对VIP的ARP请求时,将MASTER的MAC地址返回。
推荐阅读:
二、实战
主备方案
a.配置172.20.10.4 keepalived配置文件
global_defs {
# 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
router_id keep_104
}
vrrp_instance VI_1 {
# 表示状态是MASTER主机还是备用机BACKUP
state BACKUP
# 该实例绑定的网卡名称
interface ens33
# 保证主备节点一致即可
virtual_router_id 51
# 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁>就当选
priority 100
# 主备之间同步检查时间间隔,单位秒
advert_int 2
# 认证权限密码,防止非法节点进入
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟出来的ip,可以有多个(vip)
virtual_ipaddress {
192.168.1.2
}
}
b.启动nginx + keepalived
/etc/init.d/nginx start
/etc/init.d/keepalived start
c.配置172.20.10.8 keepalived配置文件
global_defs {
# 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
router_id keep_104
}
vrrp_instance VI_1 {
# 表示状态是MASTER主机还是备用机BACKUP
state MASTER
# 该实例绑定的网卡名称
interface ens33
# 保证主备节点一致即可
virtual_router_id 51
# 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁
就当选
priority 100
# 主备之间同步检查时间间隔,单位秒
advert_int 2
# 认证权限密码,防止非法节点进入
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟出来的ip,可以有多个(vip)
virtual_ipaddress {
192.168.1.2
}
}
d.分别启动nginx 和 keepalived
/etc/init.d/nginx start
/etc/init.d/keepalived start
e.结果:
f:停止主的keepalived
2.双主备方案
a.172.20.10.4 /etc/keepalived/keepalived.conf 中继续添加配置
vrrp_instance VI_2 {
# 表示状态是MASTER主机还是备用机BACKUP
state MASTER
# 该实例绑定的网卡名称
interface ens33
# 保证主备节点一致即可
virtual_router_id 52
# 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁>就当选
priority 100
# 主备之间同步检查时间间隔,单位秒
advert_int 2
# 认证权限密码,防止非法节点进入
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟出来的ip,可以有多个(vip)
virtual_ipaddress {
192.168.1.3
}
}
b.172.20.10.8 /etc/keepalived/keepalived.conf 中继续添加配置
rrp_instance VI_2 {
# 表示状态是MASTER主机还是备用机BACKUP
state BACKUP
# 该实例绑定的网卡名称
interface ens33
# 保证主备节点一致即可
virtual_router_id 52
# 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁
就当选
priority 100
# 主备之间同步检查时间间隔,单位秒
advert_int 2
# 认证权限密码,防止非法节点进入
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟出来的ip,可以有多个(vip)
virtual_ipaddress {
192.168.1.3
}
}
将两台机器的keepalived 重启
c.现象
访问192.168.1.2
访问192.168.1.3