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



推荐阅读
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Kubernetes(k8s)基础简介
    Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 护墙_搭建LVS负载均衡NAT和DR模式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了搭建LVS负载均衡NAT和DR模式相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 什么是网关服务器初学linux服务器开发时,我们的服务器是很简单的,只需要一个程序完成与客户端的连接,接收客户端数据,数据处理,向客户端发送数据。但是在处理量很大的情况下,一 ... [详细]
  • 【2021Java最新学习路线】开启mysql远程连接
    前言面试技巧另外开篇再说,先上面试干货吧。面试的题目并不一定有严格的顺序关系,有的是从前一个问题延伸而来,(探究的是一个知 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了架构文摘:消息队列设计精要相关的知识,希望对你有一定的参考价值。消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具 ... [详细]
  • Nginx的TCP/UDP负载均衡是应用Stream代理模块(ngx_stream_proxy_module)和Stream上游模块(ngx_stream_upstream_mod ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • Mysql + keepalive高可用搭建
    Mysql+keepalive高可用搭建系统环境:centos6.8Ip:192.168.137.36主库192.168.137.38从库VIP(虚拟ip浮动ip):192.168.13 ... [详细]
  • 很多同学对热备,冷备,云备了解不深,我科普一下IT行业各种备份术语。以后别闹笑话了。假设你是一位女性,你有一位男朋友&#x ... [详细]
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社区 版权所有