目录
1、集群简介
1-1、什么是集群
1-2、集群目的
1-3、集群分类
2、LVS
2-1、LVS项目介绍
2-2、LVS集群组成(三端)
2-3、LVS术语
2-4、LVS工作模式(三种)
2-5、负载均衡调度算法
3、LVS-NAT集群软件安装
3-1、安装ipvsadm
3-2、Ipvsadm用法
3-3、LVS-NAT集群拓扑
1、集群简介
1-1、什么是集群
- ? 一组通过高速 络互联的计算组,并以单一系统的模式加以管理
- ? 将很多服务器集中起来一起,提供同一种服务,在客户端看来就象是只有一个服务器
- ? 可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益
- ? 任务调度是集群系统中的核心技术
1-2、集群目的
- ? 提高性能 – 如计算密集型应用,如:天气预 、核试验模拟
- ? 降低成本 – 相对百万美元级的超级计算机,价格便宜
- ? 提高可扩展性 – 只要增加集群节点即可
- ? 增强可靠性 – 多个节点完成相同功能,避免单点失败
1-3、集群分类
? 高性能计算集群HPC – 通过以集群开发的并行应用程序,解决复杂的科学问题 ,银行等
? 负载均衡(LB)集群 – 客户端负载在计算机集群中尽可能平均分摊
? 高可用(HA)集群 – 避免单点故障,当一个系统发生故障时,可以快速迁移
2、LVS
2-1、LVS项目介绍
? Linux 虚拟服务器(LVS)是章文嵩在国防科技大学就读博士期间创建的
? LVS可以实现高可用的、可伸缩的Web、Mail、Cache和Media等 络服务
? 最终目标是利用Linux操作系统和LVS集群软件实现一个高可用、高性能、低成本的服务器应用集群
2-2、LVS集群组成(三端)
- ? 前端:负载均衡层 – —–由一台或多台负载调度器构成
- ? 中间:服务器群组层 – —–由一组实际运行应用服务的服务器组成
- ? 底端:数据共享存储层 –—– 提供共享存储空间的存储区域、
2-3、LVS术语
? Director Server:调度服务器 ——-– 将负载分发到Real Server的服务器
? Real Server:真实服务器 ——–– 真正提供应用服务的服务器
? VIP:虚拟IP地址 ———- 公布给用户访问的虚拟IP地址
? RIP:真实IP地址 ———–– 集群节点上使用的IP地址
? DIP:调度器连接节点服务器的IP地址
2-4、LVS工作模式(三种)
? VS/NAT ———–– 通过 络地址转换实现的虚拟服务器– 大并发访问时,调度器的性能成为瓶颈(10-20台的处理能力)
? VS/DR ———– 直接使用路由技术实现虚拟服务器– 节点服务器需要配置VIP,注意MAC地址广播(100多台的处理能力)
? VS/TUN ———–– 通过隧道方式实现虚拟服务器
2-5、负载均衡调度算法
? 常用调度算法有4种
- – 轮询(Round Robin)
- – 加权轮询(Weighted Round Robin)
- – 最少连接(Least Connections)
- – 加权最少连接( Weighted Least Connections )
? 轮询(Round Robin)
– 将客户端请求平均分发到Real Server
? 加权轮询(Weighted Round Robin)
– 根据Real Server权重值进行轮询调度
? 最少连接(Least Connections)
– 选择连接数最少的服务器
? 加权最少连接
– 根据Real Server权重值,选择连接数最少的服务器
? 其他调度算法
– 基于局部性的最少链接
– 带复制的基于局部性最少链接
– 目标地址散列(Destination Hashing)
– 最短的期望的延迟
– 最少队列调度
3、LVS-NAT集群软件安装
准备
? LVS的IP负载均衡技术是通过IPVS模块实现的
? IPVS模块已成为Linux组成部分
3-1、安装ipvsadm
? 使用rpm命令安装ipvsadm
[root@svr1 Packages]# rpm -ihv ipvsadm-1.27-7.el7.x86_64.rpm.rpm
warning: ipvsadm-1.27-7.el7.x86_64.rpm.rpm: Header V3 RSA/SHA256
Signature, key ID fd431d51: NOKEY
Preparing… ###################################### [100%]
1:ipvsadm ###################################### [100%]
[root@svr1 Packages]#
[root@svr1 Packages]# ipvsadm -v—————–查看ipvsadm版本
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
3-2、Ipvsadm用法
- 创建虚拟服务器
- -A 添加虚拟服务器
- -t 设置群集地址(VIP,Virtual IP)
- -s 指定负载调度算法
- -E修改配置
[root@svr1 ~]# ipvsadm -A -t 172.16.16.172:80 -s rr-—添加虚拟服务器,vip地址为172.16.16.172,调度算法为轮询
- 添加、删除服务器节点
- – -a 添加真实服务器
- – -d 删除真实服务器
- – -r 指定真实服务器(Real Server)的地址
- – -m 使用NAT模式;-g、-i分别对应DR、TUN模式
- – -w 为节点服务器设置权重,默认为1
- -e 修改配置
[root@svr1 ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m—-添加真实服务器,集群地址为172.16.16.172,真实服务器地址为192.168.7.21,使用的模式为NAT模式
[root@svr1 ~]# ipvsadm -d -r 192.168.7.24:80 -t 172.16.16.172:80——删除真实服务器
[root@100 ~]# cat /proc/sys/net/ipv4/ip_forward-—查看路由转发功能是否打开了
1
[root@100 ~]# vim /etc/sysctl.conf —–若没打开通过此步来永久打开
net.ipv4.ip_forward = 1
sysctl -p————————-刷新配置
? 查看IPVS
[root@svr1 ~]# ipvsadm -Ln
TCP 172.16.16.172:80 rr
-> 192.168.7.21:80 Masq 1 2 7
-> 192.168.7.22:80 Masq 1 3 9
-> 192.168.7.23:80 Masq 1 2 8
-> 192.168.7.24:80 Masq 1 4 6
案例1:ipvsadm命令用法
? 使用命令添加基于TCP一些的集群服务
? 在集群中添加若干台后端真实服务器
? 实现同一客户端访问,调度器分配固定服务器
? 会使用ipvsadm实现规则的增、删、改
? 保存ipvsadm规则
3-3、LVS-NAT集群拓扑
操作流程
? Real Server:
– 配置WEB服务器
? Director Server:
– 在其上安装并启用ipvsadm
– 创建虚拟服务器
– 向虚拟服务器中加入节点
? Client:
– 连接虚拟服务器测试
部署LVS调度器
? 打开ip_forward
[root@svr1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1——开启路由转发功能
[root@svr1 ~]# sysctl -p—–刷新配置
? 启动ipvsadm
[root@svr1 ~]# systemctl start ipvsadm
[root@svr1 ~]# systemctl enable ipvsadm
? 创建虚拟服务器,VIP为10.10.10.1,采用的调度算法为Round Robin
[root@svr1 ~]# ipvsadm -A -t 10.10.10.1:80 -s rr
? 向虚拟服务器中加入节点,并指定权重分别为1和2,
[root@svr1 ~]# ipvsadm -a -t 10.10.10.1:80 -r 192.168.10.11 -m -w 1
[root@svr1 ~]# ipvsadm -a -t 10.10.10.1:80 -r 192.168.10.12 -m -w 2
? 查看配置
[root@svr1 ~]# ipvsadm -l -n———注意:这两个选项不能写反
? 保存配置
[root@svr1 ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm
开机自动运行ipvsadm规则:
[root@ds ~]# systemctl enable ipvsadm
? 修改Director调度算法为WRR
[root@svr1 ~]# ipvsadm -E -t 10.10.10.1:80 -s wrr
Client端验证
? 通过web浏览器访问
? 使用ab进行大并发测试
[root@client ~]# ab -c 10 -n 1000 http://10.10.10.1/index.html
? 在Director上查看连接数
[root@svr1 ~]# ipvsadm -L -n
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!