其他分享
首页 > 其他分享> > 好东西,负载均衡LVS

好东西,负载均衡LVS

作者:互联网

理论知识点

一,集群的含义

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,keepalived,ipvsadm,192.168,均衡,root,节点,localhost
来源: https://blog.csdn.net/shiqiang002/article/details/119086256