文章目录
- 一. 企业群集的应用
- 二. 企业群集的分类
- 三. 负载均衡群集架构
- 3.1 负载均衡的结构
- 3.2 负载均衡群集三种工作模式
- 四. LVS虚拟服务器(Linux Virtual Server)
- 4.1 LVS的介绍
- 4.2 LVS的负载调度算法
- 4.3 LVS的部署步骤
- 4.3 地址转换模式案例(LVS-NAT)
- 4.32 配置负载调度器
- 4.321 安装LVS管理工具ipvsadm
- 4.232 创建虚拟服务器
- 4.233 添加服务器节点
- 4.234 查看群集节点状态
- 4.235 删除服务器节点
- 4.236 保存负载分配策略
- 4.237 配置路由转发
- 4.24 配置NFS共享存储服务
- 4.25 配置节点服务器
- 在20.0.0.24服务器中
- 在20.0.0.26服务器中
- 4.26 验证LVS
一. 企业群集的应用
1.1 群集的含义
Cluster,集群,群集
由多台主机构成,但对外只表现为一个整体
1.2 企业的问题
互联网应用中,随着站点对硬件性能,响应速度,服务稳定性,数据可靠性等要求越来越高,单台服务器力不从心
1.3 解决方案
使用价格昂贵的小型机,大型机
使用普通服务器构建服务器群集
二. 企业群集的分类
根据群集所针对的目标差异,可分为三种类型
负载均衡群集
提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载的整体性能
LB的负载分配依赖于主节点的分流算法、
高可用群集
提高应用系统的可靠性,尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果。
HA的工作方式包括双工和主从两种模式
高性能运算群集
提高应用系统的CPU运算速度,扩展硬件和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力。
高性能依赖于“分布式运算”,“并行计算”,通过专用硬件和软件将多个服务器的CPU,内存等资源整合在一起,实现只有大型,超级计算机才具备的计算能力
三. 负载均衡群集架构
3.1 负载均衡的结构
第一层:负载调度器----------根据需求,双活,主从
第二层:服务器池-------------根据客户需求选中可用区
第三层:共享存储-------------内容重分发
3.2 负载均衡群集三种工作模式
地址转换-------NAT模式
IP隧道---------TUN模式
直接路由--------DR模式
四. LVS虚拟服务器(Linux Virtual Server)
4.1 LVS的介绍
针对linux内核的负载均衡解决方案
1998年5月,由我国章文嵩博士创建
官方网站:http://www.linuxvirtualserver.org/
4.2 LVS的负载调度算法
4.3 LVS的部署步骤
加载ip_vs模块,安装ipvsadm工具
开启路由转发
新建LVS虚拟服务器并添加节点服务器
配置节点服务器
建立测试网站
挂载NFS共享存储
建立测试网页
保存规则并测试
4.3 地址转换模式案例(LVS-NAT)
一台调度器,两台WEB服务器集群池,一台NFS共享服务器
LVS虚拟服务器 20.0.0.23(内网卡)
192.168.100.23(外网卡)
web服务器1: 20.0.0.24
web服务器2: 20.0.0.26
存储服务器: 20.0.0.27
4.32 配置负载调度器
4.321 安装LVS管理工具ipvsadm
[root@mysql1 ~]# yum -y install ipvsadm
[root@mysql1 ~]# ipvsadm -v
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
4.232 创建虚拟服务器
[root@mysql1 ~]# ipvsadm -A -t 192.168.100.23:80 -s rr
注意:选项A表示添加虚拟服务器,-t 用来指定VIP地址及TCP端口,-s 用来指定负载调度算法-----轮询(rr),加权轮询(wrr),最少连接(lc),加权最少连接(wlc)
4.233 添加服务器节点
[root@mysql1 ~]# ipvsadm -a -r 20.0.0.24:80 -t 192.168.100.23:80 -m
[root@mysql1 ~]# ipvsadm -a -r 20.0.0.26:80 -t 192.168.100.23:80 -m
注意:-a表示添加真实服务器,-t用来指定VIP 地址及TCP端口,-r用来指定RIP地址及TCP端口,-m表示使用NAT集群模式(-g DR模式,-i TUN模式),-w用来设置权重(权重为0时表示暂停节点)
4.234 查看群集节点状态
[root@mysql1 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.23:80 rr
-> 20.0.0.24:80 Masq 1 0 0
-> 20.0.0.26:80 Masq 1 0 0
注意:结合-l 可以列表查看LVS虚拟服务器,结合-n将以数字的形式显示地址和端口
4.235 删除服务器节点
[root@mysql1 ~]# ipvsadm -d -r 20.0.0.24:80 -t 192.168.100.23:80
注意:需要从服务器池中删除某一个节点时,使用选项-d
4.236 保存负载分配策略
[root@mysql1 ~]# ipvsadm-save > /opt/peihua
[root@mysql1 ~]# cat /etc/peihua
-A -t mysql1:http -s rr
-a -t mysql1:http -r 20.0.0.24:http -m -w 1
-a -t mysql1:http -r 20.0.0.26:http -m -w 1
4.237 配置路由转发
[root@mysql1 ~]# vi /etc/sysctl.conf
####省略
net.ipv4.ip_forward = 1 //在文件末尾开启路由转发
[root@mysql1 ~]# sysctl -p //刷新配置文件
net.ipv4.ip_forward = 1
4.24 配置NFS共享存储服务
[root@localhost mysql-5.7.20]# yum -y install nfs-utils
[root@localhost mysql-5.7.20]# yum -y install rpcbind
[root@localhost mysql-5.7.20]# systemctl start nfs
[root@localhost mysql-5.7.20]# systemctl start rpcbind
[root@localhost opt]#mkdir -p 51xit 52xit
[root@localhost opt]# echo 'this is 51xit' >> 51xit/index.html
[root@localhost opt]# echo 'this is 52xit' >> 52xit/index.html
[root@localhost mysql-5.7.20]# systemctl restart nfs
[root@localhost mysql-5.7.20]# systemctl restart rpcbind
[root@localhost mysql-5.7.20]# systemctl enable nfs
[root@localhost mysql-5.7.20]# systemctl enable rpcbind
4.25 配置节点服务器
在20.0.0.24服务器中
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl start nfs rpcbind
[root@localhost ~]# showmount -e 20.0.0.27
Export list for 20.0.0.27:
/opt/52xit 20.0.0.0/24
/opt/51xit 20.0.0.0/24
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# mount 20.0.0.27:/opt/51xit /var/www/html
[root@localhost ~]# vi /etc/fstab
20.0.0.27:/opt/51xit /var/www/html nfs defaluts_netdev 0 0
//永久挂载
在20.0.0.26服务器中
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl start nfs rpcbind
[root@localhost ~]# showmount -e 20.0.0.27
Export list for 20.0.0.27:
/opt/52xit 20.0.0.0/24
/opt/51xit 20.0.0.0/24
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# mount 20.0.0.27:/opt/52xit /var/www/html
[root@localhost ~]# vi /etc/fstab
20.0.0.27:/opt/52xit /var/www/html nfs defaluts_netdev 0 0
//永久挂载
4.26 验证LVS
输入调度器的外网地址192.168.100.23进行验证
刷新一下