LVS+Keepalived 高可用群集

news2024/9/27 17:30:19

LVS+Keepalived 高可用群集

  • 一、LVS+Keepalived 高可用群集
    • 1、LVS
    • 2、工作原理
    • 3、Keepalived的特性、特点:
    • 4、Keepalived实现原理剖析
    • 5、VRRP (虚拟路由冗余协议)
  • 二、LVS+Keepalived 高可用群集部署
    • 1、配置负载调度器(192.168.184.10、192.168.184.20相同)
    • 2、部署NFS共享服务器(192.168.184.30)
    • 3、配置节点服务器
    • 4、配置keeplived(主、备DR服务器上都要设置)
    • 5、客户机访问

一、LVS+Keepalived 高可用群集

1、LVS

  Linux虚拟服务器(Linux Virtual Server)

  LVS 实际上相当于基于IP地址的虚拟化应用, 为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法

2、工作原理

  在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

3、Keepalived的特性、特点:

  • 1、支持故障自动切换(Failover)

  • 2、支持节点健康状态检查(Health Checking)

  判断LVS负载调度器、节点服务器的可用性,当master主机出现故障及时切换到backup节点保证业务正常,当 master 故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。

在这里插入图片描述

4、Keepalived实现原理剖析

  • keepalived采用VRRP热备份协议实现Linux 服务器的多机热备功能
  • VRRP(虚拟路由冗余协议)是针对路由器的一种备份解决方案。
  • 由多台路由器组成一个热备份组,通过共用的虚拟IP地址对外提供服务
  • 每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态
  • 若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务
  • VRRP的广播地址:224.0.0.18、VRRP的端口号:112

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、VRRP (虚拟路由冗余协议)

是针对路由器的一种备份解决方案
由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务
每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态
若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务

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

环境配置
主机 操作系统 IP地址 软件/安装包/工具
Director1 CentOS7 192.168.184.10 ipvsadm、keepalived
Director2 CentOS7 192.168.184.20 ipvsadm、keepalived
NFS-Server CentOS7 192.168.184.30 rpcbind、nfs-utils
Web-Server1 CentOS7 192.168.184.40 rpcbind、nfs-utils、httpd
Web-Server2 CentOS7 192.168.184.50 rpcbind、nfs-utils、httpd
客户机 CentOS7 192.168.184.60 ——————

1、配置负载调度器(192.168.184.10、192.168.184.20相同)

systemctl stop firewalld.service
setenforce 0

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

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

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

ipvsadm -C
ipvsadm -A -t 192.168.184.10:80 -s rr       #这里指定的虚拟IP为ens33网卡ip,重启keepliaved后会自动绑定虚拟网卡
ipvsadm -a -t 192.168.184.10:80 -r 192.168.184.40:80 -g
ipvsadm -a -t 192.168.184.10:80 -r 192.168.184.50:80 -g
ipvsadm

ipvsadm -ln

2、部署NFS共享服务器(192.168.184.30)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind

systemctl start rpcbind.service
systemctl start nfs.service

systemctl enable nfs.service
systemctl enable rpcbind.service

mkdir /opt/lic
mkdir /opt/kiki

chmod 777 /opt/lic 
chmod 777 /opt/kiki

vim /etc/exports
/opt/lic 192.168.184.0/24(rw,sync)
/opt/kiki 192.168.184.0/24(rw,sync)

exportfs -rv

3、配置节点服务器

两台相同(192.168.184.40、192.168.184.50)

systemctl stop firewalld
setenforce 0

yum -y install httpd
systemctl start httpd

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

service network restart 或 systemctl restart network
ifup lo:0
ifconfig 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
Web-Server1(192.168.184.40)
showmount -e 192.168.184.30
mount.nfs 192.168.184.30:/opt/lic /var/www/html
echo 'this is lic web!' > /var/www/html/index.html


Web-Server2(192.168.184.50)
mount.nfs 192.168.184.30:/opt/kiki /var/www/html
echo 'this is kiki web!' > /var/www/html/index.html

4、配置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_strict:严格遵守VRRP协议。下列情况将会阻止启动Keepalived:1. 没有VIP地址。2. 单播邻居。3. 在VRRP版本2中有IPv6地址。

