whechuan00 2015-08-15
简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的 集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统 的节点。
通 过特殊的软件将若干服务器连接在一起并提供故障切换功能的实体我们称之为高可用集群。可用性是指系统的uptime,在7x24x365的工作环境 中,99%的可用性指在一年中可以有87小时36分钟的DOWN机时间,通常在关键服务中这种一天多的故障时间是无法接受的,所以提出了前面提到的错误恢 复概念,以满足99.999%的高可用性需求。
这里我们先说一下几个概念:
1、服务(Service),是HA集群中提供的资源,包括Float IP,共享的存储,apache等等。
2、成员服务器(Member Server) 也叫节点(Node),是HA中实际运行服务提供资源的服务器。
3、失效域(Failover Domain),是HA中提供资源的服务器的集合,当内部某个成员出现故障时,可以将服务切换到其他正常的成员服务器上。在HA中一个失效域一般包含2台成员服务器(未应用虚拟技术)。
4、心跳(HeartBeat)是HA中监控成员服务器状态的方法,一般心跳是通过网线和串口线来传输的。
5、单一故障点(Single Point Of Failuer,SPOF)是指一个系统的这样的一个部件,当它失效或者停止运行,将导致整个系统不能工作。在HA中通常使用双电源,多网卡,双交换机等来避免SPOF。
6、 仲裁(Quorum)是HA中为了准确的判断服务器及其提供的服务是否正常而采用的在共享磁盘中保存成员服务器信息的方法。共享的状态信息包括群集是否活 跃。服务状态信息包括服务是否在运行以及哪个成员正在运行该服务。每个成员都检查这些信息来保证其它成员处于最新状态。在一个只有两个成员的群集中,每个 成员都定期把一个时间戳和群集状态信息写入位于共享磁盘贮存区的两个共享群集分区上。要保证正确的群集操作,如果某成员无法在启动时写入主共享群集分区和 屏蔽共享群集分区,它将不会被允许加入群集。此外,如果某群集成员不更新其时间戳,或者到系统的"heartbeats"(心跳)失败了,该成员就会从群 集中删除。
7、 Fence设备,Fence设备的作用时在一个节点出现问题时,另一个节点通过fence设备把出现问题的节点重新启动,这样做到了非人工的干预和防止出 现问题的节点访问共享存储,造成文件系统的冲突,关于Fence 设备,有外置的比如APC的电源管理器.很多服务器都是内置的,只不过不同厂家的叫法不 同而已。比如HP的称为iLo,IBM的称为BMC,Dell的称为DRAC。
LUCI——RHCS(RedHat Cluster Suite) 提供了多种集群配置和管理工具,常用的有基于GUI的system-config-cluster、Conga等,也提供了基于命令行的管理工具。 system-config-cluster是一个用于创建集群和配置集群节点的图形化管理工具,它有集群节点配置和集群管理两个部分组成,分别用于创建 集群节点配置文件和维护节点运行状态。一般用在RHCS早期的版本中。 Conga是一种新的基于网络的集群配置工具,与system-config- cluster不同的是,Conga是通过web方式来配置和管理集群节点的。Conga有两部分组成,分别是luci和ricci,luci安装在一独 立的计算机上(即服务器),用于配置和管理集群,ricci安装在每个集群节点上,Luci通过ricci和集群中的每个节点进行通信。
一、HA的搭建
实验环境:RHEL6.5 iptables and selinux disabled
三台主机: IP hostname
192.168.2.60(服务器) server60.example.com
192.168.2.167(node1) server67.example.com
192.168.2.168(node2) server68.example.com
分别修改两节点的/etc/hosts
192.168.2.167 server67.example.com
192.168.2.168 server68.example.com
关闭火墙#iptables -F
#service iptables save
关闭selinux #setenforce 0
同步两台主机的系统时间
#yum install ntpdate
#ntpdate 192.168.2.60
在两台节点主机上分别安装ricci
#yum install ricci
启动ricci服务
#service ricci start
设置为开机自启动
#chkconfig ricci on
为ricci设置密码
#passwd ricci
重启服务器的luci
#service luci restart
Stop luci... [ OK ]
Start luci... [ OK ]
Point your web browser to https://server60.example.com:8084 (or equivalent) to access luci
web访问https://server60.example.com:8084/cluster/
进入网页编辑
先用root登录
再用本地用户登录
再用root登录时点击右上角Admin,为普通用户lee授权
这时候就可以创建集群
这时,两节点主机将会重启。这就是为什么把ricci服务设置为开机自启动且将iptables关闭的原因。
创建完成会自动在节点上写入文件/etc/cluster/cluster.conf
<?xml version="2.0"?>
<cluster config_version="1" name="leeypp">
<clusternodes>
<clusternode name="server67.example.com" nodeid="1"/>
<clusternode name="server68.example.com" nodeid="2"/>
</clusternodes>
<cman expected_votes="1" two_node="1"/>
<fencedevices/>
<rm/>
</cluster>