企业群集应用概述
■群集的含义:
Cluster,集群、群集
由多台主机构成,但对外只表现为一个整体
■问题: |
互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心 |
解决方法 |
使用价格昂贵的小型机、大型机 |
使用普通服务器构建服务群集 |
比如阿里云,云上线标准要5000台,一个区域就5000
企业群集分类
■根据群集所针对的目标差异,可分为三种类型:
负载均衡群集
高可用群集
高性能运算群集
■负载均衡群集(Load Balance Cluster) |
提高应用系统的响应能力、尽可能处理更多的访问请求、i咸少延迟为目标,获得高并发、高负载(LB)的整体性能 |
LB的负载分配依赖于主节点的分流算法 |
■高可用群集(High Availability Cluster) |
提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果 |
HA的工作方式包括双工和主从两种模式 |
■高性能运算群集(High Performance Computer Cluster) |
提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力 |
高性能依赖于“分布式运算”、“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力 |
负载均衡群集架构
第一层,负载调度器(Load Balancer或Director)
第二层,服务器池(Server Pool)
第三层,共享存储(Share Storage)
一般服务器池与存储服务器之间都会有一个光纤交换机
负载均衡群集工作模式
■负载均衡群集是目前企业用得最多的群集类型
■群集的负载调度技术有三种工作模式 |
地址转换 |
IP隧道 |
直接路由 |
NAT模式——地址转换 |
Network Address Translation,简称NAT模式 |
类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口 |
服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式 |
TUN模式——IP隧道 |
IPTunnel,简称TUN模式 |
采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的lnternet车接直接回应客户机,而不再经过负载调度器 |
服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信 |
DR模式——直接路由 |
Direct Routing,简称DR模式 |
采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络 |
负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道 |
LVS负载调度算法
Linux Virtual Server
针对Linux内核的负载均衡解决方案
1998年5月,由我国的章文嵩博士创建
官方网站: http://www.linuxvirtualserver…org/
#确认内核对LVS的支持
[root@localhost~]# modprobe ip_vs
[root@localhost~]# cat /proc/net/ip_vs
IPVirtual Server version 1.2.1(size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
◆轮询(Round Robin) |
将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等地对待每一台服务器,而不管服务器实际的连接数和系统负载 |
◆加权轮询(Weighted Round Robin) |
根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多 |
保证性能强的服务器承担更多的访问流量 |
◆最少连接(Least Connections) |
根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点 |
◆加权最少连接(Weighted Least Connections) |
在服务器节点的性能差异较大时,可以为真实服务器自动调整权重 |
性能较高的节点将承担更大比例的活动连接负载 |
NFS共享存储
1.Network File System,网络文件系统 |
依赖于RPC(远端过程调用) |
需安装nfs-utils.rpcbind软件包 |
系统服务:nfs、rpcbind |
共享配置文件:/etc/exports |
2、使用NFS发布共享资源 |
安装nfs-utils.rpcbind软件包 |
设置共享目录 |
启动NFS服务程序 |
查看本机发布的NFS共享目录 |
3、在客户机中访问NFS共享资源 |
安装rpcbind软件包,并启动rpcbind服务 |
手动挂载NFS共享目录 |
fstab自动挂载设置 |
实现过程如下:
##首先是NFS存储服务器的操作192.168.100.21##
#rpm -q nfs-utils 如果没装, yum -y install nfs-utils
#rpm -q rpcbind 如果没装, yum -y install rpcbind
[root@localhost~ ]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
##创建挂载点内容
[root@localhost ~]# mkdir /opt/51xit /opt/52xit
[root@localhost ~]# echo "你好,我是51" > /opt/51xit/index.html
[root@localhost ~]# echo "你好,我是52" > /opt/51xit/index.html
##宣告挂载什么内容
[root@localhost ~]# vi /etc/exports
/opt/51xit 192.168.100.0/24(rw,sync)
/opt/52xit 192.168.100.0/24(rw,sync)
##查看一下
[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24
[root@localhost~]# systemctl restart nfs
[root@localhost~]# systemctl restart rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
###下面是web服务器的挂载操作##
[root@localhost~]# showmount -e 192.168.100.21 ####如果还没发布,请到存储服务器发布下. exportfs -rv
Export list for 192.168.100.21:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# mount 192.168.100.21:/opt/51xit /var/www/html/
###开机自动挂载,注意格式对齐
[root@localhost~]# vi /etc/fstab
192.168.100.21:/opt/51xit /var/www/html/ nfsdefaults,_netdev 0 0
NFS容易出错的地方
1:
#如果你NFS服务器宣告的是/opt/52xit 192.168.100.0/24
#那你在挂载时,不要挂载/opt/52xit/ 192.168.100.0/24,这里多了一个/
#虽然是一样的,但是不会识别
2:
#当你宣告的时候,切记网段后面不要跟空格,不然等你showmount -e的时候会看到
#everyone 都可以挂载
[root@localhost ~]# vi /etc/exports
/opt/51xit 192.168.100.0/24(rw,sync)
/opt/52xit 192.168.100.0/24(rw,sync)