【精选】Keepalived负载均衡

您所在的位置:网站首页 平顶山共享单车最新消息今天封路了吗 【精选】Keepalived负载均衡

【精选】Keepalived负载均衡

2023-11-21 01:42| 来源: 网络整理| 查看: 265

文章目录 一、Keepalived 概述1. 为什么需要 keepalived2. keepalived 是什么3. keepalived 服务重要功能4. keepalived 高可用故障切换转移原理5. keepalived 体系主要模块及其作用6. 使用 keepalived 实现双机热备 二、LVS + DR + Keepalived 高可用集群构建1. 集群概述2. 架构图示例3. 案例配置4. 正式部署(1) 从负载调度器配置(2) 主-从负载调度器安装配置 keepalived(3) Windows 10 测试访问(4) 关掉 lvs_01 keepalived 服务测试访问 5. 附(1) lvs_01(2) lvs_02

一、Keepalived 概述 1. 为什么需要 keepalived

  企业应用中,单台服务器承担应用存在单点故障的危险,单点故障一旦发生,企业服务将发生中断,造成极大的危害和损失。

2. keepalived 是什么

在这里插入图片描述

  keepalived 软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控 LVS 集群中各个服务节点的状态,后来又加入了可以实现高可用的 VRRP 功能。因此,keepalived 除了能够管理 LVS 集群外,还可以为其他服务(例如:Nginx、Haproxy、MySQL等)实现高可用。   keepalived 软件主要是通过 VRRP 协议实现高可用功能的。VRRP 是 Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP 出现的目的就是为了解决静态路由单点故障的问题,它能够保证当个别节点宕机时,整个网络可以不间断地运行。   所以,keepalived 一方面具有配置管理 LVS 的功能,同时还具有对 LVS 下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用。

官网:http://www.keepalived.org

3. keepalived 服务重要功能 管理 LVS 负载均衡软件支持故障自动切换(Failover)实现 LVS 集群中节点的健康检查(Health Checking)实现 LVS 负载调度器、节点服务器的高可用性(HA)

  一般企业集群需要满足的三个特点:负载均衡、健康检查、故障切换,使用 LVS + Keepalived 完全可以满足需求。

4. keepalived 高可用故障切换转移原理

  keepalived 高可用服务对集群之间的故障切换转移,是通过 VRRP(虚拟路由器冗余协议)来实现的。   在 keepalived 服务正常工作时,主(Master)节点会不断地向备(Backup)节点发送(多播的方式)心跳消息,用以告诉备节点自己还活看,当主节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主节点的心跳了,于是调用自身的接管程序,接管主节点的 IP 资源及服务。而当主节点恢复时,备节点又会释放主节点故障时自身接管的 IP 资源及服务,恢复到原来的备用角色。 在这里插入图片描述

5. keepalived 体系主要模块及其作用 keepalived 的主要模块作用core 模块为 keepalived 的核心,负责主进程的启动、维护及全局配置文件的加载和解析vrrp 模块是来实现 VRRP 协议的check 模块负责健康检查,常见的方式有端口检查及 UR L检查 6. 使用 keepalived 实现双机热备 基于 VRRP 协议的热备方式,keepalived 可以用作服务器的故障切换,每个热备组可以有多台服务器。当然,最常用的还是双机热备。在双击热备方案中,故障切换主要针对虚拟 IP 地址的漂移来实现,因此可以适用于各种应用服务器(Web、FTP、Mail、SSH、DNS…)其中主、备服务器都需安装 keepalived

在这里插入图片描述

二、LVS + DR + Keepalived 高可用集群构建 1. 集群概述 keepalived 的设计目标是构建高可用的 LVS 负载均衡集群,可以调用 ipvsadm 工具来创建虚拟服务器、管理服务器池,而不仅仅用作双机热备使用 keepalived 构建 LVS 集群更加简便易用,主要优势在于:对 LVS 负载调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入案列将以 DR 模式的 LVS 集群为基础,增加一台从负载调度器,使用 keepalived 实现主、从调度器的热备,搭建兼有负载均衡、高可用性两种能力的 LVS 集群架构使用 keepalived 构建 LVS 集群时,也需要用到 ipvsadm 管理工具,但大部分工作会由 keepalived 自动完成,不需要手动执行 ipvsadm (除了查看和监控集群以外) 2. 架构图示例

在这里插入图片描述

