博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LVS-ipvsadm
阅读量:6241 次
发布时间:2019-06-22

本文共 3461 字,大约阅读时间需要 11 分钟。

集群:

集群就是通过高速网络互联的计算机组,以单一系统的模式管理
任务调度是集群系统的核心技术
优点:
提高性能
可靠性高
降低成本
提高可扩展性
分类:
高性能计算集群HPC
负载均衡集群HB-客户端负载在计算机集群中尽可能平均分摊
高可用集群-避免单点故障

#################################################################

LVS:

前端:负载均衡层
由一台或多台负载调度其组成
中间:服务器群组层
由一组实际运行应用服务的服务器组成
底端:数据共享存储层
提供共享存储空间的区域

术语:

Director Server:调度服务器
将负载分发到Real server的服务器
Real Server:真实服务器
真正提供应用服务的服务器
VIP:虚拟IP地址
公布给客户端访问的虚拟地址
DIP:调度器连接节点服务器的地址
RIP:真实IP地址
集群节点 上使用的IP地址

工作模式:

NAT:
通过网络地址转换实现的虚拟服务器
当并发访问量大时,调度器成为性能的瓶颈
DR:
直接使用路由技术实现虚拟服务器
节点服务器需要配置VIP,注意MAC地址广播
TUN:
通过隧道方式实现虚拟服务器

常用调度算法:

RR:轮询
平均分发客户端请求
WRR:加权轮询
根据Real server 权重值进行轮询调度
LC:最少连接
选择连接数最少的服务器
WLC:加权最少连接
根据Real server ,选择连接数最少的服务器

######################################################

客户端:eth0 192.168.2.253

调度器:eth0:192.168.4.1

eth1:192.168.2.1

real server:

web1: eth0 192.168.4.2
web2: eth0 192.168.4.20

LVS的IP负载均衡技术是通过IPVS模块实现的

调度器配置:

1、安装ipvsadm

#yum -y install ipvsadm
#service ipvsadm start
#chkconfig ipvsadm on
2、开启内核路由转发
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
3、添加虚拟服务
-A 添加虚拟服务器
-t 设置群集地址
-s 制定负载调度算法
-E 修改虚拟服务
#ipvsadm -A -t 192.168.2.1:80 -s rr //192.168.2.1 VIP地址 rr轮询
4、添加real server
-a 添加真实服务器
-d 删除真实服务器
-t 群集地址
-e 修改real server
-r 真实服务器地址
-m 使用NAT模式;-g -i 分别对应DR和TUN
-w 设置权重
#ipvsadm -a -t 192.168.2.1:80 -r 192.168.4.2:80 -m
#ipvsadm -a -t 192.168.2.1:80 -r 192.168.4.20:80 -m
#service ipvsadm save //保存配置
#ipvsadm -Ln //查看配置
#cat /etc/sysconfig/ipvsadm //查看配置信息
5、启动服务:
#service ipvsadm start

web1配置:

#yum -y install httpd
#echo 'web2' >/var/www/html/test.html
#service httpd start
#chkconfig httpd on
#route add default gw 192.168.4.1 //设置网关
#route -n

web2配置:

#yum -y install httpd
#echo 'web20' >/var/www/html/test.html
#service httpd start
#chkconfig httpd on
#route add default gw 192.168.4.1 //设置网关
#route -n

客户端配置:

#route add default gw 192.168.2.1

客户端测试:

elinks --dump

调度器端验证:

#ipvsadm -Ln --stats //查看连接信息

#######################################################################

加权轮询:

调度器配置:
#ipvsadm -E -t 192.168.2.1:80 -s wrr
#ipvsadm -e -t 192.168.2.1:80 -r 192.168.4.1:80 -m -w 1
#ipvsadm -e -t 192.168.2.1:80 -r 192.168.4.1:80 -m -w 2
#service ipvsadm save
#ipvsadm -Ln

客户端测试:

#elinks --dump

#######################################################################

LVS/DR模式:

**NAT模式的缺点:

当并发量太大的时候,调度器会成为这个集群的瓶颈。所以我们采用DR模式。

DR模式相对于NAT模式需要解决的问题:

1、要让real server直接给客户端进行回包,所以需要给real server绑定VIP
2、real server有VIP之后产生的问题,real server和调度服务器都有VIP,客户端在访问VIP时,必须是调度服务器进行响应,才能给real server进行分发。所以,需要解决,不能让real server响应分发请求。
3、调度服务器分发客户端请求时,不能用VIP进行分发,如果用VIP进行分发的话,因为real server也有VIP,所以在回应分发请求的时候,就会恢复给自己的VIP。**

配置:

IP规划:web1 eth0:192.168.4.2
web2 eth0:192.168.4.20
调度器:eth0:192.168.4.1
VIP:192.168.4.10
//生产环境这些地址都是公网地址

web1配置:

#ifconfig lo:1 192.168.4.10/32
#cd /prod/sys/net/ipv4/conf
#echo 1 > lo/arp_ignore
#echo 1 > all/arp_ignore
#echo 2 > lo/arp_announce
#echo 2 > all/arp_announce

web20配置:

#ifconfig lo:1 192.168.4.10/32
#cd /prod/sys/net/ipv4/conf
#echo 1 > lo/arp_ignore
#echo 1 > all/arp_ignore
#echo 2 > lo/arp_announce
#echo 2 > all/arp_announce

// 只回答目标 IP 地址是来访网络接口本地地址的 ARP 查询请求

// 2 用自己 MAC 地址帮兄弟接收和回应 arp 广播包,找自己的也接收
lo eth1 或 eth1 eth2 这些网络接口 都在一层上 被称为兄弟接口

调度器配置:

#ifconfig eth0:1 192.168.4.10/32

#ipvsadm -A -t 192.168.4.10:80 -s rr
#ipvsadm -a -t 192.168.4.10:80 -r 192.168.4.2:80 -g
#ipvsadm -a -t 192.168.4.10:80 -r 192.168.4.20:80 -g
#service ipvsadm save
#ipvsadm -Ln

客户端访问:

//web1和web20页面交替出现。

调度器查看:

#ipvsadm -Ln --stats //只有进入的数据包流量,没有发出的数据包流量。

转载于:https://blog.51cto.com/13399301/2064764

你可能感兴趣的文章
找出一个字符串中第一个只出现一次的字符
查看>>
CSS学习笔记(一)深入理解position属性和float属性
查看>>
xml入门
查看>>
python Flask框架mysql数据库配置
查看>>
[20150529]用户与用户组管理
查看>>
baidu__git_android
查看>>
ZC_源码编译真机烧写_20160424
查看>>
day26-UDP协议无粘包问题
查看>>
使用HTML5的十大原因
查看>>
转发:修饰符
查看>>
【转载】Linux下configure命令详细介绍
查看>>
图片中转站
查看>>
DSP c6678的启动方式
查看>>
【Linux】解决Android Stadio报错:error in opening zip file
查看>>
功能(一):添加影像服务图层
查看>>
选择伊始
查看>>
PHP中继承
查看>>
总结各种容器特点
查看>>
SQL Server高级查询
查看>>
13-Flutter移动电商实战-ADBanner组件的编写
查看>>