集群:为解决某个特定问题将多个计算机组合起来形成一个单系统
集群的目的就是为了解决系统的性能瓶颈
负载均衡集群:LB(loab blance)多个主机组成,每个主机只承担一部分访问请求,靠负载均衡算法来实现。
高可用集群:HA(high availablity) 避免SPOF(single point of failuer)单点故障。系统当中有一部分组件出现故障,可以保障整个系统继续运行。
MTBF: mean time between failure 系统在正常运行期间无故障的平均时间,一般用小时或者天数来表示。MTBF值越高,系统的可靠性越高,出现的故障的概率也越小
MTTR:系统从发生故障到恢复正常运行的平均时间,一般用小时或者天数表示。MTTR值越小,说明系统恢复故障的能力越强
A:系统的可靠性指标 A值越高越好
停机时间:
计划内停机:指的预定时间内的维护或者维修时间。可以自定义
计划外停机:运维人员主要关注的就是计划外。7*24小时
1.可扩展性:集群要有随时可以添加或者删除设备的能力。动态的扩缩容。
2.可靠性:集群中如果有节点发送故障,可以快速检测并且自动切换。
3.负载均衡:要合理的分配负载避免单个节点过载,影响整体性能。
4.可维护性:能够方便的进行配置,部署,维护,监控,降低成本。
5.安全性:防止恶意的攻击以及数据的泄密,数据丢失。
6.易用性:相关的工作人员,可以方便的进入集群,能够快速的开发,部署,测试等等
lvs:linux virtual server 只能部署在linux服务器上 通过内核层面,实现负载均衡的软件。
主要作用:多个后端服务器组成一个高可用,高性能,负载均衡的高性能集群。通过负载均衡的算法将客户端请求发送到后端服务器。
(1)VS(virtual server):lvs服务的逻辑名称,外部访问lvs集群时提供的一个虚拟ip地址和端口号
(2)DS(director server):lvs集群中的主服务器或调度器,是整个lvs集群的核心。作用:接收客户端的请求转发到后端RS
(3)RS(real server):lvs集群的后端的真实服务器的ip。作用:接收到DS请求后,由RS处理请求并返回响应结果
(4)CIP(client ip):客户端的ip地址
(5)VIP(virtual ip):对外提供访问的统一的、虚拟的ip地址
(6)DIP(director ip):DS调度器在lvs内部使用的ip地址。作用:用于和RS进行通信
(7)RIP(real ip):后端真实服务器的ip地址
(1)客户端访问vip
(2)DS调度器接收到请求,根据调度算法选择后端服务器RS,请求发送给RS
(3)RS处理请求并将响应发送到DS调度器
(4)DS会把RS真实服务器的响应包装成自己的响应,然后发送到客户端
客户端不知道请求的真实服务器,也不知道响应的服务器是谁
2.4 负载均衡的方式
(1)NAT模式——地址转换(常用)
(2)DR模式——直接路由(最常用)
(3)TUN模式——隧道协议(不用)【花钱】
工作原理:
(1)在调度器上配置双网卡,一个指向内部,一个指向外部
(2)配置一个可以和公网进行通信的vip
(3)配置转发策略,如果访问vip,会把请求的数据转发到后台的RS。请求以报文的格式请求,调度器会修改目标ip地址和端口
(4)RS处理完请求之后响应客户端。先到DS,调度器进行地址转换,把内网地址转换成公网地址,调度器响应给用户
3.1配置
nat模式的部署方式:
负载调度器 :配置爽网卡 192.168.233.10(内网)12.0.0.1(ens36)
二台后端web真实服务器:192.168.233.20 192.168.233.30
一台NFS共享服务器:192.168.233.40
全部关闭
systemctl stop firewalld
setenforce 0
test2,3,4
yum -y install nfs-utils rcpbind
test2
mkdir kgc benet
echo "this is kgc" > /opt/kgc/index.html
echo "this is benet" > /opt/benet/index.html
vim /etc/exports
/opt/kgc 192.168.233.0/24(rw,sync)
/opt/benet 192.168.233.0/24(rw,sync)
systemctl restart rpcbind
systemctl restart nfs
exportfs -rv
showmount -e 192.168.233.40
yum -y install httpd
mount 192.168.233.40:/opt/kgc /var/www/html
systemctl restart httpd
test3:
systemctl restart rpcbind
systemctl restart nfs
showmount -e 192.168.233.40
systemctl restart httpd
mount 192.168.233.40:/opt/benet /var/www/html
curl 192.168.233.30
test2
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
test3
vim /etc/sysconfig/network-scripts/ifcfg-ens33
test1
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36
ens33
ens36
systemctl restart network
yum -y install iptables-services iptables
yum -y install ipvsadm*
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -o ens36 -j SNAT --to 12.0.0.1
iptables -t nat -vnL
ipvsadm-save>/etc/sysconfig/ipvsadm
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.66.15:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.66.16:80 -m
ipvsadm-save>/etc/sysconfig/ipvsadm
systemctl restart ipvsadm.service
vim /etc/sysctl.conf
添加 net.ipv4.ip_forward=1
sysctl -p