3. 案例配置 服务器IP主 DR 服务器192.168.10.20从 DR 服务器192.168.10.60VIP192.168.10.25Web 服务器 1192.168.10.30Web 服务器 2192.168.10.40NFS 服务器192.168.10.50Win10 客户端192.168.10.85 keepalived 高可用集群的构建基于 LVS-DR 模式,LVS-DR 配置参考: LVS 负载均衡集群 - 直接路由模式(LVS-DR)只需要在 LVS-DR 模式的基础上加一台从 DR 调度器(最好与主 DR 配置相同) 4. 正式部署 (1) 从负载调度器配置 systemctl stop firewalld.service && systemctl disable firewalld.service setenforce 0 modprobe ip_vs cat /proc/net/ip_vs yum install -y ipvsadm cd /etc/sysconfig/network-scripts/ && cp ifcfg-ens33 ifcfg-ens33:0 echo > /etc/sysconfig/network-scripts/ifcfg-ens33:0 cat > /etc/sysconfig/network-scripts/ifcfg-ens33:0 /etc/sysctl.conf #定义 VRRP 热备实例参数 #20行,指定热备状态,主为 MASTER,备为 BACKUP state MASTER #21行,指定承载 vip 地址的物理接口 interface ens33 #第22行,指定虚拟路由器的 ID 号,每个热备组保持一致 virtual_router_id 10 #第23行,指定优先级,数值越大优先级越高,主为 100,备为 99 priority 100 advert_int 1 #通告间隔秒数(心跳频率) authentication { #定义认证信息,每个热备组保持一致 auth_type PASS #认证类型 #第27行,指定验证密码,主备服务器保持一致 auth_pass 123123 } virtual_ipaddress { #指定群集vip地址 192.168.10.25 } } #第34行,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和 Web 服务器池参数 virtual_server 192.168.10.25 80 { delay_loop 6 #健康检查的间隔时间(秒) lb_algo rr #指定调度算法,轮询(rr) #第37行,指定群集工作模式,直接路由(DR) lb_kind DR persistence_timeout 50 #连接保持时间(秒) protocol TCP #应用服务采用的是 TCP协议 #第41行,指定第一个Web节点的地址、端口 real_server 192.168.10.30 80 { weight 1 #节点的权重 #第43行,添加以下健康检查方式,删掉不需要的配置 TCP_CHECK { connect_port 80 #添加检查的目标端口 connect_timeout 3 #添加连接超时(秒) nb_get_retry 3 #添加重试次数 delay_before_retry 3 #添加重试间隔 } } real_server 192.168.10.40 80 { #添加第二个 Web 节点的地址、端口 weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } } #可删除后面多余的网段 systemctl start keepalived && systemctl enable keepalived #两个负载调度器开启 keepalived 服务 ip addr show dev ens33 #查看虚拟网卡 vip

主 DR 网卡信息 在这里插入图片描述 从 DR 网卡信息 在这里插入图片描述 我们可以看到,主负载调度节点是有 VIP 的,从节点没有,说明 VIP 目前固定在 LVS_01。

(3) Windows 10 测试访问 在客户机的浏览器中,能够通过 LVS + Keepalived 群集的 VIP 地址正常访问 Web 页面内容当主、从调度器任何一个失效时,Web 站点仍然可以访问(可能需要刷新或者重新打开浏览器)只要有两台及以上的真实服务器可用,就可以实现访问量的负载均衡

在这里插入图片描述 在这里插入图片描述

(4) 关掉 lvs_01 keepalived 服务测试访问

在主负载调度器上

yum -y stop keepalived

首先 VIP 会漂移到 lvs_02 在这里插入图片描述 在这里插入图片描述 浏览器访问测试,负载均衡仍然生效,高可用负载均衡集群搭建成功 在这里插入图片描述 在这里插入图片描述 重启 lvs_01 keepalived 服务,VIP 漂移回 lvs_01 在这里插入图片描述

5. 附

上面 主/从 配置注释太多,这里放个配置纯净版的,没有注释 根据自己的 IP 、网卡名、想要设置的密码......进行修改

(1) lvs_01

我们实验是接着 LVS-DR 做的,前面配置过了 lvs_01 ,这里只需要配置 keepalived

yum -y install keepalived cd /etc/keepalived/ && cp -a keepalived.conf keepalived.conf.bak echo > /etc/keepalived/keepalived.conf cat > /etc/keepalived/keepalived.conf /etc/sysconfig/network-scripts/ifcfg-ens33:0 /etc/sysctl.conf /etc/keepalived/keepalived.conf cat > /etc/keepalived/keepalived.conf


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3