1.KeepAlived基本思想:
调度器的备份—集群
- 当调度器server1损坏,客户端就彻底不能访问。为了防止这种情况的出现,应备份调度器,实现调度器的高可用
- 时刻保证调度器的正常工作:设置调度器的master(主调度器)和调度器backup(备用调度器)
- 在两台调度器上使用keepalived服务就可以将两个调度器关联在一起,keepalived服务可检测两个调度器的工作情况:如果LVS损坏停止运行,客户端就彻底访问不到任何信息,
配置一个高可用的LVS可解决该问题 - 使用keeplived代理LVS,它具有LVS的功能,但同时可以有多个,有主有备:当主调度器损坏,不返回给备用调度器任何消息的时候,备用调度器就会自动替换上去,接管主调度器的工作;当主调度器恢复,keepalived就会通知备份调度器,备用调度器就会把任务还给主调度器
vrrp协议:虚拟路由冗余协议,一个master,多个backup(当master发出故障信息时,该协议会选出一个backup作为新的master)
2.搭建DR模式下的KeepAlived高可用
主机 | 功能(服务) |
---|---|
server1(172.25.18.1) | master主调度器 |
server4(172.25.18.4) | backup备调度器 |
server2(172.25.18.2) | 真正的web服务器1 |
server3(172.25.18.3) | 真正的web服务器2 |
真机172.25.18.250 | 客户端,用来测试 |
(1)客户端(真机)中:添加一个快照虚拟机server4,配置网络,设置主机名,配置yum源
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b rhel7.3.qcow2 server4
(2)server1/server2/server3:卸载隧道模式,添加172.25.18.100到网卡eth0,使用直接路由模式
modprobe -r ipip
卸载隧道模式
ip addr add 172.25.18.100/24 dev eth0
ip a
(3)添加策略:
ipvsadm -A -t 172.25.18.100:80 -s rr
ipvsadm -a -t 172.25.18.100:80 -r 172.25.18.2:80 -i
ipvsadm -a -t 172.25.18.100:80 -r 172.25.18.3:80 -i
ipvsadm -ln
systemctl restart ipvsadm
cat /etc/sysconfig/ipvsadm
(4)主调度器server1/备用调度器server4:下载安装包,编译安装
scp /etc/keepalived/keepalived.conf root@172.25.18.4:/etc/keepalived/
将keepalived安装包传给server4加粗样式
tar zxf keepalived-2.0.17.tar.gz
解压
cd keepalived-2.0.17
进入解压后的目录
yum install -y openssl-devel gcc
(需要进行源码编译)
./configure --prefix=/usr/local/keepalived --with-init=systemd
编译
make && make install
安装
cd /usr/local/keepalived/
进入安装目录
ln -s cd /usr/local/keepalived/etc/keepalived/ /etc/
建立软链接
(5)主调度器server1:
/etc/init.d/ldirectord stop
关闭健康检测
chkconfig --list
查看状态
chkconfig ldirectord off
设置开机不启动
chkconfig --list
(6)主调度器server1:
vim /etc/keepalived/keepalived.conf
编辑主节点keepalived的配置文件
systemctl start keepalived.service
开启keepalived服务
(7)备用调度器server4:
vim /etc/keepalived/keepalived.conf
编辑备用节点keepalived的配置文件
(8)客户端测试:curl 172.25.18.100
两个后端web服务器轮询调度
ip a
入口地址(172.25.18.100)自动添加到了主调度器的网卡eth0上面
(9)后端服务器server:停止服务
systemctl stop httpd
(10)客户端测试:curl 172.25.18.100
(11)主调度器server1:
yum install -y mailx
mail
systemctl stop keepalived.service
关闭server1上面的keepalived,发现入口地址漂移到了server4的上面
(12)备用调度器server4:
ip a
关闭server1上面的keepalived后,入口地址(172.25.18.100)漂移到了server4的网卡eth0上,此时客户端仍然可以正常访问,可知客户端在访问资源时感知不到主调度器与备用调度器的切换
注意:当主调度器恢复工作时,备用调度器会把任务还给主调度器,原因是主调度器优先级高于备用调度器