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

相关推荐

  1. web(haproxy负载均衡+keepalived可用)

    2024-07-09 17:32:03       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 17:32:03       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 17:32:03       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 17:32:03       90 阅读
  4. Python语言-面向对象

    2024-07-09 17:32:03       98 阅读

热门阅读

  1. 开源 WAF 解析:选择最适合你的防护利器

    2024-07-09 17:32:03       33 阅读
  2. VPN是什么?

    2024-07-09 17:32:03       33 阅读
  3. Android C++系列:Linux进程(一)

    2024-07-09 17:32:03       34 阅读
  4. Oracle查询固定值查询

    2024-07-09 17:32:03       28 阅读
  5. android Gradle储蓄地址

    2024-07-09 17:32:03       26 阅读
  6. 基于BERT的大规模文本处理实战

    2024-07-09 17:32:03       29 阅读
  7. 【LeetCode 0242】【Map/排序】有效的异位词

    2024-07-09 17:32:03       25 阅读
  8. Ubuntu下Qt-5.12.9创建快捷方式到桌面

    2024-07-09 17:32:03       32 阅读
  9. ArkTs基础入门

    2024-07-09 17:32:03       31 阅读
  10. 代码随想录Day74(图论Part10)

    2024-07-09 17:32:03       33 阅读