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

相关推荐
Britz_Kevin20 小时前
从零开始的云计算生活——番外3,LVS+KeepAlived+Nginx高可用实现方案
nginx·云计算·生活·lvs·#keepalived
Jie_171 天前
【Linux】LVS(Linux virual server)
服务器·数据库·lvs
FJW0208142 天前
LVS集群调度器
服务器·网络·lvs
Cyber4K2 天前
轻轻松松带你进行-负载均衡LVS实战(文章后)
运维·实战·负载均衡·lvs
Fantasy丶夜雨笙歌2 天前
LVS集群技术:构建高性能负载均衡系统
linux·运维·lvs
爱喝酸奶的桃酥2 天前
LVS:高性能负载均衡利器
linux·运维·lvs
不会敲代码的XW3 天前
LVS(Linux Virtual Server)详细笔记(理论篇)
linux·笔记·lvs
Insist7533 天前
linux系统------LVS+KeepAlived+Nginx高可用方案
linux·nginx·lvs
wb1893 天前
LVS的集群技术和分布式
运维·笔记·分布式·云计算·lvs
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.4 天前
LVS集群技术
云原生·lvs