部署LVS+Keepalived高可用集群

这篇具有很好参考价值的文章主要介绍了部署LVS+Keepalived高可用集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、keepalived概述

1.1管理LVS负载均衡软件

1.2VRRP(Virtual Router Redundancy Protocol) 原理

二、keepalived服务的重要功能

2.1自动切换(failover)

2.2健康检查(health checking)

2.3高可用(HA)

三、L4和L7负载均衡的区别

四、keepalive故障自动切换

4.1抢占与非抢占

五、keeplived体系主要模块及作用

5.1core模块

5.2check模块

5.3VRRP模块

六、Keepalived工作原理

6.1工作原理

6.2工作原理图

七、部署LVS+Keepalived高可用集群

7. 1.配置负载调度器(主、备相同) (192.168.14.101、192.168.14.102)

5.2.配置节点服务器

 5.3测试验证

5.3.1在客户端访问http://192.168.14.180

5.3.2 模拟破坏master服务器


一、keepalived概述

keepalived是一个基于VRRP(Virtual Router Redundancy Protocol)协议的守护程序,用于实现高可用性的服务和故障转移。它可用于在一组服务器中选择一个主服务器来处理客户端请求,并在主服务器发生故障时自动将工作切换到备用服务器。

1.1管理LVS负载均衡软件

keepalived可以通过读取自身的配置文件,实现通过更高层次的接口,直接管理LVS配置以及服务的启动、停止功能,这会使LVS应用更简单。

1.2VRRP(Virtual Router Redundancy Protocol) 原理

VRRP  是一种网络协议,它提供了虚拟路由器冗余机制,使得在一组路由器中的一个可以作为主要路由器,而其他路由器则处于备份状态。

二、keepalived服务的重要功能

2.1自动切换(failover)

keepalived可以根据事先设定好的优先级规则和负载均衡规则,在主备服务器之间进行IP地址的漂移,实现自动切换和高可用性。

2.2健康检查(health checking)

keepalived可以定时对服务器进行健康检查,包括检测服务器的存活状态、服务的响应时间等,同时也可以自定义检测规则并进行报警。

2.3高可用(HA)

keepalived可以监测系统资源的可用性,如网络连接、服务器负载等,并根据事先设置的规则进行故障转移,确保服务的高可用性。

三、L4和L7负载均衡的区别

L4通过TCP协议建立连接之后的IP:port接收请求和基于IP:port端口进行转发

L7通过TCP协议建立三次握手,通过HTTP协议传输数据,七层负载均衡器,需要根据HTTP协议传输过来的请求,进行对应的跳转,这个跳转是先基于TCP协议的传输(IP:port)+ HTTP的传输。

如果是四层,协议只有TCP就是IP:port的转发

如果是七层,TCP和三次握手,长连接 + HTTP规范的传输数据

四、keepalive故障自动切换

① 两台同时安装好keepalived并且启动服务

当启动的时候master主机获得所有资源并且对用户提供服务(请求)当角色Backup的主机作为master热备,当master出现故障,Backup主机自动接管master主机所有工作

② 当master主机故障修复后,就会自动接管回它原来的所有工作,同时Backup主机则释放原master主机的所有工作,此时两台主机恢复到初始角色以及工作状态

4.1抢占与非抢占

抢占:master恢复后,将VIP从Backup节点中抢占过来,回复自己master工作

非抢占:master恢复后,不抢占Backup目前的状态,Backup升级为master继续工作

五、keeplived体系主要模块及作用

5.1core模块

为keepalived的核心,负责进程启动,维护全局配置文件,加载和解析

5.2check模块

负责健康检查,常见的检查方式,比如端口URL

5.3VRRP模块

实现VRRP协议

六、Keepalived工作原理

6.1工作原理

1. keepalived在每台服务器上运行,每个服务器都有一个虚拟IP地址。
2. 在服务器集群中,keepalived通过VRRP协议通信并选举出一个主服务器和若干备用服务器。
3. 主服务器接收并处理来自客户端的请求,备用服务器处于待命状态。
4. keepalived通过检测主服务器的健康状态(如ping测试、端口检测等),可以快速发现主服务器的故障。
5. 一旦主服务器故障,keepalived会自动将工作切换到备用服务器,备用服务器接管主服务器的虚拟IP地址。
6. 备用服务器成为新的主服务器,继续处理客户端请求。
7. 当主服务器恢复正常时,keepalived会将工作切换回主服务器,原主服务器变成备用服务器。

6.2工作原理图

部署LVS+Keepalived高可用集群,lvs,linux,服务器

七、部署LVS+Keepalived高可用集群

主DR 服务器:ens33(192.168.14.101) ipvsadm 、keepalived(热备) 虚拟IP:192.168.14.180 网卡 ens33:0

备DR 服务器:ens33(192.168.14.102) ipvsadm 、keepalived 虚拟IP:192.168.14.180网卡 ens33:0

