高可用集群【澳门新浦金网站】

2019-09-27 17:46 来源:未知

高可用集群

1  概述

集群Cluster

备注:本文主要结合自己的学习笔记,以及参考博客集群(cluster)原理(转)整理而成。

集群类型:

LB lvs/nginx(http/upstream, stream/upstream)

HA 高可用性

SPoF: Single Point of Failure

HPC

集群(cluster)就是一组计算机,他们作为整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意的增加和删除集群系统的节点。

系统可用性的公式:A=MTBF/(MTBF+MTTR)

(0,1), 95%

几个9(指标): 99%, ..., 99.999%,99.9999%;

2Linux Cluster类型

系统故障:

硬件故障:设计缺陷、wear out(损耗)、自然灾害……

软件故障:设计缺陷

a)高可用性(High Availability)集群

提升系统高用性的解决方案之降低MTTR:

手段:冗余redundant

active/passive 主备

active/active双主

active --> HEARTBEAT --> passive

active <--> HEARTBEAT <--> active

HA集群致力于提供高度可靠的服务,避免SPOF单点失败(single Point Of failure)的问题。就是利用集群系统的容错性对外提供7*24小时不间断的服务,如高可用的文件服务器、数据库服务等关键应用。

高可用的是“服务”:

HA nginx service:

vip/nginx process[/shared storage]

资源:组成一个高可用服务的“组件”

(1) passive node的数量

(2) 资源切换

b)负载均衡(Load Balancing)集群:

shared storage:

NAS:文件共享服务器;

SAN:存储区域网络,块级别的共享

使任务可以在集群中尽可能平均的分摊不同计算机处理,充分利用集群的处理能力,提高对任务的处理效率。在实际应用中这几种集群类型可能混合使用,以提供更高稳定的服务,如在一个使用网络流量负载均衡的集群中,就会包含高可用的网络文件系统、高可用的网络服务。

Network partition:网络分区

quorum:法定人数

with quorum: > total/2

without quorum: <= total/2

隔离设备: fence

node:STONITH = Shooting The Other Node In The Head,断

电重启

资源:断开存储的连接

其中负载均衡服务器的高可用性是指为了屏蔽负载均衡服务器失效,需要建立一个备份机。主服务器和备份机上都运行High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器IP并继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,他就释放IP地址,这样的主管理器就开开始再次进行集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步和备份,保持两者系统的基本一致。

TWO nodes Cluster

辅助设备:ping node, quorum disk

.LB Cluster分类

Failover:故障切换,即某资源的主节点故障时,将资源转移至其它节点的操作

四层:lvs,nginx(stream),haproxy(modetcp)

Failback:故障移回,即某资源的主节点故障后重新修改上线后,将之前已转移

至其它节点的资源重新切回的过程

七层:基于http,如nginx(http),haproxy(mode http), httpd(apache)...

HA Cluster实现方案:

澳门新浦金网站,c)性能计算(High Perfervidmance  Computing)集群

ais:应用接口规范 完备复杂的HA集群

RHCS:Red Hat Cluster Suite红帽集群套件

heartbeat

corosync

HPC集群,也称为计算集群。在这种集群运行的是专门开发的并行应用程序,它可以把一个问题的数据分不到多台计算机上,利用这些计算机的共同资源来完成任务,从而可以解决单机不能胜任的工作(如果问题规模太大,单机计算速度太慢)。

vrrp协议实现:虚拟路由冗余协议

keepalived

这类集群致力于提供了单个计算机所不能提供的强大的计算能力。如天气预报、石油勘探与油藏模拟、分子模拟、生物计算等。

3  集群的优点

a)高扩展性

b)高可用性HA:集群中的一个节点失效,它的任务可传递给其他节点。可以防止单点失效

c)高性能:负载平衡集群允许系统同时接入更多的用户

d)高性能价比:可以采用廉价的复合工业标准的硬件来构造高性能的系统

4 集群分类

4.1基于软硬件分类

.硬件:

F5 Big-IP

Citrix Netscaler

A10 A10

.软件:

lvs:LinuxVirtual Server,不能识别应用层数据

nginx:支持四层调度,也可以支持7层调度

haproxy:支持四层调度,也支持7层调度

应用层的调度器,需要对发过来的请求进行解开数据包,然后再封装。有一个问题是,socket一台机器上只能是65536个,并发请求太多,主机将不能正常提供请求。解决方案是把后台服务拆分开,对服务进行分类。把不同的服务拆开,独立提供服务

ats:apachetraffic server,yahoo捐助

perlbal:Perl编写

pound

4.2基于工作的协议层次划分:

.传输层(通用):DPORT

LVS:

nginx:stream机制

haproxy:mode tcp机制

实际工作中,生产环境用nginx和haproxy进行调度

.应用层(专用):针对特定协议,自定义的请求模型分类

proxy server:

http:nginx,httpd, haproxy(mode http), ...

fastcgi:nginx,httpd, ...

mysql:mysql-proxy,...

5  集群相关概念介绍

5.1  HA概念介绍

计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常采用平均无故障时间(MTBF:MeanTime Between Failure)来度量系统的可靠性,用平均恢复时间(MTTR:MeanTime To Restoration(repair))来度量系统的可维护性。于是可用性定义为:A=MTTF/(MTBF+MTTR)*100%。可用性百分比范围是(0,1),如99%,99.5%, 99.9%, 99.99%, 99.999%, 99.9999%。其中99.999%表示一年内允许5分钟的故障时间

系统故障:

硬件故障:设计缺陷、wear out(损耗)、自然灾害……

软件故障:设计缺陷

5.1.1  HA的容错备援运作过程

TAG标签:
版权声明:本文由澳门新浦金网站发布于操作系统,转载请注明出处:高可用集群【澳门新浦金网站】