pacemaker + corosync 搭建高可用集群

pacemaker是集群资源管理器,corosync为心跳线。下面我们使用CRM命令来构建集群,这里我们使用http来测试。我们定义如下:

  机器名  系统      IP地址        所需软件包                vipIP

  node1  rhel6.3  192.168.1.50  pacemaker,corosync,httpd  192.168.1.8


  node2  rhel6.3  192.168.1.51  pacemaker,corosync,httpd  192.168.1.8


一.安装软件包。 

[root@node1 ~]# yum install -y corosync pacemaker

[root@node2 ~]# yum install -y corosync pacemaker


二.设置配置文件

cp /etc/corosync/corosync.example.conf /etc/corosync/corosync.conf

vim /etc/corosync/corosync.conf

totem {

        version: 2

        secauth: off

        threads: 0

        interface {

                ringnumber: 0

                bindnetaddr: 192.168.1.0

                mcastaddr: 226.94.1.1

                mcastport: 5405

                ttl: 1

        }

}

logging {

        fileline: off

        to_stderr: no

        to_logfile: yes

        to_syslog: yes

        logfile: /var/log/cluster/corosync.log

        debug: off

        timestamp: on

  }

}

amf {

        mode: disabled

}

s


 宣告使用的资源管理名称:

cd /etc/corosync/service.d/

vim service

service {

name: pacemaker

ver: 1

}


三.把配置文件传给node2,启动服务即

[root@node1 ~]# scp /etc/corosync/corosync.conf node2:/etc/corosync/

[root@node1 ~]# scp /etc/corosync/service.d/service node2:/etc/corosync/service.d/

[root@node1 ~]# service corosync start

[root@node1 ~]# service pacemaker start

node2:

[root@node2 ~]# service corosync start

[root@node2 ~]# service pacemaker start


四.查看当前状态以及资源

crm_mon -1

============

Last updated: Sat May 11 10:56:55 2013

Last change: Sat May 11 10:55:57 2013 via crmd on node1

Stack: openais

Current DC: node1 - partition with quorum

Version: 1.1.7-6.el6-148fccfd5985c5590cc601123c6c16e966b85d14

2 Nodes configured, 2 expected votes

0 Resources configured.

============

Online: [ node1 node2 ]


如上所示,在线为node1,node2.下面介绍一些常用crm命令。

crm resource status 查看资源状态

crm node standby 离线

crm node online 在线

资源代理为 lsb,ocf,可以使用如下命令查看:

crm ra classes

crm ra list ocf heartbeat 查看heartbeat

crm ra list ocf RedHat

五.检查一下集群是否有错,并且配置VIP地址。

crm_verify -L

由于没有爆头设备:

crm configure property stonith-enabled=false 不启用


下面使用crm开始配置集群资源,我们首先配置VIP地址:

crm configure primitive vip ocf:heartbeat:ipaddr2 \

>params ip=192.168.1.8 cidr_netmask=32 op monitor interval=30s


查看vip配置以及状态(在哪一个节点运行)

crm configure show

crm resource status vip

resource vip is running on: node1


如图所示,vip运行在node1上

六.配置http服务。

vim /etc/httpd/conf/httpd.conf

/Location

把LOCATION开启

并把下面改成127.0.0.1如下所示:

<Location /server-status>

    SetHandler server-status

    Order deny,allow

    Deny from all

    Allow from 127.0.0.1

</Location>

scp /etc/httpd/conf/httpd.conf node2:/etc/httpd/conf


使用crm创建web资源

crm configure primitive website ocf:heartbeat:apache \

>params configfile=/etc/httpd/conf/httpd.conf  op monitor interval=40s


查看资源在哪里运行:

crm resource status website

resource website is running on: node2


这里我们发现两个资源不在同一个上面。我们可以定义约束条件。

crm configure colocation web-ip 100: website vip (WEBSITE追随VIP)

crm configure order web-after-ip inf: vip website (定义启动顺序先VIP)

crm configure property no-quorum-policy=ignore (设置两节点集群)


接下来就可以测试了:

[root@node1 ~]# echo node1 > /var/www/html/index.html

[root@node2 ~]# echo node2 > /var/www/html/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要搭建KVM高可用集群,您可以按照以下步骤进行操作: 1. 安装KVM和相关组件:在每个节点上安装KVM虚拟化软件和相关工具,如libvirt、qemu等。您可以使用包管理工具,如apt、yum等来安装这些软件。 2. 配置共享存储:为了实现高可用,您需要将虚拟机的磁盘镜像文件放置在共享存储上,以便节点间可以访问。您可以选择使用网络存储技术,如NFS、iSCSI、GlusterFS等来搭建共享存储。 3. 设置网络:确保每个节点都有正确的网络配置,包括IP地址、子网掩码、网关等。您还可以使用负载均衡器来实现虚拟机的访问流量分发。 4. 配置群集管理工具:选择适合您需求的群集管理工具,如Pacemaker、Corosync等,并进行相应的配置。这些工具可以监控节点的状态,并在故障发生时自动迁移虚拟机到其他正常节点上。 5. 配置虚拟机迁移:启用虚拟机的迁移功能,以实现在节点间自动迁移虚拟机。这可以通过配置libvirt和相关工具来完成,例如设置节点间的共享存储和网络。 6. 测试高可用集群:在搭建完成后,进行集群的测试和验证。您可以模拟节点故障、网络异常等情况,观察集群的行为是否符合预期。 这是一个基本的框架来搭建KVM高可用集群,具体的实施步骤可能因环境和需求略有不同。希望对您有所帮助!如果您有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值