热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

好东西,负载均衡LVS

理论知识点一,集群的含义1,多台主机构成,对外表现是这个整体,提供一个访问入口,多台主机组成集群,2,分类①、负载均衡群集②、高可用群集③、高性能运算群集3,负载均衡集群提高系统的




理论知识点


一,集群的含义

1,多台主机构成,对外表现是这个整体,提供一个访问入口,多台主机组成集群,
2,分类
①、负载均衡群集
②、高可用群集
③、高性能运算群集
3,负载均衡集群
提高系统的响应的能力,尽可能处理更多的访问请求,减小延迟,获得高并发,高负载的整体性
lb的负载分配依赖于分流算法,,分担给多个服务节点,
4,搞可用集群
提高系统的可靠性,尽可能的减少中断时间为目标,包括上工和朱慈宁宫,双工数在所有节点同时在线,主从是在主节点在线,故障时,切换
5,搞性能云散集群
提高系统的CPU运算速度,扩展硬件紫云和分析能力我目标,获得超级计算机的搞性能运算,依赖于分布式运算,并行运算,过个服务的CPU和内存结合在一起


负载均衡集群架构

第一层:负载带哦读取,访问的唯一入口VIP
第二次,服务器池,每个节点有rip
第三,共享存储,提供所有节点踢狗稳定,一直的文件存取服务
2,三种模式
NET 模式
TUN模式
DR模式
小结:
LVS 不太适合小型的集群
工作模式区别 NAT模式 TUN模式 DR模式(与nat相比较为复杂)
real server 节点服务器
server number 节点数量 low10-20 high 100 high 100
真实网关(real servers) 负载调度器 自由路由器 自由路由器
IP地址 公网+私网 公网 私网
优点 安全性高 安全、速度快 性能最好
缺点 效率低、压力大 需要隧道支持 不能跨越lan(局域网)
3,四种负载调度算法
轮询
加权轮询
最少连接数
加权最小连接数


LVS集群创建和管理

1、创建虚拟服务器

2、添加、删除服务器节点
3、查看群集及节点情况
4、保存负载分配策略
LVS的管理工具是ipvsadm
②、ipvsadm工具选项说明
-A 添加虚拟服务器
-D 删除整个虚拟服务器
-s 指定负载调度算法 (轮询:rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc )
-a 表示添加真实服务器 (节点服务器)
-d 删除某一个节点
-t 指定 VIP地址及 TCP端口
-r 指定 RIP地址及 TCP端口
-m 表示使用 NAT群集模式.
-g 表示使用 DR模式
-i 表示使用 TUN模式
-w 设置权重 (权重为 0 时表示暂停节点)
-p 60 表示保持长连接60秒
-l 列表查看 LVS 虚拟服务器 (默认为查看所有)
-n 以数字形式显示地址、端口等信息,常与 “-l” 选项组合使用。ipvsadm -ln


实验


net模式lvs负载均衡集群部署

第一步,环境
lvs调度器
web节点两台
nfs服务器
客户端

第二步,部署nfs
在这里插入图片描述

[root@localhost ~]# systemctl start nfs.service
[root@localhost ~]# systemctl start rpcbind.service
[root@localhost ~]# mkdir /opt/kgc /opt/accp
[root@localhost ~]# chmod 777 /opt/kgc /opt/accp/
[root@localhost ~]# vim /etc/exports
[root@localhost ~]# exportfs -rv
exportfs: /etc/exports:1: unknown keyword "no_squash_root"
exportfs: No file systems exported!
[root@localhost ~]# showmount -e
Export list for localhost.localdomai

在这里插入图片描述
第三步,配置节点服务器
192.168.17.30
192.168.17.20

yum install -y httpd
systemctl start httpd.service
systemctl enable httpd.service

echo ‘this is benet’ > /var/www/html/index.html
第四步,配置LVS调度器
配置连个网卡,192.168.17.50
192.168.17.129
vim /etc/sysctl.conf
net.ipv4.ip_forward=1

iptables -t nat -F
iptables -F
[root@lvs ~]# iptables -t nat -nL