Web 服务器1:ens33 192.168.14.103 lo:0(VIP)192.168.14.180

Web 服务器2:ens33 192.168.14.17 lo:0(VIP)192.168.14.180

vip:192.168.14.188

客户端:192.168.14.100

7. 1.配置负载调度器(主、备相同) (192.168.14.101、192.168.14.102)

systemctl stop firewalld.service
setenforce 0

yum -y install ipvsadm keepalived
modprobe ip_vs
cat /proc/net/ip_vs

(1)配置keeplived(主、备DR 服务器上都要设置)
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
......
global_defs {						#定义全局参数
--10行--修改,邮件服务指向本地
	smtp_server 127.0.0.1
--12行--修改,指定服务器(路由器)的名称,主备服务器名称须不同,主为LVS_01,备为LVS_02
	router_id LVS_01
--14行--注释掉,取消严格遵守VRRP协议功能,否则VIP无法被连接
	#vrrp_strict
}

vrrp_instance VI_1 {				#定义VRRP热备实例参数
--20行--修改,指定热备状态,主为MASTER,备为BACKUP
    state MASTER
--21行--修改,指定承载vip地址的物理接口
    interface ens33
--22行--修改,指定虚拟路由器的ID号,每个热备组保持一致	
    virtual_router_id 10
	#nopreempt		#如果设置非抢占模式,两个节点state必须为bakcup,并加上配置 nopreempt
--23行--修改,指定优先级,数值越大优先级越高,这里设置主为100,备为90
    priority 100
    advert_int 1					#通告间隔秒数(心跳频率)
    authentication {				#定义认证信息,每个热备组保持一致
		auth_type PASS				#认证类型
--27行--修改,指定验证密码,主备服务器保持一致
        auth_pass abc123
    }
    virtual_ipaddress {				#指定群集vip地址
        192.168.14.180
    }
}
--36行--修改,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数
virtual_server 192.168.14.180 80 {
    delay_loop 6					#健康检查的间隔时间(秒)
    lb_algo rr						#指定调度算法,轮询(rr)
--39行--修改,指定群集工作模式,直接路由(DR)
    lb_kind DR
    persistence_timeout 50			#连接保持时间(秒)
    protocol TCP					#应用服务采用的是 TCP协议
--43行--修改,指定第一个Web节点的地址、端口
    real_server 192.168.14.103 80 {
        weight 1					#节点的权重
--45行--删除,添加以下健康检查方式		
        TCP_CHECK {
			connect_port 80			#添加检查的目标端口
			connect_timeout 3		#添加连接超时(秒)
			nb_get_retry 3			#添加重试次数
			delay_before_retry 3	#添加重试间隔
		}
	}

	real_server 192.168.14.104 80 {		#添加第二个 Web节点的地址、端口
	    weight 1
	    TCP_CHECK {
			connect_port 80
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
		}
	}

##删除后面多余的配置##
}


192.168.14.101和192.168.105都需要配置vip(虚拟IP)
vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.10.180
NETMASK=255.255.255.255

重启网卡 systemctl restart network
ifup  ens33:0 


systemctl start keepalived
ip addr						#查看虚拟网卡vip


(2)启动 ipvsadm 服务
--192.168.14.101---

ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

ipvsadm -C   ##清空规则
ipvsadm -A -t 192.168.14.180:80 -s rr
ipvsadm -a -t 192.168.14.180:80 -r 192.168.14.103:80 -g
ipvsadm -a -t 192.168.14.180:80 -r 192.168.14.104:80 -g


ipvsadm -ln
#如没有VIP 的分发策略,则重启 keepalived 服务,systemctl restart keepalived

--192.168.14.102---
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C   ##清空规则
ipvsadm -A -t 192.168.14.180:80 -s rr
ipvsadm -a -t 192.168.14.180:80 -r 192.168.14.103:80 -g
ipvsadm -a -t 192.168.14.180:80 -r 192.168.14.104:80 -g


ipvsadm -ln

(3)调整 proc 响应参数,关闭Linux 内核的重定向参数响应
vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

sysctl -p

5.2.配置节点服务器

systemctl stop firewalld
setenforce 0

yum -y install httpd
systemctl start httpd

--192.168.14.103---
echo 'this is zkr web!' > /var/www/html/index.html

--192.168.14.104---
echo 'this is benet web!' > /var/www/html/index.html

vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.14.180
NETMASK=255.255.255.255

service network restart 或 systemctl restart network
ifup lo:0
ifconfig lo:0
route add -host 192.168.14.180 dev lo:0

vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

sysctl -p

 5.3测试验证

5.3.1在客户端访问http://192.168.14.180

部署LVS+Keepalived高可用集群,lvs,linux,服务器

5.3.2 模拟破坏master服务器

部署LVS+Keepalived高可用集群,lvs,linux,服务器

 这时,虚拟ip会漂移到backup服务器,使服务正常运行

主服务器

