企业群集相关以及其中lvs-nat部署
企业群集概述
群集含义
cluster,集群、群集
由多台服务器构成,但对外表现为一个整体,接待用户请求
问题
互联网应用中,随着站点对硬件性能,响应速度,服务稳定性,数据可靠性要求越来越高,单台服务器力不从心
解决方法
使用价格昂贵的小型机,大型机
使用普通服务器构建服务器群集
群集的分类
根据群集所针对的目标差异,可分为三种类型
负载均衡群集、高可用群集、高性能运算群集
负载均衡群集
提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发高负载(LB)整体性能
LB的负载分配依赖于主节点的分流算法
高可用群集
提高应用系统的可靠性,尽可能的减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果
HA的工作方式包括双工和主从两种模式
高性能运算群集
提高应用系统的cpu运算速度,扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力
高性能依赖于“分布式计算”、“并行计算”,通过专用硬件和软件将多个服务器的cpu,内存等资源整合在一起,实现只有大型,超级计算机才具备的计算能力
负载均衡群集架构
负载均衡的结构
第一层,负载均衡调度器
第二层,服务器池
第三层,共享存储
负载均衡群集工作模式分析
负载均衡群集是目前企业用的最多的群集类型
群集的负载调度技术由三种工作模式
地址转换、IP隧道、直接路由
NAT模式
地址转换
类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也作为个节点回应客户机的访问出口
服务器节点使用私有ip地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式,但负载量较低
TUN模式
ip隧道
采用开放式的网络结构,负载调度器即作为客户机的访问入口,各节点通过各自的internet连接直接访问回应客户机,而不在经过负载调度器
服务器节点分散在互联网中的不同位置,具有独立的公网ip地址,通过专用ip隧道与负载调度器相互通信
DR模式
直接路由
采用半开放式的网络结构,与tun模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络
负载调度器与各节点服务器通过本地网络连接,不需要建立专用的ip隧道
与TUN相比
相同点:都是各地web节点直接响应客户机
不同点:tunnel个节点有独立的公网地址,dr没有。
tun各节点和调度器是IP隧道的方式通讯,dr是通过局域网方式。
响应客户机的方式:tun是web节点直接响应,drweb节点通过路由器响应
关于lvs虚拟服务器
linux virtual server
针对linux内核负载均衡解决方案
modprobe ip_vs #确认内核对lvs的支持
cat /proc/net/ip_vs #查看信息
lvs的负载调度算法
轮询(RR):
将收到的访问请求按照顺序轮流分配给群集中的个节点(真是服务器),均等的对待每一台服务器,而不管服务器实际的连接数和系统负载
加权轮询(WRR):根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多保证性能强的服务器承担更多的访问流量
最少连接(LC):根据真实服务器已建立的连接数进行进行连接,将收到的访问请求优先分配给连接数最少的节点
加权最少连接(WLC):在服务器节点的性能差异较大时,可以为真实服务器自动调整权重性能较高的节点将承担更大比例的活动连接负载
lvs群集创建与管理创建
虚拟服务器
添加、删除服务器节点
查看群集及节点情况
保存负载分配策略
lvs_nat部署
步骤
加载ip_vs模块,安装ipvsadm工具
开启路由转发
新建lvs虚拟服务器并添加节点服务器配置节点服务器(为了实验建立的测试页内容不同,实际上是一样的)
建立测试网址:挂载nfs共享存储、建立测试页、保存规则并测试
流程
准备五台主机1,2,3,4,5
1作为调度器配置两张网卡
一张外网:20.0.1.10 连接客户机
一张内网:20.0.0.10 连接服务器
2,3作为网页服务器IP地址分别为20.0.0.20和20.0.0.30
4作为网页存储器IP地址20.0.0.40
5客户机IP地址为20.0.0.50
开启路由功能
vi /etc/sysctl.conf
在2,3号主机上装上httpd作为服务器
分别设定ip为20.0.0.20和20.0.0.30
在4主机上安装nfs
yum -y install rpcbind nfs-utils
创建两个网页(为做区分,为不同网页,实际上应该是同一网页)
yum -y install rpcbind nfs-utils
mkdir /opt/web1
mkdir /opt/web2
echo “web1” > /opt/web1/index.html
echo “web2” > /opt/web2/index.html
vi /etc/exports
重启服务
systemctl restart nfs
systemctl restart rpcbind
systemctl status nfs
systemctl status rpcbind
检查挂载情况
showmount -e
将对应的网页挂载到网页根目录下
在2号主机
mount 20.0.0.40:/opt/web1 /var/www/html
在三号主机
mount 20.0.0.40:/opt/web2 /var/www/html
在1号调度器上检测网页
配置调度器
检测加载模块
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm
配置调度器脚本
-A:表示添加虚拟服务器,即客户机访问地址
-a:表示添加真实服务器,提供服务器的地址
-t:用来指定VIP地址及TCP端口
-r:用来指定RIP地址及TCP端口
-s:用来指定负载调度算法,rr(轮询),wrr(加权轮询),lc(最少连接),wlc(加权最少连接)
-m:表示使用NAT群集模式。-g是DR模式,-i是TUN模式
运行脚本
在客户机上访问
再次在另一台客户机上访问
查看调度情况
ipvsadm -Lnc