keepalived 双机主备
主机配置
-
安装
到https://keepalived.org/download.html 官网下载
wget https://keepalived.org/software/keepalived-2.2.2.tar.gz
tar -zxvf keepalived-2.2.2.tar.gz
创建makefile 文件
./configure --prefix=/usr/local/keepalived --sysconf=/etc
make
make install
-
注册成系统服务
进入
keepalived/etc
下面先拷贝到系统的etc下面,提示覆盖就直接覆盖
cp init.d/keepalived /etc/init.d/
cp sysconfig/keepalived /etc/sysconfig
再刷新一下
systemctl daemon-reload
-
配置
核心配置文件在前面指定的
/etc/keepalived
下面的keepalived.conf
文件中! Configuration File for keepalived global_defs { # 路由id: 当前安装keepalived节点主机的标识符,全局唯一 router_id keep_96 } # 计算机节点 vrrp_instance VI_1 { # 表示状态是MASTER主机还是备用机BACKUP state MASTER # 该实例绑定的网卡 通过 ip addr 查看网卡信息 interface enp0s3 # 保证主备节点一致即可 virtual_router_id 51 # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选 priority 100 # 主备之间同步检查时间间隔(心跳),单位秒 advert_int 1 # 认证权限密码,防止非法节点进入 authentication { auth_type PASS auth_pass 1111 } # 虚拟出来的ip,可以有多个(vip) virtual_ipaddress { 192.168.31.196 } }
-
启动
到安装路径
/usr/local/keepalived
文件下面的sbin
内执行./keepalived
或者前面注册成系统服务的也可以通过
systemctl start keepalived.service
来操作此时访问192.168.31.196也能访问到这台主机
双机主备
在另外一台主机上按上述步骤安装后修改核心配置文件keepalived.conf
文件
! Configuration File for keepalived
global_defs {
# 路由id: 当前安装keepalived节点主机的标识符,全局唯一
router_id keep_226
}
# 计算机节点 名称不需要修改
vrrp_instance VI_1 {
# 状态修改为BACKUP
state BACKUP
# 查看修改网卡信息
interface enp0s3
# 保证主备节点一致即可
virtual_router_id 51
# 权重修改比主节点小
priority 80
# 主备之间同步检查时间间隔(心跳),单位秒
advert_int 1
# 认证权限密码,防止非法节点进入
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟出来的ip,配置和主节点的一样
virtual_ipaddress {
192.168.31.196
}
}
此时ip addr
查看信息,发现keepalived并未绑定192.168.31.196的ip
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:19:36:03 brd ff:ff:ff:ff:ff:ff
inet 192.168.31.226/24 brd 192.168.31.255 scope global dynamic noprefixroute enp0s3
valid_lft 18581sec preferred_lft 18581sec
inet6 240e:3a1:43f:8b0:a00:27ff:fe19:3603/64 scope global dynamic noprefixroute
valid_lft 7172sec preferred_lft 7172sec
inet6 fe80::a00:27ff:fe19:3603/64 scope link noprefixroute
valid_lft forever preferred_lft forever
当去主机的服务器执行systemctl stop keepalived.service
关闭 keepalived 后
执行ip addr
查看信息, 发现备用机生效绑定了192.168.31.196的ip
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:19:36:03 brd ff:ff:ff:ff:ff:ff
inet 192.168.31.226/24 brd 192.168.31.255 scope global dynamic noprefixroute enp0s3
valid_lft 18313sec preferred_lft 18313sec
inet 192.168.31.196/32 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 240e:3a1:43f:8b0:a00:27ff:fe19:3603/64 scope global dynamic noprefixroute
valid_lft 7135sec preferred_lft 7135sec
inet6 fe80::a00:27ff:fe19:3603/64 scope link noprefixroute
valid_lft forever preferred_lft forever
此时再去主机的服务器执行systemctl start keepalived.service
恢复启动 keepalived 后,会发现备用机解绑ip,主机接管