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状态的调度器。

相关推荐
CURRY_yangyang304 小时前
lvs + keepalived + dns 高可用
linux·服务器·lvs·keepalived
大橘11 天前
centos8上实现lvs集群负载均衡dr模式
服务器·负载均衡·lvs
Z字小熊饼干爱吃保安12 天前
LVS-----DR模式
linux·运维·服务器·网络·nginx·lvs
Z字小熊饼干爱吃保安12 天前
Keepalive+LVS+Nginx+NFS高可用项目
运维·服务器·nginx·自动化·lvs·高可用
xxc_my13 天前
LVS高可用负载均衡
服务器·负载均衡·lvs·高可用
再学一丢丢16 天前
Keepalived+LVS+nginx高可用架构
nginx·架构·lvs
xxc_my17 天前
LVS的三种工作模式简述
服务器·网络·lvs
Kendra91918 天前
Keepalive+LVS+Nginx+NFS高可用架构
nginx·架构·lvs
棕生18 天前
架构师面试(二十三):负载均衡
nginx·负载均衡·lvs·架构师面试·rpc连接池·vip+keepalive
RememberLey19 天前
lvs-net+nfs的配置
开发语言·php·lvs