Keepalived+LVS实现负责均衡,高可用的集群

Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用作双机热备。使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负责调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。

在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器。

使用Keepalived构建LVS群集时,也需要用到ipvsadm管理工具。但大部分工作会由Keepalived自动完成,不需要手动执行ipvsadm(除了查看和监控群集以外)。下面主要讲解Keepalived的服务器池设置,关于NFS共享服务的配置、Keepalived的热备配置等在此不再详细述。

配置过程:

1.配置主调度器

(1)全局配置,热备配置

首先为主,从调度器实现热备功能,漂移地址使用LVS集群的地址

(2)web服务地址池配置

在Keepalived的热备配置基础上添加"virtual_server VIP 端口 {......}"区段来配置虚拟服务器,主要包括对负载调度算法,群集工作模式,健康检测间隔,真实服务器地址等参数的设置。

(3)重新启动Keepalived服务

systemctl restart Keepalived

(4) 主服务器内核参数的配置

[root@localhost ~]# vi /etc/sysctl.conf
在末尾添加:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@localhost ~]# sysctl -p

2.配置从调度器

(1)从调度器的配置和主调度器的配置大致一致,只需要调整router_id(从调度器名称),start(从调度器的热备状态),priority(优先级)参数即可。配置完成后重启Keepalived服务。

(2)从服务器内核参数的配置

[root@localhost ~]# vi /etc/sysctl.conf
在末尾添加:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@localhost ~]# sysctl -p

3.配置web节点服务器

(1)web网络设置

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.172
NETMASK=255.255.255.255
ONBOOT=yes

[root@localhost network-scripts]# systemctl restrt network
[root@localhost network-scripts]# vi /etc/rc.local
/sbin/route add -host 192.168.10.172 dev lo:0

[root@localhost network-scripts]# route add -host 192.168.10.172 dev lo:0

(2)在web节点服务器上安装httpd

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vi /var/www/html/index.html
test web01

(3)内核参数的设置

[root@localhost ~]# vi /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

(4)开启httpd服务

[root@localhost ~]# systemctl start httpd

4.测试LVS+Keepalived高可用性

1:用客户端访问网站

http://192.168.10.172

刷新页面并观察网页的变化

2:在客户端使用脚本测试

[root@localhost ~]# for i in $(seq 10); do curl http://192.168.10.172 ;done

3:注意事项

(1)生产环境中可以使用NFS服务器保证网站代码的一致性,在测试环境中为了观察效果,web服务器池中的网站代码可以不一样,更加便于观察实验效果。

(2)测试计算机不要使用master调度器,在master调度器上访问VIP时,调度器不会将访问的请求调度到web服务器,而是自己尝试解析;在web服务器上测试时只能访问到自己的网页,无法实现调度。所以客户端一定要使用独立的测试计算机,或者使用处于BACKUP状态的调度器。

相关推荐
会飞的爱迪生5 天前
centos7之LVS-DR模式传统部署
网络·lvs
会飞的爱迪生6 天前
centos7之LVS-TUNNEL模式
lvs·tunnel
IT-民工211109 天前
LVS Nginx HAProxy的优缺点
运维·nginx·lvs
会飞的爱迪生9 天前
centos7配置keepalive+lvs
lvs·keepalive
打败4049 天前
lvs知识点归纳
负载均衡·lvs
阳排10 天前
Virtuoso使用layout绘制版图、使用Calibre验证DRC和LVS
lvs·layout·版图·virtuoso·drc
mqiqe14 天前
Linux LVS详解
linux·运维·lvs
运维小白。。14 天前
企业级调度器 LVS
运维·服务器·lvs
happy_king_zi14 天前
高并发负载均衡——nginx与lvs
nginx·负载均衡·lvs
abandondyy19 天前
LVS+Keepalived
lvs