LVS/DR+Keepalived负载均衡实战(一)

引言

负载均衡这个概念对于一个IT老鸟来说再也熟悉不过了,当听到此概念的第一反应是想到举世闻名的nginx,但殊不知还有一个大名鼎鼎的负载均衡方案可能被忽略了,因为对于一般系统来说,很多应用场合中采用nginx基本已经满足需求,但对于大型机高性能系统掌握lvs负载均衡是非常有必要的,接下来将小哥对lvs负载均衡进行初步探索。

lvs 简介

概念

LVS(Linux Virtual Server),顾名思义是linux 虚拟服务器的意思,一个虚拟的服务器集群系统,使用负载均衡技术将多台服务器组成一个虚拟服务器。

LVS的由来

由于互联网用户的急剧增长,用户对服务器的访问数量快速增加,这就要求广大的互联网服务器需要具备较大的并发服务能力,因此对于大负载的服务器来讲, CPU、I/O处理能力很快会成为瓶颈。由于单台服务器的性能总是有限的,简单的提高硬件性能并不能真正解决这个问题。为此,必须采用多服务器和负载均衡技术才能满足大量并发访问的需要。

LVS 的优势

1、LVS具有较高的带负载能力,理论上来说,首先LVS 工作在网络7层模型的第4层,一般情况下,越低的工作层次就代表其效率也会越高,工作在低4层模型也就意味着不用和客户端建立连接,不用握手,不用付出因为建立连接或者握手而开辟的资源开销;其次从操作系统层面来讲,LVS是内核级别的功能,对于有限核数的cpu来看,内核级别的功能优先级远远高于用户级别功能的优先级,其执行效率一般会计较高;最后从系统资源层面来看, LVS只对数据进行转发,不消耗操作系统的IO 资源,因此LVS对操作系统资源的依赖是大大降低。根据小哥我查到的数据,LVS 并发服务量大概在几十万这个级别。
2、LVS具有较高的可用,LVS适合对所有的应用层软件做负载均衡解决方案。
3、可靠性较高,LVS工作在7网络模型第四层,他的运行只和网络协议栈和操作系统有关系,因此和其他应用软件的冲突机率大大降低,此外
LVS自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat,这使得LVS的可靠性得到充分保障。

LVS 搭建高可靠负载均衡集群

集群负载均衡的三种模式

NAT

NAT(Network Address Translation)意即网络地址转换,允许一个整体机构以一个公用IP地址出现在Internet上,即把内部私有网络地址翻译成合法网络IP地址的技术。通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
在这里插入图片描述

IP Tunneling

采用NAT技术做负载均衡时,自身网络带宽和cpu算力变成瓶颈,为了解决这个问题,调度器把请求报 文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文。
在这里插入图片描述

Direct Routing

Direct Routing 也就是常说的DR模式,此模式通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户。同TUN模式一样,DR模式可提高集群系统的扩展性。DR模式下没有IP隧道的开销,对集群中的真实服务器也没有必须支持IP隧道协议的要求,但是要求LVS服务器和其他应用服务必须在同一物理网段上。其模型图如下所示:

在这里插入图片描述

LVS 实战

LVS 高可靠负载均衡集群至少得准备四台虚拟机
在这里插入图片描述
按照本大猿的结构准备环境,架构框图如下所示:
在这里插入图片描述
从上图中可以看出,我们需要将node1和node2的两台机子作为LVS负载均衡的主机和从机,需要检查两台机器的环境。

所有节点关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

在这里插入图片描述

LVS 环境准备

从linux 2.4 开始已经自带LVS,我们只需要安装ipvsadm 工具包即可。node1 和node2 分别安装ipvsadm 工具。

yum install ipvsadm -y

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

LVS环境检查

查看LVS 环境配置是否污染,如果污染需要清空

# 查看配置
ipvsadm  -ln
#  清空配置
ipvsadm  -C

在这里插入图片描述
如果虚拟网卡(VIP)已经存在,则需要先卸载网卡,保持环境干净。

ifconfig  down  eth0:xxx down

本文中LVS 主副节点均为新建,无需其他清理操作。
在这里插入图片描述
在这里插入图片描述

keepalived环境准备

LVS 需要和keepalived结合,

什么是keepalived

Keepalived is a routing software written in C. The main goal of this project is to provide simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures. Loadbalancing framework relies on well-known and widely used Linux Virtual Server (IPVS) kernel module providing Layer4 loadbalancing. Keepalived implements a set of checkers to dynamically and adaptively maintain and manage loadbalanced server pool according their health. On the other hand high-availability is achieved by VRRP protocol. VRRP is a fundamental brick for router failover. In addition, Keepalived implements a set of hooks to the VRRP finite state machine providing low-level and high-speed protocol interactions. In order to offer fastest network failure detection, Keepalived implements BFD protocol. VRRP state transition can take into account BFD hint to drive fast state transition. Keepalived frameworks can be used independently or all together to provide resilient infrastructures.
下面开始配置keepalived环境

