vmware linux rhcs,使用RHCS实现HA集群

使用RHCS实现HA集群

Clients

|

vip

|---------------------|

web1       web2

|---------------------|

|

share storage

例子:实现apache高可用

Clients

|

vip 1.1.1.100

|---------------------|

web1       web2

|---------------------|

|

share storage (nfs,模拟fence设备)

备注:

今天由于没有物理fence设备,在vmware实验环境下,只能特殊增加一个模拟fence设备,虽然一点效果都没有,但是只是为了满足一下cman集群的基本条件。

vip : 1.1.1.100

web1: node1.upl.com 1.1.1.128

web2: node2.upl.com 1.1.1.129

storage: node3.upl.com 1.1.1.130

资源:

vip

httpd

挂载共享存储(今天实验可选)

fence设备:

用于把故障节点进行重置,以保证集群里的独占资源可以被正确访问,保证集群稳定运行。

失效域:

集群中可以有很多节点,其中的一些节点可以是放在同一个失效域,用于表明这些节点是共同够造成一个HA集群,它们之间相互竞争。

n1,n2,n3

n1,n2  ---> apache ha

n2,n3  ---> mysql ha 

1、两个节点安装rhcs集群套件。

# yum groupinstall "Clustering" "Cluster Storage"

2、在其中一个节点进行配置

# system-config-cluster &

组播:224.0.0.1 - 239.255.255.254

添加节点: node1.upl.com,node2.upl.com

添加fence : node3.upl.com

类型: global network block device

给节点连接fence

配置失效域

配置全局资源,这些资源对所有失效域都是可见,都可以被它们竞争

ip address

nfs mount

script

配置服务: 把失效域和资源进行绑定。告诉失效域里的节点到底去竞争些什么资源

绑定资源的时候,注意顺序。

同步配置文件到另外一个节点

3、准备好fence设备

在node3.upl.com上去配置

# gnbd_serv -n

4、在集群节点上启动集群

node1,node2上执行:

# service cman start 

# service rgmanager start

查看集群的运行状态:

# system-config-cluster &

Cluster Status for webha5143 @ Thu Sep 22 11:26:56 2011

Member Status: Quorate

Member Name                        ID   Status

------ ----                        ---- ------

node1.upl.com                          1 Online, Local, rgmanager

node2.upl.com                          2 Online, rgmanager

Service Name              Owner (Last)              State

------- ----              ----- ------              -----

service:webserv           node1.upl.com             started

# clustat -i2

# cman_tool status

# ip addr 才能看到vip

其余管理操作:

手工进行资源切换

# clusvcadm -r webserv -m node2.upl.com

Trying to relocate service:webserv to node2.upl.com...Success

service:webserv is now running on node2.upl.com

验证资源已经切换过去

服务故障,资源是否会被自动切换

手工把当前获得资源的httpd服务关闭

出现故障的时候,一般会发生些什么,查看日志。

# tail -f /var/log/messages

Sep 23 13:49:30 node2 clurgmgrd: [2993]: script:httpd: status of /etc/rc.d/init.d/httpd failed (returned 3)

Sep 23 13:49:30 node2 clurgmgrd[2993]: status on script "httpd" returned 1 (generic error)

Sep 23 13:49:30 node2 clurgmgrd[2993]: Stopping service service:webserv

Sep 23 13:49:41 node2 clurgmgrd[2993]: Service service:webserv is recovering

rhcs和heartbeat style 2默认都是通过调用资源的启动脚本进行简单的判断,例如:

service httpd status ,通过返回码简单判断,如果是非0,就说明有故障,就会进行资源重启或者切换。

这种判断方法:默认仅仅是否脚本简单的判断,而脚本默认也是简单地判断进程是否存活。不能有有效区分服务是否能够正常工作:如,僵尸进程就不能区分。

解决方法:自己可以扩展脚本中的status处理过程。通过访问健康页面来实现。

停止集群:

# service rgmanager stop

# service cman stop

例子2:实现MySQL高可用

Clients

|

vip 1.1.1.100

|---------------------|

mysql1       mysql2

|---------------------|

|

share storage (nfs,模拟fence设备)

资源:

vip

共享存储:nfs

mysqld

一些小步骤:

建立nfs

建立挂载目录

找一个节点手工挂载,改权限,

编写my.cnf

初始化MySQL数据文件

默认情况下,mysqld的启动脚本是跟rhcs不兼容的:

当mysql被意外停止,rhcs 就会通过 /etc/rc.d/init.d/mysqld status判断mysql状态,发现mysql已经被停止,就会尝试把所有资源让给另外的节点,但是让出去之前,必须保证资源是独占,所以它会把之前获得的所有资源都释放,对于script类型的资源,会使用 /etc/rc.d/init.d/mysqld stop的方式停止。由于mysqld原本已经意外停止,然后rhcs再去停止的时候就会返回非0的状态码,rhcs就误认为停止mysql失败,就不会把资源让出去,最后集群失效。

解决方法:

# service rgmanager stop

修改脚本mysqld

# vim /etc/rc.d/init.d/mysqld

stop(){

status mysqld

if [ $? -ne 0 ];then

return 0

fi

。。。。。

# service rgmanager start

当前集群已经启动之后,可以在线更改配置文件

# ccs_tool  update /etc/cluster/cluster.conf

或者通过图形界面 send to cluster按钮

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RHCS(Red Hat Cluster Suite)是Red Hat开发的一套Linux高可用性集群解决方案,适用于构建高可用性集群环境。而CentOS 7是一种基于Red Hat Enterprise Linux(RHEL) 源代码构建的自由开源发行版。 在CentOS 7上搭建RHCS集群,需要进行以下步骤: 1. 安装CentOS 7操作系统:首先需要下载CentOS 7的安装介质,并按照步骤安装在每台集群节点上。 2. 安装RHCS软件包:通过Red Hat官方提供的软件仓库或者下载对应版本的RHCS软件包,并在每台节点上安装。 3. 创建共享存储:RHCS集群需要共享存储来存储和同步数据。可以使用一些常见的存储技术如NFS、iSCSI或者GFS2等。在每台节点上挂载共享存储,并确保所有节点都可以访问。 4. 配置集群资源:RHCS集群可以管理不同类型的资源,包括虚拟IP地址、文件系统、服务等。通过编辑配置文件,将要管理的资源配置到集群中。 5. 启动和管理集群:在每台节点上启动RHCS服务和集群管理软件。可以使用命令行工具,也可以使用图形化界面进行管理。在启动集群后,可以监控集群状态,并进行故障切换和资源迁移等操作。 6. 测试和验证:一旦集群配置和启动完成,可以进行一些测试和验证,例如模拟故障、切换资源和性能测试等,确保集群的可靠性和可用性。 总之,RHCS集群在CentOS 7上的搭建需要进行配置、安装和管理多个方面的工作,以实现高可用性和可靠性的应用服务。通过合理的规划和配置,能够保证系统的稳定性和可用性,提高系统的整体性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值