热门标签 | 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是干什么用的



推荐阅读
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 菜鸟物流用户增长部现正大规模招聘P6及以上级别的JAVA工程师,提供年后入职选项。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 本文介绍了如何利用X_CORBA实现远程对象调用,并通过多个示例程序展示了其功能与应用,包括基础的Hello World示例、文件传输工具以及一个完整的聊天系统。 ... [详细]
  • 小米路由器AX6000与小米11同步推出,不仅在硬件配置上达到了旗舰级水准,其独特的4K QAM技术更是引领了行业新标准。本文将深入探讨这款路由器的性能表现及其实际应用。 ... [详细]
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社区 版权所有