zoukankan      html  css  js  c++  java
  • Pacemaker 安装与使用

    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 文件)。

    # crm
    crm(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 integrity
    Errors found during check: config not valid
      -V may provide more details
    crm(live)configure# property stonith-enabled=false #依据校验情况,关闭 stonith
    crm(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# commit
    crm(live)configure# group mygroup web_ip nginx_service   #定义资源组
    crm(live)configure# commit
    crm(live)configure# property no-quorum-policy=ignore     #投票权不到一半时的策略
    crm(live)configure# commit
    crm(live)configure# exit
    

    測试

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

    訪问配置的虚 IP,即 9.186.100.102,查看详细訪问到了哪个节点,然后在该节点上断开 eth1,同一时候删除 eth0:0(假设 enable 了 stonith 能够自己主动完毕。否则要手动解决 split)。过一会又一次查看虚 IP 页面,会发现自己主动变成了其他的节点。

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


  • 相关阅读:
    linux杂记
    mysql 备份命令
    查看mysql 套接字文件 mysql.sock
    处理下载是文件名乱码正确姿势
    对象创建完成后进行数据同步
    python——数据库编程
    python——网络编程2
    python——网络编程
    python——12、面向对象
    pythoning——11、正则匹配
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7150247.html
Copyright © 2011-2022 走看看