keepalived+LVS高可用群集
实验环境
这里因为需要,LVS负载均衡群集,当然不要的话也可以,我这里演示的是要LVS的
DR模式的,关于要不要LVS这个问题我后面实验中我会讲清楚
现在必须要我上一篇博客的基础并访问测试成功才可以,链接如下
https://blog.csdn.net/weixin_45308292/article/details/102485109
因为实验环境中,要看效果,所以不需要做NFS存储,在web主机中做不同的页面,即可,当然真实环境中当然要做NFS存储
所以可以把上篇博客中的,NFS存储恢复原始快照,
IP是 192.168.100.105 VM 1 ,当作备用调度器
1.配置主调度器
进入上一篇当中的192.168.100.102
1)安装keep服务和ipvsadm
挂载光盘,配置yum
[root@CentOS7-02 ~]# yum -y install keepalived ipvsadm
[root@CentOS7-02 ~]# systemctl enable keepalived
2)配置keepalived主配置文件
[root@CentOS7-02 ~]# systemctl stop firewalld
[root@CentOS7-02 ~]# cd /etc/keepalived/
[root@CentOS7-02 keepalived]# cp keepalived.conf keepalived.conf.bak (做个备份
[root@CentOS7-02 keepalived]# vim keepalived.conf
注意一定按照我图中来
下滑到最后,新起打我下面的
我图中的第3行打错了,这行非常的重要 是 lb_algo rr
当然我后面有打好的,你可以直接复制,那里是绝对正确的
virtual_server 192.168.100.222 80 {
delay_loop 15
lb_algo rr
lb_kind DR
! persistence 60
protocol TCP
real_server 192.168.100.103 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.100.104 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
保存退出
一定要重启服务,如下
[root@CentOS7-02 ~]# systemctl restart keepalived
2.配置从调度器
进入到192.168.100.105中
1)安装软件包
[root@centos7-05 ~]# yum -y install keepalived ipvsadm
[root@centos7-05 ~]# systemctl enable keepalived
2)配置从调度器的主配置文件
[root@centos7-05 ~]# vim /etc/keepalived/keepalived.conf
也要更改如下
然后也是滑倒最后,打上我下图的,可以直接复制主调度器那里的,就是我上面第二张图片中的内容,
因为我是复制主调度里的,所以这里的第三行也有错误 是 lb_algo rr
一定要改过来,不然会出错
重启服务
[root@centos7-05 ~]# systemctl restart keepalived
3.配置Web节点服务器
如果你是直接做keep这个热备,必须要做下面的3个操作,下面三个操作我最上面那链接中的博客都有
1.调整/proc系统的ARP响应参数
2.为虚接口lo:0配置VIP地址
3.添加一条到VIP的本地路由
因为我这里是按照我上篇博客基础上做的,所以这里就可以不用操作了
4.因为我上篇博客是挂载的NFS存储,这篇没有NFS,并且页面要不一样
5.进入103,104,把index.html文件都改为不一样的,并启动httpd服务
[root@centos7-03 html]# systemctl start httpd
[root@centos7-04 html]# systemctl start httpd
4.清除冲突的配置项
如果现在访问VIP地址的话,是绝对不会成功的
因为keepalived自带群集功能,而我这里又是在LVS使用ipvsadm分配的策略上的,所以一定会有冲突的
所以说,我下面删掉的所有东西,如果你是直接做keepalived的高可用,这些东西都可以不用添加
1)清除主调度器上的ens33:0接口IP
因为LVS要把,VIP地址配置在接口上,但是此例的VIP地址又是漂移地址,是会移动的
不可以配置接口上
进入192.168.100.102
[root@CentOS7-02 ~]# cd /etc/sysconfig/network-scripts/
[root@CentOS7-02 network-scripts]# rm -rf ifcfg-ens33:0
[root@CentOS7-02 network-scripts]# systemctl restart network
[root@CentOS7-02 ~]# ifconfig (应该没有ens33:0那网卡了)
2)清除主调度的ipvsadm策略
实际上keepalived自带的有群集功能,上面的第2张图片,和第4张图片其实都是在做
DR群集
[root@CentOS7-02 ~]# ipvsadm -C (清除策略)
如果你是直接做keep高可用,就不用做ipvsadm策略
3)清除主调度上的/proc响应参数
[root@CentOS7-02 ~]# vim /etc/sysctl.conf
上篇博客添加了三行参数,把这三行都删除掉,并运行如下命令
[root@CentOS7-02 ~]# sysctl -p
5.验证keepalived高可用
进入192.168.100.102主调度器,运行如下命令,可以查看漂移地址
开一个win7,也可用上次的验证机,vm1 192.168.100.66
浏览器访问 http://192.168.100.222 (VIP地址也是漂移地址)
首先显示192.168.100.103的页面,如下
然后把主调度器192.168.100.102关机
然后关闭浏览器,再打开,再次访问http://192.168.100.222
应该会显示192.168.100.104的页面,而且也可以正常访问
这步验证了负载均衡,与keep高可用,因为关闭了主的调度器,依然可以正常访问,而且还会切换页面
进入辅助调度器 192.168.100.105当中,查看漂移地址,已经过来了
实验完毕