部署LVS+Keepalived高可用集群,lvs,linux,服务器

 backup服务器部署LVS+Keepalived高可用集群,lvs,linux,服务器

 主服务器修好后,虚拟ip会再漂移到master服务器部署LVS+Keepalived高可用集群,lvs,linux,服务器

 文章来源地址https://www.toymoban.com/news/detail-536248.html

 

到了这里,关于部署LVS+Keepalived高可用集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • lvs+keepalived高可用集群

    keepalive为LVS应运而生的高可用服务。LVS的调度器无法做高可用,于是keepalive这个软件,实现的是调度器的高可用。但是, keepalive不是专门为LVS集群服务的,也可以做其他代理服务器的高可用(面试) LVS的高可用集群:主调度器和备调度器(可以有多个)一主两备或者一主一

    2024年02月08日
    浏览(35)
  • Keepalived高可用集群、Keepalive+LVS

    什么是高可用集群? 高可用集群 (High Availability;Cluster,简称HA Cluster) ,是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件、硬件、人为造成的故障对业务的影响降低到最小程度。 自动切换/故障转移(FailOver) 自

    2024年02月10日
    浏览(34)
  • LVS+KeepAlived高可用负载均衡集群

    高可用集群只需要在调度器上多进行一台或两台(服务器本身的价格比较昂贵,一般备用的服务器的数量会和当前业务创造的价值对等)的设置,就可避免因调度器瘫痪业务中断的风险,所以实现了真正的高可用的效果。 1.普通群集 普通的群集的部署是通过一台度器控制调配

    2024年02月09日
    浏览(81)
  • LVS+Keepalived架构(负载均衡高可用集群)

    普通的群集的部署是通过 一台调度器控制调配多台节点服务器 进行业务请求的处理,但是仅仅是一台调度器,就会存在极大的单点故障风险,当该调度器的链路或则调度器本身出现故障时,就会导致整个业务的无法正常进行  而高可用集群是由 一台主调度器和一台或多台备

    2024年02月12日
    浏览(58)
  • 使用keepalived解决lvs的单点故障高可用集群

    功能强大 转发策略比较多 适合大型的网络高可用 使用keepalived解决lvs的单点故障高可用集群 准备6台虚拟机,2台做LVS主备调度器,2台做web服务器,1台做存储,1台客户机验证 LVS主备调度器 master(192.168.1.225)backup(192.168.1.226) web1(192.168.1.221)web2(192.168.1.223) 存储(192.

    2024年02月11日
    浏览(46)
  • LVS +Keepalived 高可用群集部署

    在这个高度信息化的 IT 时代,企业的生产系统、业务运营、销售和支持,以及日常管理等环节越来越依赖于计算机信息和服务,对高可用(HA)技术的应用需求不断提高,以便提供持续的、不间断的计算机系统或网络服务。 Keepalived是一个基于VRRP协议来实现的LVS服务高可用方

    2024年02月09日
    浏览(47)
  • LVS+Keepalived 高可用群集实战部署

    1.LVS Linux虚拟服务器(Linux Virtual Server) LVS 实际上相当于基于IP地址的虚拟化应用, 为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法 2、Keepalived工作原理和作用 Keepalived 是一个基于VRRP协议来实现的LVS高可用方案,可以解决静态路由出现的单点故障问题。 在一

    2024年02月08日
    浏览(41)
  • Linux学习-keepalived实现LVS高可用

    Keepalived实现LVS高可用 环境准备 环境说明:LVS-DR模式 client1:eth0-192.168.88.10 lvs1:eth0-192.168.88.5 lvs2:eth0-192.168.88.6 web1:eth0-192.168.88.100 web2:eth0-192.168.88.200 配置高可用、负载均衡 1.在2台web服务器的lo上配置vip 2.在2台web服务器上配置内核参数 通过Ansible两台LVS主机上配置keepali

    2024年02月11日
    浏览(40)
  • nginx-2-讲解与使用 Keepalived+LVS+nginx搭建nginx高可用集群

    1:配置文件优化,达到nginx最大性能。 2:日志文件 /usr/local/nginx/logs/access.log 会一直增大,所有日志都会记录在这。磁盘满了会出现各种问题。定时器脚本清除各种日志。 3:整个访问流程,负载均衡,主从搭建(keepalived)组合 , 单机+(keepalived)组合,邮件发送,静态资源访问

    2024年02月06日
    浏览(53)
  • LVS集群-DR模式【部署高可用LVS-DR集群】

    分发器IP配置 从拓扑图看出我们的eth0有2个IP地址,所以我们需要配置eht0和eth0:1两个IP DIP = ens33 = 192.168.1.70 VIP = ens33:1 = 192.168.1.63 DIP: ens33 ip地址: 192.168.1.70 VIP: ens33:1 ip地址: 192.168.1.63 [root@youmin63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #以配置以下信息 本项目网关修改为:192.1

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包