集群一、集群简介1、集群含义由多个主机组成,但对外表现为一个整体,只提供一个访问门户(域名和IP地址),相当于一台大型计算机。 2、在有问题的网络APP应用中,站点对硬件性能、响应速度、服务稳定性、数据可靠性等的要求越来越高,使得一台服务器无法满足负载均衡和高可用性的要求。 3、解决方法根据使用高价小型机、大型机使用多台比较廉价的一般服务器构建服务集群2、集群的分类1、集群目标的不同,选择3种负载均衡集群高可用性集群高性能计算集群2、 划分为负载均衡集群,以提高APP应用系统的响应度、处理尽可能多的访问请求、降低延迟为目标,获得高并发性、高并发性
LB的负载均衡依赖于主节点的分流算法,通过将来自客户端的访问请求分担给多个服务器节点,减轻系统整体的负载
3、高可用性集群(High Availability Cluster )以提高APP应用系统的可靠性、最大限度减少停机时间为目标,确保服务连续性,实现高可用性)的容错效果
HA的工作方式有双工和主从两种模式。 双工是指所有节点同时联机。 主从节点只有主节点在线,但如果发生故障,从节点可以自动切换到主节点。
例如,“故障切换”、“双机热备”等
4、高性能计算集群(High Performance Computer Cluster )以提高APP应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,相当于大型、超级计算机
性能依赖于“分布式计算”和“并行计算”,通过使用专用硬件和软件整合多个服务器的CPU、内存等资源,实现大型、超级计算机才有的计算能力
三.负载均衡群集体系结构加载调度程序(负载平衡器或主管)。
是对整个集群系统的唯一访问口,也称为所有服务器公共的VIP地址、集群IP地址。 通常,主调度程序和两个调度程序配置用于热备份,如果主调度程序出现故障,则可以顺利地用备份调度程序进行替换,以确保高可用性。
服务器池(服务器池)
群集提供的APP应用服务由服务器池负责,每个节点都有独立的RIP地址(真正的IP ),只处理调度程序分发的客户端请求。 当节点临时禁用时,负载调度程序容错将隔离节点,等待错误消除,然后将其重新合并到服务池中。
共享存储(Share Storage )
为服务器池中的所有节点提供稳定、一致的文件访问服务,并允许整个群集的统一共享存储使用NAS设备,或提供提供NFS共享服务的专用服务器。
四、三种负荷调度工作模式1、NAT模式网络地址转换,简称NAT模式
如同防火墙的专用网结构一样,负载调度器用作所有服务器节点的网关,即访问客户端的入口,以及每个节点用作访问响应客户端的出口
服务器节点使用专用IP地址,与负载调度程序位于同一物理网络中,比其他两种方式更安全
2、TUN模式 IP Tunnel,简称TUN模式
开放的网络配置使负载调度器仅充当客户端的访问门户,每个节点通过各自的互联网连接直接响应客户端,而无需通过负载调度器
服务器节点分布在互联网上的不同位置,具有独立的公共网络IP地址,通过专用IP隧道与负载调度器相互通信
3、灾难恢复模式直接路由,简称灾难恢复模式
采用半开放网络结构,类似于TUN模式的结构,但每个节点并不分布在各地,而是与调度程序位于同一物理网络中
负载调度器和每个节点服务器都通过本地网络连接,因此不需要建立专用的IP隧道
五、四种分流算法1,按顺序将接收到的访问请求分配给集群中的每个节点(实际服务器),无论服务器的实际连接数和系统负载如何,均对每个服务器进行平均处理
2、加权轮询调度程序根据设定的权重值分发请求,权重值高的节点优先获得任务,分配的请求数越多
确保高性能的服务器承担更多的访问流量
3、最低连接根据实际服务器建立的连接数进行分配,优先分配收到的访问请求给连接数最小的节点
4、当最小加权连接服务器节点性能差异较大时,可以自动调整实际服务器的权重
高性能节点的活动连接负载比例较大
实验一、NAT (地址转换)1.实验环境LVS服务器192.168.30.7 192.168.10.7WEB服务器1 192.168.30.8WEB服务器2192.168.30.9 clii
2.2创建主页文件
3 .配置构成负载调度器LVS 3.1的LVS的IP
3.2配置snat传输规则[根@ LVS网络-脚本] # echo '1'/pr
oc/sys/net/ipv4/ip_forward //开启路由转发功能[root@lvs network-scripts]# sysctl -p //使内核文件立即生效[root@lvs network-scripts]# iptables -F //清除防火墙规则[root@lvs network-scripts]# iptables -t nat -F //清除nat表规则[root@lvs network-scripts]# iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -o ens37 -j SNAT --to-source 192.168.10.7 //追加一条nat表规则,从192.168.30.0网段的过来的IP,将其转换成192.168.10.7 3.3 加载LVS内核模块 [root@lvs ~]# modprobe ip_vs //手动加载ip_vs模块[root@lvs ~]# cat /proc/net/ip_vs //查看版本信息IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn[root@lvs ~]# 3.4 安装ipvsadm管理工具
客户端访问192.168.10.7
后端配置相同,只展示一台
可以看第二个实验
2.3 配置keepalived 2.3.1 安装keepalived [root@lvs01 keepalived]# yum -y install ipvsadm keepalived //安装keepalivedLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comPackage ipvsadm-1.27-8.el7.x86_64 already installed and latest versionPackage keepalived-1.3.5-19.el7.x86_64 already installed and latest versionNothing to do[root@lvs01 keepalived]# 2.3.2 keepalived配置文件备份 [root@lvs01 network-scripts]# cd /etc/keepalived/[root@lvs01 keepalived]# cp keepalived.conf keepalived.conf.bak 2.3.3 修改配置文件 [root@lvs01 keepalived]# vim keepalived.conf //备lvs需要修改设备名称,优先级,热备状态global_defs { #定义全局参数 router_id lvs01 #热备组内的设备名称不能一致}vrrp_instance vi_1 { #定义VRRP热备实例参数 state MASTER #指定热备状态,主为master,备为backup interface ens33 #指定承载vip地址的物理接口 virtual_router_id 51 #指定虚拟路由器的ID号,每个热备组保持一致 priority 110 #指定优先级,数值越大越优先 advert_int 1 authentication { auth_type PASS auth_pass 6666 }virtual_ipaddress { #指定集群VIP地址 192.168.30.100}}#指定虚拟服务器地址vip,端口,定义虚拟服务器和web服务器池参数virtual_server 192.168.30.100 80 { lb_algo rr #指定调度算法,轮询(rr) lb_kind DR #指定集群工作模式,直接路由DR persistence_timeout 6 #健康检查的间隔时间 protocol TCP #应用服务采用的是TCP协议#指定第一个web节点的地址,端口real_server 192.168.30.8 80 { weight 1 #节点权重 TCP_CHECK { connect_port 80 #添加检查的目标端口 connect_timeout 3 #添加连接超时 nb_get_retry 3 #添加重试次数 delay_before_retry 3 #添加重试间隔 }}#指定第二个web节点的地址,端口real_server 192.168.30.9 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 }}} 3.测试 3.1 启动keepalived
LVS不太适合小型的集群,是在四层的负载均衡策略
三种模式:NAT,TUN,DR
四种分流算法:轮询,加权轮询,最小连接,加权最小连接
可以和keepalived结合实现备份、冗余、健康检查、故障切换