yum install keepalived  -y

在这里插入图片描述

keepalived配置文件设置

cp /etc/keepalived/keepalived.conf  /etc/keepalived/keepalived.conf.bak
vim /etc/keepalived/keepalived.conf
master
vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.150.100/24 dev ens33 label  ens33:1}
}virtual_server 192.168.159.100 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCPreal_server 192.168.159.32 80 {weight 1HTTP_GET {url {path /status_code 200}connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.159.33 80 {weight 1HTTP_GET {url {path /status_code 200}connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}

在这里插入图片描述

在这里插入图片描述

slave
vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 51priority 500advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.150.100/24 dev ens33 label  ens33:1}
}virtual_server 192.168.159.100 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCPreal_server 192.168.159.32 80 {weight 1HTTP_GET {url {path /status_code 200}connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.159.33 80 {weight 1HTTP_GET {url {path /status_code 200}connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}

在从机上不显示虚拟网卡但显示路由配置
在这里插入图片描述
需要注意的是副节点上并没有看到虚拟网卡信息,因为这时候主节点无故障,副节点中的虚拟网卡基本

应用服务器配置

修改内核配置

echo 1  >  /proc/sys/net/ipv4/conf/ens33/arp_ignore 
echo 1  >  /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 

在这里插入图片描述
其他方式修改,永久神效

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

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

设置隐藏ip

node3和node4为应用服务器,我们需要在应用服务器上配置VIP

ifconfig  lo:1  192.168.159.100  netmask 255.255.255.255

在这里插入图片描述

安装httpd插件

node3和node4 首先安装httpd 插件

	yum install httpd -ysystemctl start httpd 

在这里插入图片描述

修改首页,两个节点需要分别修改

	vi   /var/www/html/index.htmlfrom node3#重启systemctl restart httpd

在这里插入图片描述
如上图将两个应用服务器节点的httpd服务配置完成。

数据转发失效

这里数据转发失效的最大可能原因是没有注释掉vrrp_strict这条配置。

在这里插入图片描述

测试负载均衡效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
经过测试,本次探索的LVS负载均衡器基本达到试目标,后续文章会继续探索这块的知识。

参考文章:
https://blog.csdn.net/weixin_52813907/article/details/127074105
https://www.jianshu.com/p/a2190b6d4333

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

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

相关文章

【Java】数据交换 Json 和 异步请求 Ajax

🎄欢迎来到边境矢梦的csdn博文,本文主要讲解Java 中 数据交换和异步请求 Json&Ajax 的相关知识🎄 🌈我是边境矢梦,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下&#…

go语言从0基础到安全项目开发实战

一.环境搭建并helloworld 搭建环境比较简单 1.1安装SDK 到以下链接下 Go下载 - Go语言中文网 - Golang中文社区 下载windows版本64位zip包 https://studygolang.com/dl/golang/go1.20.7.windows-amd64.zip 1.2配置环境变量 不配置的话就只能在bin目录下才能运行go命令 …

linux安装ftp

一、安装 参考博客 https://blog.csdn.net/dafeigecsdn/article/details/126518069 rpm -qa |grep vsftpd # 查看是否安装ftp yum -y install vsftpd # 安装vsftpuseradd -d /home/lanren312 lanren312 # 指定在/home目录下创建用户 passwd lanren312 # 给用户设置密码 # 输…

20220209学速写

抖音上学速写感觉不太行呀。虽然看起来简单但感觉手很笨,感觉从基础入门后开始讲的,而我还缺少基础。。。

人物速写示范(30张图)

人物速写示范(30张图) 2007/01/11 10:59 扫描自《叶老师速写教学示范》——湖北美术出版社叶军,1964年生于湖北沙市,毕业于湖北美术学院,学士学位。现为湖北美术学院副教授,中国画系副主任,研究…

学习速写的方法有哪些?如何快速学会速写?

本文由“学美术上美术集网校”原创,图片素材来自网络,仅供学习分享 学习速写的方法有哪些?如何快速学会速写?很多初学绘画者,包括有些已经进行过一些素描训练的学画青少年想画速写,总感到无从下手。在与这些初学绘画者的接触中,我总是尽量告诉他们一些速写方面的训练方…

Vscode 速写 HTML

Vscode 速写 HTML 文章目录 Vscode 速写 HTML1. 快速生成HTML结构2. 快速生成标签3. 生成指定标签4. 插件 1. 快速生成HTML结构 输入 ! 后按 Tab <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name&qu…

速写篇—速写打型需要几步?这5步准确起型~

速写怎么打好型&#xff1f;速写打型需要哪些步骤&#xff1f;很多小伙伴在学习美术速写的时候都会遇到各种问题今天美术集网校带大家了解下速写如何打好型&#xff1a; 画速写人物真的很难吗?如果你画的人物得不到高分&#xff0c;你可能需要考虑一下是不是打形没有画好&…

速写想要拿高分?这些要点能提分~

速写怎么画&#xff1f;怎么画速写才能提高分&#xff1f;很多小伙伴在学习美术都会遇到各种问题今天美术集网校带大家了解下速写提高分的方法吧&#xff1a; 速写想要取得高分&#xff0c;首先就要先突破难点&#xff0c;找到短板&#xff0c;逐个克服才能更好的把握速写。 首…

学速写的步骤来啦,零基础学习更简单

最近美术集小编收到了很多新手学习速写的问题点&#xff0c;想要学习速写&#xff0c;应该从哪些步骤开始呢&#xff1f;今天广州美术集网校就帮大家整理了一些画速写的步骤&#xff0c;掌握好这些步骤&#xff0c;速写的学习就像开了加速器&#xff1a; ​ 第一&#xff0c;我…

先别急着练速写,人物慢写才是第一步

人物慢写怎么画&#xff1f;人物慢写和速写的区别在哪里&#xff1f;很多小伙伴在学习速写都会遇到各种问题今天美术集网校带大家了解下人物速写和慢写的区别之处吧&#xff1a; ​ 想要学好速写&#xff0c;我们就要先了解速写&#xff0c;慢写是学习速写的第一步&#xff0c…

25个速写素描Procreate笔刷

这套画笔套装共包含25支Procreate画笔&#xff0c;其中包括9个线条笔刷、7支孵化笔刷、5个条纹画笔、煤炭画笔和3个填充画笔。每支笔都对笔的压力和倾斜度非常敏感&#xff0c;能够精确地捕捉你的绘画动作&#xff0c;让你轻松实现所需的效果。

风格速写(代码敲累了)

就这样吧&#xff0c;外面下着雨&#xff0c;电脑待着机&#xff0c; 而我充着电

美术集速写模特姿势参考大全,又酷又飒的姿势你画过了吗?

我们平常画的速写模特一般都是站姿、坐姿、或者蹲姿&#xff0c;这些都是最经常练习到的&#xff0c;今天美术集给大家分享一波养眼的动态速写&#xff0c;快看看这些速写姿势你都画过了没有&#xff1f; 首先&#xff0c;来一波正常速写图&#xff1a; 接来下就是比较冷门的速…

想要画好人物速写写生画,这些技巧要把握好

想要画好人物速写写生画&#xff0c;需要注意哪些技巧呢&#xff1f;很多小伙伴在学习人物速写的时候都会遇到各种问题&#xff0c;今天广州美术集网校小编带大家了解下人物速写技巧画法&#xff1a; 人物速写&#xff0c;是以人物为描绘对象的快速写生方法。它为画者了解人体结…

19张动作速写参考,人物灵活就靠这些!

概念原画师Sai Foo作品&#xff0c; 人物动作速写参考 为了帮助大家在学习板绘绘画的路上&#xff0c;少走弯路&#xff0c;少掉坑&#xff0c;大家可以去听一位板绘绘画高手的课程&#xff0c;他每天晚上8点都会在网上有免费的直播课&#xff0c;会讲到板绘原画插画&#xff…

教程 | 听说,你画画很慢,不如30分钟画速写

听说&#xff0c;你画画很慢很慢...... 听说&#xff0c;你一画就是一天...... 1 白描虽然写意&#xff0c;但是却会花去不少时间。那么有没有什么办法可以提高绘画的速度呢&#xff1f; 朋友&#xff0c;你为什么不尝试一下画画速写呢&#xff1f; 画速写 速写是一项训练造型综…

思维速写板

思维速写板 思维速写板是一个快速建立大脑概念映像并理顺其关系的工具&#xff0c;并综合了自由文本、思维导图&#xff08;级联关系&#xff09;、涂鸦、大纲、OCR抓文字、抓屏、屏幕录制等功能。 概念与关系是思维中的基本单元&#xff0c;一般情况下&#xff0c;用文字表示概…

速写总是画不好发型?绘画手法很重要

速写中的头发怎么画&#xff1f;如何才能画好头发发型&#xff1f;很多小伙伴在学习美术的都会遇到各种问题今天美术集网校带大家了解下头发发型的绘画方法&#xff1a; 首先&#xff0c;头部是人物速写的绘画重点&#xff0c;头发的绘画也会关系到整个作品&#xff0c;所以就需…