[root@manager network-scripts]# iptables -t nat -A POSTROUTING -s 192.168.17.0/24 -o ens37 -j SNAT --to-source 192.168.100.129

sysctl -p
在这里插入图片描述

[root@manager network-scripts]# iptables -t nat -A POSTROUTING -s 192.168.17.0/24 -o ens37 -j SNAT --to-source 192.168.100.129
[root@manager network-scripts]# modprobe ip_vs
[root@manager network-scripts]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)

第五步,加载内核模块 安装ipvsadm
yum install -y ipvsadm
modprobe ip_vs #手动加载ip_vs模块
cat /proc/net/ip_vs #查看ip_vs版本信息
ipvsadm --save > /etc/sysconfig/ipvsadm

[root@manager network-scripts]# systemctl start ipvsadm.service
[root@manager network-scripts]# ipvsadm -C
[root@manager network-scripts]# ipvsadm -A -t 192.168.100.129:80 -s rr
[root@manager network-scripts]# ipvsadm -a -t 192.168.100.129:80 -r 192.168.17.20:80 -m -w 1
[root@manager network-scripts]# ipvsadm -a -t 192.168.100.129:80 -r 192.168.17.30:80 -m -w 1
[root@manager network-scripts]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP manager:http rr
-> 192.168.17.20:http Masq 1 0 0
-> www.cat.com:http Masq 1 0 0

在这里插入图片描述


DR模式

1,客户端向目标VIP发送请求,负载均衡根据算法选择后端真是服务器,不修改ip报文,将数据帧的mac地址该问后端真是服务器的mac地址,在局域网上发送,后端真是服务器收到,解封号后,出来报文,再通过lo接口传送给物理网络,向客户响应
2,在lvs负载中,负载均衡与节点配置相同的vip地址,使用lo:0承载vip地址设置内核参数arp_ignore
=1
3,流量分析:客户端发送请求跟负载均衡器,请求数据报文到达内核空间----然后判断数据包的ip是本机vip,此时对数据包请求的服务是否是集群服务修改源mac地址,源ip与目标ip地址没有改变,然后将数据包发送给real server,到达real server的群殴你去报文的mac地址是滋生的mac地址,收到报文,数据包重新封装
4,特性
同一物理网络中,real server可以使用私有地址,也可以说那个公网地址,如果使用公网,可以胡来那个为对rip进行直接访问,Director Server作为群集的访问入口,但不作为网关使用,所以的报文由direct而,但回复不是
5,keepalived
支持故障自动切换,支持节点健康状态检查,判断lvs负载lvs负载调度器,节点服务器的可用性,当master主机出现故障切换到backup节点保证业务正常,
6,原理
采用vrrp热备协议,实现linux服务的多级热备功能,是针对刘有钱的一种备份解决方案,
snmp通过管理服务器,交换机,路由器等设备的一种协议,


lvs-dr-keepalive实验

1,环境
主调度器 192.168.17.30 ipvsadm Keepalived
备注调度器:192.168.17.10
web :192.168.17.20
web:192.168.17.40
客户端
2,lvs调度器配置
systemctl stop firewalld.service
setenforce 0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置vip
开启网卡
在这里插入图片描述
3,由于LVS负载均衡器和各节点需要共用vip地址,应该关闭linux内核的重定向响应参数,不充当路由器

[root@localhost keepalived]# vim /etc/sysctl.conf
[root@localhost keepalived]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

开启配置策略

[root@localhost keepalived]# modprobe ip_vs
[root@localhost keepalived]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost keepalived]# systemctl start ipvsadm
[root@localhost keepalived]# ipvsadm -Lnc

配置路由规则

#!/bin/bash
ipvsadm -C
ipvsadm -A -t 192.168.17.100:80 -s rr
ipvsadm -a -t 192.168.17.100:80 -r 192.168.17.20:80 -g
ipvsadm -a -t 192.168.17.100:80 -r 192.168.17.40:80 -g
ipvsadm
~

ipvsadm -Lnc
bash /opt/dr.sh

在这里插入图片描述

4,web站点配置
先创建lo:0口

cd /etc/sysconfig/network-scripts/
cp -p ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
OnBOOT=yes
IPADDR=192.168.17.100
NETMASK=255.255.255.255

