简介:
keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能——判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机修复后将其重新加入群集。
Keepalived采用VRRP(Virtual Router Redundancy Protocl,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。
实验拓扑:

实验环境:
序号
名称
类型
IP地址
1
keepalived 主
centos7
192.168.10.10
2
keepalived 从
centos7
192.168.10.20
3
节点服务器 web1
centos7
192.168.10.100
4
节点服务器 web2
centos7
192.168.10.200
5
客户机 client
centos7
192.168.10.15
实验过程:
一、调度服务器
1、安装环境部署、关闭防火墙、安全功能,两台调度服务器相同操作
[root@localhost ~]#yum install keepalived ipvsadm -y
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0
2、修改网卡为仅主机模式,配置静态IP,两台调度服务器相同操作,DR 1:192.168.10.10 DR 2:192.168.10.20
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]#service network restart

3、开启路由功能、关闭重定向功能,两台调度服务器相同操作
[root@localhost ~]#vi /etc/sysctl.conf
[root@localhost ~]#sysctl -p

4、配置虚拟IP,并开启。注意:如果DR开启虚拟网卡时报错,可用 service network restart 重启网卡,再次开启即可成功。
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]#vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.10.2
NETMASK=255.255.255.0
[root@localhost ~]#ifup ens33:0
DR 1:

DR 2:

5、编辑服务脚本,并执行,两台调度服务器相同操作
[root@localhost ~]# cd /etc/init.d/
[root@localhost ~]#vim dr.sh
[root@localhost ~]#chmod +x dr.sh
[root@localhost ~]#service dr.sh start
二、节点服务器
1、安装环境部署,关闭防火墙、安全功能,两台节点服务器同样操作
[root@localhost ~]#yum install httpd -y
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0
2、开启网页服务,并设置测试页面,web1和web2测试页面加以区分
[root@localhost ~]#systemctl start httpd.service
[root@localhost ~]#cd /var/www/html/
[root@localhost html]#echo "this is aaa" > index.html #web1
[root@localhost html]#echo "this is bbb" > index.htm #web2
3、修改网卡为仅主机模式,web1配置静态IP为192.168.10.100,web2:192.168.10.200,并配置回环网卡的虚拟IP
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]#service network restart
[root@localhost ~]#cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]#cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]#vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.2
NETMASK=255.255.255.0
ONBOOT=yes
web1:

web2:

4、编辑服务脚本,并执行,两台节点服务器相同操作
[root@localhost ~]#cd /etc/init.d/
[root@localhost ~]#vim web.sh
[root@localhost ~]#chmod +x web.sh
[root@localhost ~]#service web.sh start
[root@localhost ~]#ifup lo:0
5、用火狐浏览器进行自测:firefox "http://127.0.0.1/" & ,访问后重启脚本服务
web1:

web2:

*到此部分,节点服务器服务部署完成,DR调度服务器配置完成,便可用客户机检测:通过访问调度服务器虚拟IP,可以访问到web1、web2的测试页面


三、在两台调度服务器上配置keepalived服务
1、在192.168.10.10上配置主服务器
[root@localhost ~]#cd /etc/keepalived/
[root@localhost ~]#vim keepalived.conf

2、开启服务,并查看状态
[root@localhost ~]#systemctl start keepalived
[root@localhost ~]#systemctl status keepalived

3、在192.168.10.20上配置备用服务器
[root@localhost ~]#cd /etc/keepalived/
[root@localhost ~]#vim keepalived.conf

4、开启服务,并查看状态

5、测试,如果客户机无法访问,此时只需要将其防火墙重新关闭,并重启相关服务即可。

访问到网页后,down掉keepalived的主服务器,再次访问,如果成功,说明热备冗余设置成功。

到此实验已全部完成,其中报错较多,可以试着用重启服务等方式进行调整,并注意是否是虚拟网卡的问题!
|