CentOS 6.4 作为一款经典的 Linux 发行版,在企业环境中曾广泛应用,而 Red Hat Cluster Suite (RHCS) 则为其提供了高可用性集群解决方案,结合两者,可以构建稳定可靠的业务集群系统,确保服务在节点故障时无缝切换,提升业务连续性,以下从环境准备、组件安装、配置部署到测试验证,详细介绍基于 CentOS 6.4 的 RHCS 集群搭建流程。

环境准备与基础配置
在部署 RHCS 集群前,需先完成基础环境配置,假设集群由两台节点组成(node1 和 node2),操作系统均为 CentOS 6.4,需确保以下设置:
- 网络配置:为集群节点配置静态 IP 地址,并设置主机名与 IP 的映射(在
/etc/hosts文件中添加两节点的 IP 和主机名)。 - 时间同步:集群对时间一致性要求严格,可通过 NTP 服务同步时间,例如使用
ntpdate pool.ntp.org命令手动同步或配置 NTP 服务自动同步。 - 用户权限:建议创建专用集群管理用户(如
cluster),并在两节点上配置 SSH 互信,实现无密码登录,方便后续管理操作。 - 依赖包安装:安装 RHCS 所需的基础依赖包,如
gcc、make、libstdc++等,可通过yum groupinstall "Development Tools"命令安装开发工具集。
RHCS 组件安装
RHCS 主要由 cman(集群管理器)、ccs(集群配置系统)、fenced(节点隔离服务)、rgmanager(资源管理器)等组件构成,在 CentOS 6.4 中,可通过官方 YUM 源安装 RHCS 相关软件包:
启用高可用性仓库:
CentOS 6.4 默认未包含 RHCS 仓库,需启用 Red Hat 的高可用性附加仓库,若使用 CentOS,可替换为对应的 CentOS HighAvailability 仓库,编辑/etc/yum.repos.d/CentOS-Base.repo文件,添加[HighAvailability]仓库配置。安装核心组件:
执行以下命令安装 RHCS 主要软件包:yum install cman ricci luci fence-virt rgmanager
cman:负责集群节点间的通信和成员管理;ricci:集群管理守护进程,用于下发配置;luci:基于 Web 的集群管理界面(可选);fence-virt:虚拟化环境下的节点隔离工具;rgmanager:资源管理器,负责服务的启动、停止和故障切换。
集群配置与节点管理
RHCS 的配置主要通过集群配置文件 (/etc/cluster/cluster.conf) 完成,该文件需在所有节点上保持一致。
初始化集群配置:
使用ccs工具创建初始配置文件,在任意节点(如 node1)执行:ccs -f /etc/cluster/cluster.conf create ccs -f /etc/cluster/cluster.conf addcluster mycluster --name="MyCluster" ccs -f /etc/cluster/cluster.conf addnode node1 --votes=1 --nodeid=1 --ipaddr=192.168.1.101 ccs -f /etc/cluster/cluster.conf addnode node2 --votes=1 --nodeid=2 --ipaddr=192.168.1.102
配置完成后,将
cluster.conf文件分发至 node2 的/etc/cluster/目录,并确保权限正确 (chmod 644 /etc/cluster/cluster.conf)。
启动集群服务:
在两节点上依次启动ricci和cman服务:service ricci start service cman start
启动后,可通过
cman_tool nodes命令查看集群节点状态,确认两节点已加入集群。
资源与服务配置
RHCS 通过 rgmanager 管理资源和服务,需定义资源类型、资源组和集群服务。
定义资源类型:
资源类型是集群可管理的服务单元(如 IP、脚本、文件系统等),定义一个虚拟 IP 资源:ccs -f /etc/cluster/cluster.conf addip VirtualIP --ipaddr=192.168.1.100 --family=ipv4
创建资源组与服务:
将资源(如虚拟 IP、Web 服务)组合成资源组,并绑定到集群服务,创建一个名为web-service的资源组:ccs -f /etc/cluster/cluster.conf addresourcegroup web-service ccs -f /etc/cluster/cluster.conf addresourcetogroup web-service VirtualIP
配置完成后,重启
rgmanager服务使配置生效:service rgmanager restart
验证服务状态:
使用clustat命令查看集群和服务状态,确认web-service资源组已在某节点上运行,且虚拟 IP 可正常访问。
故障切换与高可用性测试
RHCS 的核心优势在于故障自动切换,可通过模拟节点故障验证高可用性。
模拟节点故障:
在 node1 上执行service cman stop停止集群服务,模拟节点宕机。clustat应显示 node1 状态为 “Offline”,而web-service资源组会自动切换至 node2 运行,虚拟 IP 也随之迁移至 node2。fencing 机制测试:
fenced服务会在节点故障时隔离该节点,避免“脑裂”问题,可通过fence_tool手动触发 fencing 操作,测试节点隔离功能:fence_tool -d node1
验证 node1 是否被集群隔离,且资源组完成切换。
相关问答 FAQs
Q1:CentOS 6.4 部署 RHCS 时,提示“Cluster configuration is not valid”,如何解决?
A:该错误通常由 cluster.conf 配置文件语法错误或节点信息冲突导致,可检查以下内容:
- 节点 IP 和主机名是否正确配置,且与
/etc/hosts一致; - 资源组中的资源是否存在冲突(如重复的 IP);
- 使用
ccs -f /etc/cluster/cluster.conf validate命令验证配置文件语法,若仍有问题,可通过ccs -h查看详细的错误日志。
Q2:RHCS 集群中,资源组切换失败,可能的原因有哪些?
A:资源组切换失败常见原因包括:
- 依赖资源未就绪:例如资源组依赖的文件系统未挂载或服务未启动,需检查资源依赖关系;
- 节点资源不足:目标节点内存、 CPU 等资源不足,无法承载资源组;
- fencing 机制异常:若
fenced服务未正常运行,可能导致节点未被隔离,进而阻止资源切换; - 网络问题:节点间通信中断或虚拟 IP 冲突,需检查网络配置和防火墙规则(如关闭 iptables 对集群端口的拦截)。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复