启动
ifup lo:0
ifconfig lo:0
再做路由禁锢
在这里插入图片描述
安装http
yum -y install httpd
调整内核的ARP响应参数以阻止更新VIP的MAC地址,避免冲突

在这里插入图片描述
启动服务,不同的站点配置不同的服务
访问成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5,配置keepalive

[root@localhost network-scripts]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak
[root@localhost keepalived]# vim keepalived.conf
[root@localhost keepalived]# systemctl restart keepalived
[root@localhost keepalived]# vim keepalived.conf
[root@localhost keepalived]# systemctl restart keepalived

global_defs { #定义全局参数
router_id lvs_01 #热备组内的设备名称不能一致
}
vrrp_instance vi_1 { #定义VRRP热备实例参数
state MASTER #指定热备状态,主为master,备为backup
interface ens33 #指定承载vip地址的物理接口
virtual_router_id 51 #指定虚拟路由器的ID号,每个热备组保持一致
priority 110 #指定优先级,数值越大越优先
advert_int 1
authentication {
auth_type PASS
auth_pass 6666
}
virtual_ipaddress { #指定集群VIP地址
192.168.17.100
}
}
#指定虚拟服务器地址vip,端口,定义虚拟服务器和web服务器池参数
virtual_server 192.168.17.100 80 {
lb_algo rr #指定调度算法,轮询(rr)
lb_kind DR #指定集群工作模式,直接路由DR
persistence_timeout 6 #健康检查的间隔时间
protocol TCP #应用服务采用的是TCP协议
#指定第一个web节点的地址,端口
real_server 192.168.17.40 80 {
weight 1 #节点权重
TCP_CHECK {
connect_port 80 #添加检查的目标端口
connect_timeout 3 #添加连接超时
nb_get_retry 3 #添加重试次数
delay_before_retry 3 #添加重试间隔
}
}
#指定第二个web节点的地址,端口
real_server 192.168.17.40 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
清空原有内容

让主挂掉
[root@localhost network-scripts]# systemctl stop ipvsadm
再次查看网页是否能访问
在这里插入图片描述

总结:
1,lvs负载均衡干甚用的?有哪几种方式,
lvs集成在内核之中,一种四层负载均衡策略,适用于中大型环境,具有三种模式,nat ,tun模式和dr模式,常用dr墨黑色
具有四种分流算法,轮询,加权轮询,最小瓶连接数,加权最小连接数
2,如何配置dr模式和keepalive,关键步走是哪些
lvs可以和keeoalived结合实现被跟,冗余,健康检查以及故障切换
vrrp热备协议主要针对是router路由器,同一个路由侠为同一个热备组,通一个人备足中的不同id不形同
vip作为提供服务的ip地址,vip智慧漂移在优先级最高的设备中,多种类型设备的热备优先级去呗主备,主宕机副顶上。
3,keepalive是干什么用的



推荐阅读
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 本文详细介绍了JSP(Java Server Pages)的九大内置对象及其功能,探讨了JSP与Servlet之间的关系及差异,并提供了实际编码示例。此外,还讨论了网页开发中常见的编码转换问题以及JSP的两种页面跳转方式。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 使用LVS与ldirectord实现高可用负载均衡
    本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 免费获取:全面更新的Linux集群视频教程及配套资源
    本资源包含最新的Linux集群视频教程、详细的教学资料、实用的学习课件、完整的源代码及多种软件开发工具。百度网盘链接:https://pan.baidu.com/s/1roYoSM0jHqa3PrCfaaaqUQ,提取码:41py。关注我们的公众号,获取更多更新的技术教程。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • vivo Y5s配备了联发科Helio P65八核处理器,这款处理器采用12纳米工艺制造,具备两颗高性能Cortex-A75核心和六颗高效能Cortex-A55核心。此外,它还集成了先进的图像处理单元和语音唤醒功能,为用户提供卓越的性能体验。 ... [详细]
  • 优化SQL Server批量数据插入存储过程的实现
    本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ... [详细]
  • 访问一个网页的全过程
    准备:DHCPUDPIP和以太网启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Intern ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
author-avatar
mobiledu2502922957
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有