#vrrp_strict						#加注释

}
vrrp_instance VI_1 {				#定义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.184.188
}
}
###34行修改,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数

virtual_server 192.168.184.188 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.184.40 80 {
weight 1						#节点的权重
###43行删除,添加以下健康检查方式

	    TCP_CHECK {
		connect_port 80			#添加检查的目标端口
		connect_timeout 3		#添加连接超时(秒)
		nb_get_retry 3			#添加重试次数
		delay_before_retry 4	#添加重试间隔
	}
}

real_server 192.168.184.50 80 {		#添加第二个 Web节点的地址、端口
    weight 1
    TCP_CHECK {
		connect_port 80
		connect_timeout 3
		nb_get_retry 3
		delay_before_retry 4
	}
}
}
###删除后面多余的配置

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

5、客户机访问

访问192.168.184.188,隔一段时间进行刷新,轮询显示

将主调度服务器keepalived服务关闭,再次验证

systemctl stop keepalived

仍然可以访问到页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/637450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

004:vue中安装使用Mock来模拟数据(详细教程)

第004个 查看专栏目录: 按照VUE知识点 ------ 按照element UI知识点 echarts,openlayers,cesium,leaflet,mapbox,d3,canvas 免费交流社区 专栏目标 在vue和element UI联合技术栈的操控下,本专栏…

Linux 高可用群集HA LVS+Keepalived高可用 NGINX高可用

Keepalived及其工作原理 Keepalived 是一个基于VRRP协议针对LVS负载均衡软件设计的,通过监控集群中各节点的状态以实现LVS服务高可用的软件,可以解决静态路由出现的单点故障问题。 Keepalived除了能够管理LVS软件,还可以对NGINX haproxy MyS…

HbuilderX--小程序运行配置

安装 HbuilderX 官网下载安装程序 【传送门】 微信小程序开发者工具官网下载 【传送门】 小程序配置 ① 点击顶部工具按钮跳出弹框,弹框第一个设置或者直接使用快捷键 ctrlalt, ② 在配置页面点击运行配置往下划,其余配置如下 微信小程序 将小程序的…

[迁移学习]域自适应

一、定义 1.源域和目标域 源域(Source)和目标域(Target)之间不同但存在联系(different but related)。迁移学习的人物是从源域学习到知识并使其在目标域中取得较好的成绩。 迁移学习可以分为正迁移(postive transfer)和负迁移(negtive transfer),划分依据是迁移学习…

有哪些好用抠图软件?这几种抠图工具简单又高效

有什么好用的抠图软件呢?通过抠图技术将不同的元素组合在一起,创造出独特的艺术效果。我们日常中也会经常需要进行照片抠图,如拍出的照片背景不满意,想要抠出图片中的人物放到新的背景中,这些都是需要进行抠图才能够完…

微服务_Hystrix

在每个服务中引用该组件,监控当前组件。可被GateWay、Fegin集成。简介 作用:防止服务雪崩 Hystrix是一个由Netflix开源的容错框架,它主要用于分布式系统中的服务间通信。Hystrix通过在调用服务的过程中添加各种容错机制,来保护系…

hbuilderX uni-app 自定义快捷键无效、无法生效解决方法(附:好用的常用的快捷键自定义代码片段)

