Pacemaker 安装与使用

来源:互联网 发布:网络展厅 编辑:程序博客网 时间:2024/05/16 12:58

Pacemaker 只做资源管理器(CRM),底下的消息系统采用 corosync。

安装

ubuntu 为例,

sudo aptitude install -y pacemaker corosync

配置 corosync

修改 /etc/default/corosync 文件,修改 start=yes,否则服务脚本无法启动。

/etc/corosync/corosync.conf 中,修改 bindnetaddr 的值为节点之间互相通知监听的网段(例如 eth1 所在的 10.0.100.0 网段)。

添加如下内容,让corosync 启动的时候也启动 pacemaker(ubuntu 上运行会有 bug,还得是手动启动)。

service {    ver:  0    name: pacemaker}

修改 expected_votes 的值为大于节点数目一半的数字。

执行 corosync-keygen 命令,会生成 /etc/corosync/authkey 文件,该文件和 corosync.conf,分别复制到集群的各个成员节点上。

启动 pacemaker 和 corosync

$ sudo service pacemaker restart$ sudo service corosync restart

如果启动成功了,可以通过 sudo corosync-cmapctl |grep members 或者 sudo crm status查看集群中成员的状态。

配置资源信息

在任意一个 node 上执行下面的 crm 配置命令(实际上是通过 CLI 来编辑后面的 XML 文件)。

# crmcrm(live)# configure          #进入配置模式crm(live)configure# verify    #校验配置   error: unpack_resources:     Resource start-up disabled since no STONITH resources have been defined   error: unpack_resources:     Either configure some or disable STONITH with the stonith-enabled option   error: unpack_resources:     NOTE: Clusters with shared data need STONITH to ensure data integrityErrors found during check: config not valid  -V may provide more detailscrm(live)configure# property stonith-enabled=false #根据校验情况,关闭 stonithcrm(live)configure# commit  # 提交修改crm(live)configure# verify  # 重新校验crm(live)configure# primitive web_ip ocf:IPaddr params ip=9.186.100.102  #定义 IP 资源,这个 ip 资源会被主节点配到自己的网卡上crm(live)configure# primitive nginx_service lsb:nginx  #定义服务资源crm(live)configure# commitcrm(live)configure# group mygroup web_ip nginx_service   #定义资源组crm(live)configure# commitcrm(live)configure# property no-quorum-policy=ignore     #投票权不到一半时的策略crm(live)configure# commitcrm(live)configure# exit

测试

分别在各个节点上启动 nginx,页面填入不同内容。

访问配置的虚 IP,即 9.186.100.102,查看具体访问到了哪个节点,然后在该节点上断开 eth1,同时删除 eth0:0(如果 enable 了 stonith 可以自动完成,否则要手动解决 split),过一会重新查看虚 IP 页面,会发现自动变成了其它的节点。

转载请注明:http://blog.csdn.net/yeasy/article/details/46638101


0 0