什么是集群?
集群就是组合多台计算机完成同一个任务。
集群的分类
1. LBLoad Blancing):负载均衡集群;
2. HAHigh Available):高可用集群;
3. HPHigh Performance):高性能集群;

负载均衡集群

负载均衡集群运行时,一般通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。这样的计算机集群有时也被称为服务器群(Server Farm)。 一般高可用性集群和负载均衡集群会使用类似的技术,或同时具有高可用性与负载均衡的特点。
负载均衡集群解决方案
基于硬件
BigIPF5公司)、A10IBM)、CitrixNetscaler
基于软件(开源):
LVSLinux Virtual Server
利用负载均衡器(硬件或软件)Director,来自客户端的的请求指向DirectorDirector 利用调度方法,将请求分发给后台服务器Real ServerDirector所具备的功能:aDirector有持久链接的作用()b、后台服务器的健康状态检测。
Proxy
基于反向代理,常用的软件有Nginx
基于缓存服务器,常用软件有VarnishsquidVarnish性能高于squid)。

高可用集群

当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。
高可用集群的相关概念
资源:提供服务所必备的东西(例如,提供web服务所用的IP等);
资源类型
1、primitive:也称native
2、Group:资源组;
3、Clone:克隆类型,允许同时在多个节点上应用的资源,(例如,集群文件系统);
4、Master-slave :同时运行在两个集群节点上,且有主从关系。
故障转移域:当一台提供服务的服务器挂了以后,该服务可以转到哪些主机上,这些主机就该服务的故障转移域;
资源与资源间的关系: 
1、位置约束  -- 定义当一个故障服务器重新上线时,原来的服务是否还是由这台服务器来提供服务,若为负值,则服务资源将fallback,回到原来的服务器上,反之,将不会回去;
2、顺序约束 --定义资源从故障服务器上转到可用服务器上时的应用次序;
3、排列约束--定义那些资源必须是在一个主机上或者是不能在一个主机上。
资源在节点间每一次的来回流动都会造成那段时间内其无法正常被访问,所以,我们有时候需要在资源因为节点故障转移到其它节点后,即便原来的节点恢复正常也禁止资源再次流转回来。这可以通过定义资源的黏性(stickiness)来实现。在创建资源时或在创建资源后,都可以指定指定资源黏性。
资源黏性值范围及其作用
0:这是默认选项。资源放置在系统中的最适合位置。这意味着当负载能力“较好”或较差的节点变得可用时才转移资源。此选项的作用基本等同于自动故障回复,只是资源可能会转移到非之前活动的节点上;
大于0:资源更愿意留在当前位置,但是如果有更合适的节点可用时会移动。值越高表示资源越愿意留在当前位置;
小于0:资源更愿意移离当前位置。绝对值越高表示资源越愿意离开当前位置;
INFINITY:如果不是因节点不适合运行资源(节点关机、节点待机、达到migration-threshold 或配置更改)而强制资源转移,资源总是留在当前位置。此选项的作用几乎等同于完全禁用自动故障回复;
-INFINITY:资源总是移离当前位置;
高可用集群层次
1、基础架构层Messaging Infrastructure
相关软件:HeartbeatKeepaliveUltramonkeyCorosync/Openais
2、资源配置层Resource Allocation
资源管理器(Cluster Resource Manager--向外传递心跳信息和接收心跳信息;
LRMLocal Resource Manager)负责指挥、监控本地资源
Transition Engine 只存在于DC上,负责quorum等的计算;
Policy Engine 只存在于DC上;
CLBCluster Information Base--集群信息库,集群的配置文件,xml格式
配置接口:命令行接口,GUI接口(GUI:客户端软件hb_gui提供,web接口:ricci/lucihawk
相关软件:HaresourcesHeartbeat v1)、CRMHeartbeat v2)、Pacemakercman
3、资源层Resource
四种集群资源管理类别:
1HB v1Legacy Heartbeat 1 Resource AgentsHB1
2LSB ScriptsLinux Standard Base /etc/rc.d/init.d:start,stop,status,restart)
3OCFOpen Cluster Framework startstopmonitormeta
4STONITH :管理stonith设备,clone类资源;
集群文件系统
在给文件系统中某个文件加锁的时候通知集群的其它节点。(分布式锁DL
常用的集群文件系统:
GFS2:Global File system
OCFS2Oracle Cluster File System
分布式文件系统 MFS fastdfshfs
quorum 法定票数,多于总票数的一半,避免高可用集群出现"脑裂"
no-quorum-policy --不够法定票数时的集群策略
Ignore  --忽略
freeze  --冻结,自身的服务可以运行
stop  --停止
suicide  --自杀
Fencing(隔离)
节点级别
Stonith机制。
资源级别
1、外部fence设备(例如:电源交换机、SAN交换机);
2、内部fence设备:服务器自带的设备(例如:IBM RSAIIHP ilo)。
高性能集群
高性能集群采用将计算任务分配到集群的不同计算节点而提高计算能力,因而主要应用在科学计算领域。比较流行的HP采用Linux操作系统和其它一些免费软件来完成并行运算。这一集群配置通常被称为Beowulf集群。
共享存储
实现共享存储有三种方式:
1. DASDirect Attached Storage)直接附加存储,基于PCI插槽连接硬件raid
2. NASNetwork Attached Storage)网络附加存储,就是一台服务器提供NFS服务,共享文件。这是在文件级别上实现共享存储的。
3. SANStorage Area Network)存储区域网络,在服务器上识别为磁盘设备,服务器上的操作系统可以对其进行分区格式化。SAN又分为:FCSANIPSAN。 
FCSAN:二次封装SCSI协议为FC协议,通过光纤传输,实现数据存储。
IPSAN:二次封装SCSI协议为IP协议,通过双绞线传输,实现数据存储。