在最后加上 ,"override": true 才能让原有默认的快捷键被覆盖 好用的常用的快捷键自定义代码片段 [//打开快捷键设置{"key": "altshiftk","command": "workbench.action.openGlobalKeybindings","override": tr…

信息专业求职个人简历最新版

信息专业求职个人简历最新版1 个人信息 _ 性 别: 男 婚姻状况: 已婚 民 族: 汉族 户 籍: 江苏-宜兴 年 龄: 34 现所在地: 江苏-宜兴 身 高: 175cm 希望地区: 江苏-常州、 江苏-…

微软发布自己的 Linux 发行版:Azure Linux

导读在内部使用两年并自 2022 年 10 月起以公共预览版运行后,微软终于在日前正式公开发布了其 Azure Linux 的发行版。 在内部使用两年并自 2022 年 10 月起以公共预览版运行后,微软终于在日前正式公开发布了其 Azure Linux 的发行版。 微软 Azure Lin…

二叉树的层序遍历以及队列的实现

思维导图: 一,什么是层序遍历 层序遍历,顾名思义就是一层一层的遍历。比如我的这棵二叉树: 如果使用层序遍历的话它的结果就会是这样的: 1->5->9->7->10->13->8,这就是一层一层的遍历,一…

SciencePub学术 | 计算机类重点SCIEI征稿中

SciencePub学术 刊源推荐: 计算机类重点SCI&EI征稿中!影响因子高,对国人非常友好。信息如下,录满为止: 一、期刊概况: 计算机类重点SCI&EI 📌【期刊简介】IF:7.5-8.0,JCR…

IDEA 关闭 SonarLint 自动扫描

进入Settings → 搜索 SonarLint → 将Automatically trigger analysis取消勾选 即可。

Unity入门2——Unity工作原理

一、工具栏 文件操作:新建工程,新建场景,工程打包等等 编辑操作:对象编辑操作相关,工程设置,引擎设置相关 资源操作:基本等同于 Project 窗口中右键相关功能 对象操作:基本等同于 Hi…

151-B-DC24V、252-B-AC220V气压控制方向阀

151-B-DC24V、252-B-AC220V、332-B-DC24V、453-B-AC220V、232-B-AC110V、351-B-DC24V、431-B-DC12V、253-B-DC24V气动电磁阀体积小,流量大,外形美观,性能可靠.使用寿命长.适用于机电一体化领域.有多重规格和产品颜色可选择,规格G1/8、G1/4、G3/8、G1/2、电控方式&am…

干洗店洗护软件,洗鞋店软件,洗鞋店小程序,

干洗店洗护软件,洗鞋店软件,洗鞋店小程序,水洗标打印标签打印,上门取送,拍照上传,多门店多网点,用户端,骑手端,门店端,网点端。具有以下非常强大的功能和优势…

亚马逊美国站 儿童珠宝首饰CPC认证 ASTM F2923标准CPSIA检测报告

为什么越来越多人爱送珠宝给宝宝? 1、有人说每个小孩子都是来自神的恩典,他们就像父母最珍贵的珠宝值得用一生的时间去呵护与珍藏。 2、西班牙人认为,儿童珠宝作为他们的第一份礼物,会庇佑孩子们未来过上非常幸福,繁荣而成功的…

算法模板(5):数学(4):其他数学

线性代数 高斯消元 ( O ( n 3 ) ) (O(n^3)) (O(n3)) 883. 高斯消元解线性方程组 步骤&#xff1a;枚举每一列&#xff1a;找到绝对值最大的一行&#xff0c;将改行换到最上面&#xff0c;将该行第一个数变成1&#xff0c;将下面所有行的第c列变成0. #include<cstdio>…

年薪80万程序员被鄙视,不如二本教书老师…

“程序员好还是老师好&#xff1f;” 这个问题一直困扰着许多网友&#xff0c;毕竟这两个工作都是让人羡慕的。 程序员普遍收入高&#xff0c;有挑战性&#xff1b;老师是个铁饭碗&#xff0c;休假日多&#xff0c;还有退休金。 也有程序员曾经发帖&#xff0c;表示自己现在…

Go-fastdfs 任意文件上传(CVE-2023-1800)

ZoomEye搜索"go-fastdfs" sjqzhang go-fastdfs 是一个开源分布式文件系统&#xff0c;专为存储和共享大文件而设计。 它是用 Go 编写的&#xff0c;由开发者 sjqzhang 在 GitHub 上维护。 在 sjqzhang go-fastdfs 1.4.3 之前发现了一个被归类为严重的漏洞。 受此问题…

保姆级攻略!Elsevier期刊投稿教程,手把手操作建议收藏!

目前所投的期刊绝大多数为Elsevier旗下的期刊&#xff0c;如Acta、JAC、MSEA、JMST等&#xff0c;以JAC为例。以下分享逐步投稿操作流程&#xff1a;&#xff08;以一本Elsevier旗下期刊为例&#xff09; 0. 进入期刊投稿主页&#xff0c;一般打开期刊主页&#xff0c;点击【S…