北京 网站建设,合肥网站优化选哪家,无代码开发是什么,安全文化企业示范企业评价标准一、集群概述
1.1 集群的背景
集群定义#xff1a;为解决某个特定问题将多个计算机组合起来形成一个单系统
集群目的#xff1a;为了解决系统的性能瓶颈
集群发展历史#xff1a; 垂直扩展#xff1a;向上扩展#xff0c;增加单个机器的性能#xff0c;即升级硬件 水…一、集群概述
1.1 集群的背景
集群定义为解决某个特定问题将多个计算机组合起来形成一个单系统
集群目的为了解决系统的性能瓶颈
集群发展历史 垂直扩展向上扩展增加单个机器的性能即升级硬件 水平扩展向外扩展增加设备。并行的运行多个服务通过网络和算法来调度服务分配的问题 1.2 集群的类型
负载均衡集群LB(loab blance)由多个主机组成每个主机只承担一部分访问请求。主要靠负载均衡算法来实现高可用集群HA(high availiablity)避免SPOF(single point of failure)单点故障。系统当中有一部分组件出现故障可以保障整个系统继续运行高性能集群HPC(hish-performance computing)快速转发,快速响应 1.3 集群的可靠性指标
MTBFmean time between failure系统在正常运行期间无故障的平均时间一般用小时或者天数来表示。MTBF值越高系统的可靠性越高出现故障的概率也越小MTTR系统从发生故障到恢复正常运行的平均时间一般用小时或者天数表示MTTR值越小说明系统恢复故障的能力越强A系统的可靠性指标A值越高越好
三者关系AMTBF/(MTBFMTTR)
停机时间
计划内停机指预定时间内的维护或者检修时间
计划外停机运维人员主要关注 1.4 设计集群的原则
1、可扩展性集群要有随时可以添加或者删除设备的能力以及动态地扩缩容 2、可靠性集群中如果有节点发生故障可以快速检测并且自动切换 3、负载均衡合理地分配负载避免单个节点过载影响整体性能 4、可维护性能够方便地进行配置、维护、监控降低成本 5、安全性防止恶意攻击以及数据泄露、丢失 6、易用性相关的工作人员可以方便地进入集群能够快速地开发、部署、测试等等 二、LVS虚拟服务器
2.1 LVS概述
Linux Virtual Server是一个部署在Linux系统通过内核层面实现负载均衡的软件
主要作用多个后端服务器组成一个高可用、高性能、负载均衡的高性能集群。通过负载均衡的算法将客户端请求发送到后端服务器
LVS集群当中的术语
vs(virtual server)lvs服务的逻辑名字外部访问lvs集群时提供的一个虚拟ip地址和端口 DS(Directop server)lvs集群当中的主服务器也叫调度器是整个lvs集群的核心接受客户端的请求转发到后端RS RS(real server)lvs的后端的真实服务器的ip接收到了DS的请求之后返回响应结果 CIP(client ip)客户端的ip地址VIP(virtual ip)对外提供访问的同一虚拟IP地址 DIP(Director ip)调度器在lvs内部使用的ip地址用于和真实服务器进行通信 RIP后端真实服务器的ip地址
2.2 LVS访问流程
客户端访问都是访问vipDS接收到请求根据调度算法选择好后端服务器(rs)RS处理请求并将响应发送到DSDS把RS的响应包装成自己响应发送到客户端
这种情况下客户端既不知道请求的真实服务器也不知道响应的服务器
2.3 LVS的负载均衡方式 NATNetwork Address Translation地址转换访问的是vip进入集群调度器来选择一台后端的真实服务器然后转发到真实服务器响应过程是先到调度器调度器做地址转换再把响应发送到客户端。 DRDirect Routing直接路由模式 在LVS集群和后端服务器之间建立一个虚拟接口将客户端请求直接发送到后端服务器并将后端服务器返回的响应包通过LVS集群进行转发。 TUNTunneling隧道协议 将客户端请求通过LVS集群中的一个IP地址和端口号发送到后端服务器同时在LVS集群和后端服务器之间建立一个隧道进行数据传输。
其中NAT和DR是最常用的方式 2.4 LVS集群的设置
ipvasdm工具管理ipvs内核模块的命令行工具可用于配置和管理lvs集群
ipvasdm工具常用选项:
-A添加虚拟服务器
-D删除整个虚拟服务器
-s指定负载调度的算法
rr轮询wrr加权轮询dh目的地址hash根据ip地址查找静态hash表获取需要真实的RS的地址sh源地址hashlc最小连接数调度wlc加权最小连接数调度权重高的转发的就多为了避免性能瓶颈再跟上最小连接数分配可以把请求往连接数量较小的服务器继续转发lblc基于地址的最小连接数调度将来自同一个目的地址的请求分配给RS如果这台服务器尚未满负荷就会把请求分配给连接数最小的RS而且在下一次转发时会优先考虑这台RS
-a添加真实服务器
-d删除真实服务器
-t指定VIP地址的端口号
-r指定RIP的端口号
-m表示使用nat模式
-g表示使用DR模式
-i表示使用TUN模式
-w设置真实服务器的权重
-p 60设置连接保持的时间60s 三、LVS-NAT部署实操 实验配置
20.0.0.10调度器内网网卡
12.0.0.1调度器外网网卡
20.0.0.40nfs共享存储
20.0.0.61web集群1
20.0.0.62web集群2
20.0.0.20访问客户端配置nfs服务器
40、61、62
yum -y install nfs-utils rpcbind
40
[rootpup4 ~]# cd /opt
[rootpup4 opt]# mkdir pup benet
[rootpup4 opt]# chmod 777 /opt/kgc/ /opt/benet/
[rootpup4 opt]# echo this is pup /opt/pup/index.html
[rootpup4 opt]# echo this is benet /opt/benet/index.html
[rootpup4 opt]# vim /etc/exports
--添加--
/opt/pup 20.0.0.0/24(rw,sync)
/opt/benet 20.0.0.0/24(rw,sync)[rootpup4 opt]# systemctl restart rpcbind
[rootpup4 opt]# systemctl restart nfs
[rootpup4 opt]# exportfs -rv
exporting 20.0.0.0/24:/opt/benet
exporting 20.0.0.0/24:/opt/pup 配置web服务器
61
[rootnginx1 ~]# systemctl restart rpcbind
[rootnginx1 ~]# systemctl restart nfs
[rootnginx1 ~]# showmount -e 20.0.0.40
Export list for 20.0.0.40:
/opt/benet 20.0.0.0/24
/opt/pup 20.0.0.0/24
[rootnginx1 ~]# mount 20.0.0.40:/opt/pup /usr/local/nginx/html
[rootnginx1 ~]# systemctl restart nginx
62
[rootnginx2 ~]# systemctl restart rpcbind
[rootnginx2 ~]# systemctl restart nfs
[rootnginx2 ~]# showmount -e 20.0.0.40
Export list for 20.0.0.40:
/opt/benet 20.0.0.0/24
/opt/pup 20.0.0.0/24
[rootnginx2 ~]# mount 20.0.0.40:/opt/benet /usr/local/nginx/html
[rootnginx2 ~]# systemctl restart nginx 61、62相同操作
[rootnginx1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
--修改--
GATEWAY20.0.0.10
#DNS1218.2.135.1[rootnginx1 ~]# systemctl restart network配置调度器
[rootpup1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
--修改--
#GATEWAY20.0.0.2
#DNS1218.2.135.1[rootpup1 network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[rootpup1 network-scripts]# vim ifcfg-ens36[rootpup1 network-scripts]# systemctl restart network
[rootpup1 network-scripts]# iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o ens36 -j SNAT --to 12.0.0.1 [rootpup1 network-scripts]# yum install ipvsadm* -y
[rootpup1 yum.repos.d]# ipvsadm -A -t 12.0.0.1:80 -s rr
[rootpup1 yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.61:80 -m
[rootpup1 yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.62:80 -m
[rootpup1 yum.repos.d]# ipvsadm-save/etc/sysconfig/ipvsadm
[rootpup1 yum.repos.d]# systemctl restart ipvsadm.service [rootpup1 yum.repos.d]# vim /etc/sysctl.conf
--添加--
net.ipv4.ip_forward 1[rootpup1 yum.repos.d]# sysctl -p
net.ipv4.ip_forward 1验证 20.0.0.20客户端网卡配置