LVS集群
集群的概念:
为解决某个特定的问题,将多个计算机组合起来形成一个单个系统
集群的水平扩展:
增加设备,并行运行多个服务,通过网路连接和算法来调度服务分配的问题
集群的类型:
负载均衡集群(LB loab blance) :多个主机组成,每个主机只承担一部分访问请求,靠负载均衡算法实现
高可用集群(HA high availiablity) :避免SPOF(singe point of failuer) 单点故障,系统当中有一部分组件出现故障。可以保障整个系统继续运行
HPC(high-performance computing):快速 转发 快速响应
集群的可靠性指标:
MTBF:系统在正常运行期间无故障平均时间,一般用小时或者天数表示,MTBF值越高,系统的可靠性越高,出现的故障也越小
MTTR:系统从发生故障到恢复正常运行的平均时间,MTTR越小 说明系统的恢复故障的能力越强
A:系统可靠性指标,A值越高越好A=MTBF/(MTBF+MTTR)
停机时间:
计划内停机:只的预定时间内的维护或者维修时间,自定义
计划外停机:运维人主要关注的
设计集群的需要考虑的一些原则;
1 可扩展性:要有随时添加删除设备的能力(动态的扩缩容)
2 集群中:如果有节点发生故障,它可以快速检测并且自动切换,
3 负载均衡:合理的分配每个服务的负载,避免单个节点的过载影响性能
4 可维护性:方便的进行部署维护监控,降低成本
5 安全性 :数据泄密
6 易用性:相关的工作
lvs集群:
linux virtual server 是一个部署在Linux系统通过内核层面实现负载均衡的软件
作用:
多个后端服务器组成一个高可用,高新能,负载均衡的高性集群,通过负载均衡的算法将客户请求发送到后端服务器。
lv集群当中的术语:
Vs(virtual server) :lvs服务的逻辑名字,外部访问lvs集群是提供的一个虚拟ip地址和端口
VIP: virtual ip对外提供访问的统一虚拟IP地址。
DS(Director server): lvs集群当中的主服务器,也叫调度器,是整个lvs集群的核心,接收客户端的请求转发到后端RSDIP: Director ip调度器在Iys内部使用的ip地址。用于和真实服务器进行通信。
RS(real server lvs ):后端是真时服务器的IP,接收到DS的请求之后,返回响应结果RIP:后端真实服务器的jp地址
CIP: client ip客户端的ip地址
LVS访问的大致流程
1 客户端访问都是vip地址
2 由调度器ds接受到请求,根据调度算法选择好后端服务器 请求发送给rs
3 RS处理请求并将响应发送到DS
4 DS把RS 的响应包装成自己响应,发送到客户端
lvs的负载均衡模式方式:
NAT DR TUN
其中NAT和DR最常用的方式**。**
NAT:地址转发
配置步骤:
1:在调度器上配置双网卡。一个指内,一个之外
2:配置一个可以和公网进行通信的vip
3: 配置转发策略,如果访问vip就会把请求的数据转发到后台的RS地址,响应给用户。
192.18.33.0---------调度器---- ---- nat转换-------------12.0.0.1:80-------客户端。
数据请求进入调度器做的是请求报文中ip地址的修改
数据响应进入调度器,根据NAT配置进行地址转换
nat:
对于客户端来说请求地址始终不变,客户端不需要修改任何配置。转发由调度器通过算法来完成,后端服务器只管接受响应。也不需要修改任何配置。
DR:
DR:直接路由模式。请求由调度器完成,但是响应客户端由真实服务器直接响应,不需要通过调度器。
好处是:性能高,而且可以配置vip地址的高可用。不存在单点故障。
如何设置lvs:
Lvs adm工具: 管理ipvs内核模块的命令工具,可用于配置和管理LVS集群
-A: 添加虚拟服务器
-D: 删除整个服务器
-s 指定负载调度的算法
-a 添加真实服务器
-d 删除真实服务器
-t 指定vip地址的端口号
-r 指定rip的端口号
-m 表示使用nat 模式
-
g 表示使用DR模式
-
i 表示使用TUN模式
-w 设置真是服气的权重
- P 60 :设置连接保持的时间60秒(默认不带)
-ln 以数字和列表的形式查看lvs的配置信息
静态调度的写法:
Rr 轮询
Wrr加权轮询
dh 目的地址hash
根据ip地址查找静态hash表 获取需要真实的rs地址
动态调度的写法:
ls最小连接数调度
wlc:加权最小连接数调度
权重高的,转发的就多,为了额避免性能瓶颈,在跟上最小连接数分配,可以把请求往连接数量较小的服务器继续转发。
lblc:基于地址的最小连接数调度。
将来自同一个目的地址的请求分配给RS,如果这台服务器尚未满负荷,就会把请求分配给连接数最小的RS,而且在下一次转发
网址访问内容
#清空原有数据
所有从233.0网段进来的统统从12.0.0.1出去
#配置共享策略
[root@www opt]# vim /etc/exports
#创建共享目录,哪些网址可以访问,给与权限可以同步
#把服务发布下
[root@www opt]# exportfs -rv
NAT模式
命令:systemctl stop firewalld
setenforce 0
#安装依赖环境命令:yum -y install nfs-utils rpcbind
#开启服务命令:systemctl start rpcbind
systemctl start nfs
#创建共享目录命令:mkdir /opt/[名字] /opt/[名字]
给目录文件赋权
命令:chmod 777 /opt/名称 /opt/名称
设置共享配置文件
命令:vim /etc/exports
发布共享目录并查看
命令:exportfs -rv
showmount -e
配置第二台虚拟机
安装HTTP服务
命令:yum -y install httpd
开启HTTP服务
命令:systemctl start httpd
systemctl enable httpd
安装共享依赖环境
命令:yum -y install rpcbind nfs-utils
按顺序开启服务
命令:systemctl start nfs
systemctl enable nfs
systemctl start rpcbind
systemctl enable rpcbind
测试查看共享地址
命令:showmount -e 192.168.8.100
创建网页执行文件
命令:echo "内容" > /var/www/html/index.html
创建永久挂载
命令:vim /etc/fstab
查看挂载是否成功
命令:mount -a #先刷新挂载
df -h
部署第三台虚拟机
安装相同的服务
命令:yum -y install nfs-utils rpcbind httpd
创建网页执行文件
命令:echo "内容" > /var/www/html/index.html
创建永久挂载
命令:vim /etc/fstab
查看挂载
命令:mount -a #刷新挂载
df -h
查看指定地址共享
命令:showmount -e [IP地址]
部署第四台虚拟机
配置SNAT转发规则
命令:vim /etc/sysctl.conf
测试配置内容
命令:sysctl -p
清除防火墙策略
命令:iptables -F
检查一下防火墙策略
命令:iptables -t nat -nL
设置防火墙策略
命令:iptables -t nat -A POSTROUTING -s [IP地址] -o ens36 -j SNAT --to--source 10.0.0.1
加载IP_VS模块
命令:modprobe ip_vs
安装ipvsadm工具
命令:yum -y install ipvsadm
修改虚拟机设置
修改网络编辑器
创建网卡
命令:cp ifcfg-ens33 ifcfg-ens36
修改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens36
查看网卡信
命令:ifconfig
设置ipvsadm策略
命令:ipvsadm -C
ipvsadm -A -t 10.0.0.1:80 -s rr
ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.200:80 -m -w 1
ipvsadm -a -t 10.0.0.1:80 -r 192.168.8.130:80 -m -w 1
保存分配策略
命令:ipvsadm-save
启动策略
命令:ipvsadm
修改Win系统的IPv4地址协议
修改Web节点服务器的网关指向
网关指向调度器的RIP地址
两台Web服务重启网卡
命令:systemctl restart network