Keepalived 高可用功能实现的简单原理为,两台主机同时安装好 Keepalived 软件并启动
服务,开始正常工作时,有主 Master 获得所有资源并对用户提供服务,角色 Backup 作为
Master 的热备;当 Master 的主机失效或者出现故障时,角色为 Backup 的主机将自动接管
Master 的所有工作,包括接管 VIP 资源及相应资源服务;而当 Master 主机故障修复后,有会
自动接管回他原来处理的工作,Backup 的主机则同时释放 Master 主机失效时它接管的工作,
此时,两台主机将恢复到最初启动时各自的原始角色及工作状态。
单实例主备模式 Keepalived 的简单配置:
环境:[root@base_04 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
base_04 172.25.77.4 MASTER
base_05 172.25.77.5 BACKUP
安装包:keepalived-1.2.24.tar.gz
tar xf keepalived-1.2.24.tar.gz
yum -y install openssl-devel gcc
./configure --prefix=/usr/local/keepalived
Make & make install
mkdir /etc/keepalived
cp /usr/local/keepalived /etc/keepalived/keepalived.conf
cp /usr/local/keepalived /etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived /etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived /sbin/keepalived /usr/sbin/
Vim /etc/keepalived/keepalived.conf //Master 配置文件修改
-----------------------------------------
! Configuration File for keepalived
global_defs {
router_id base_04 #唯一标示
}
vrrp_instance VI_1 { #实例名
state MASTER #角色状态
interface eth0 #通信接口,必须主备一致
virtual_router_id 51 #实例 ID
priority 100 #竞选优先级,master 必须大于 backup
advert_int 1 #通信检查间隔 1s
authentication {
auth_type PASS #PASS 认证类型,必须主备一致
auth_pass 1111 #密码是 1111,必须主备一致
}
virtual_ipaddress {
172.25.77.100/24 dev eth0 #虚拟 IP,即 VIP 为 172.25.77.100,子网掩傌为 24 位,必须主备一致
}
}
[root@base_04 keepalived]# /etc/init.d/keepalived start
Starting keepalived:
Base_05:
Vim /etc/keepalived/keepalived.conf //backup 配置文件修改
------------------------------------------
! Configuration File for keepalived
global_defs {
router_id base_05 #唯一标示
}
vrrp_instance VI_1 { #实例名
state BACKUP #角色状态
interface eth0 #通信接口,必须主备一致
virtual_router_id 51 #实例 ID
priority 80 #竞选优先级,master 必须大于 backup
advert_int 1 #通信检查间隔 1s
authentication {
auth_type PASS #PASS 认证类型,必须主备一致
auth_pass 1111 #密码是 1111,必须主备一致
}
virtual_ipaddress {
172.25.77.100/24 dev eth0
#虚拟 IP,即 VIP 为 172.25.77.100,子网掩傌
为 24 位,必须主备一致
}
}
---------------------------------------------------
[root@base_05 keepalived]# /etc/init.d/keepalived start
Starting keepalived:
[ OK ]
测试:
[root@base_04 keepalived]# ip addr | grep 172.25.77.100
inet 172.25.77.100/24 scope global secondary eth0
[root@base_05 keepalived]# ip addr | grep 172.25.77.100
[root@base_05 keepalived]#
[root@base_04 keepalived]# /etc/init.d/keepalived stop
Stopping keepalived:
[ OK ]
[root@base_04 keepalived]# ip addr | grep 172.25.77.100
[root@base_04 keepalived]#
[root@base_05 keepalived]# ip addr | grep 172.25.77.100
inet 172.25.77.100/24 scope global secondary eth0
[root@base_04 keepalived]# /etc/init.d/keepalived start
Starting keepalived:
[ OK ]
[root@base_04 keepalived]# ip addr | grep 172.25.77.100inet 172.25.77.100/24 scope global secondary eth0
这样就实现了简单的主备 keepalived 高可用实例;其实更直观的可以用 web 来测试;
Keepalived 高可用软件
最新推荐文章于 2022-12-28 11:18:18 发布