下载地址
主机环境
hostname | ip |
---|---|
master | 192.168.0.1 |
slave | 192.168.0.2 |
keepalived 安装
# on master |slave
cd keepalived
# install dep gcc lib
yum install libnl3-devel libnl3 openssl openssl-devel gcc make -y
cd keepalived
# 安装到默认位置
./configure
make && make install
keepalived文件配置
on hostname master
[root@master sysconfig]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id keep1 # 这是keepalive服务在本台机器的唯一标识
}
vrrp_instance VI_1 { # 设置虚拟vip
state MASTER # 角色
interface eth0 # 绑定的网卡
virtual_router_id 51 # 保证主备节点一致即可
priority 100 # 权重
advert_int 2 # 主备之间同步检查的时间间隔
authentication { # 权限认证密码
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { # 虚拟出来的ip,可以有个多
192.168.0.111
}
}
vrrp_instance VI_2 { # 设置虚拟vip
state BACKUP # 角色
interface eth0 # 绑定的网卡
virtual_router_id 52 # 保证主备节点一致即可,用来识别master和slave的对应关系
priority 10 # 权重
advert_int 2 # 主备之间同步检查的时间间隔
authentication { # 权限认证密码
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { # 虚拟出来的ip,可以有个多
192.168.0.112
}
}
on hostname slave
[root@slave sysconfig]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id keep2 # 这是keepalive在本台机器的唯一标识
}
vrrp_instance VI_1 { # 设置虚拟vip
state BACKUP # 角色
interface eth0 # 绑定的网卡
virtual_router_id 51 # 保证主备节点一致即可
priority 10 # 权重
advert_int 2 # 主备之间同步检查的时间间隔
authentication { # 权限认证密码
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { # 虚拟出来的ip,可以有个多
192.168.0.111
}
}
vrrp_instance VI_2 { # 设置虚拟vip
state MASTER # 角色
interface eth0 # 绑定的网卡
virtual_router_id 52 # 保证主备节点一致即可,用来识别唯一虚拟master和slave的对应关系
priority 100 # 权重
advert_int 2 # 主备之间同步检查的时间间隔
authentication { # 权限认证密码
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { # 虚拟出来的ip,可以有个多
192.168.0.112
}
}
启动keepalived
# on master|slave
keepalived # 因为使用了默认安装方式,故通常keepalive会在/usr/sbin/目录下面,root可以直接执行
当开启两个keepalived后,会发现,在master的eth0 上,产生了新的ip地址
192.168.0.111
,在slave的eth0上,产生了新的ip地址192.168.0.112
,当master挂掉后,我们可以选择kill掉master的keepalived,killall keepalived
,会发现在slave的eth0上,192.168.0.111
也会绑定在eth0上。masterkeepalived服务恢复后,会发现192.168.0.111
会绑定到master的eth0上,这和权重有关系后,ip会绑定到virtual_router_id相同的的ip的权重最高的点上面