本文没有采用红帽自带的pcs配置集群资源,而采用crm配置集群资源,各人喜好,crm相对于pcs功能更强,更易上手。

    配置集群前的准备工作:

    同步时间、主机名解析
    两节点安装: yum --y install pcs
    两节点开启服务:systemctl start pcsd    systemctl enable pcsd                
    设置hacluster密码:echo "123456" |passwd --stdin hacluster
    认证两台主机:pcs cluster auth node1 node2 -u hacluster
    设置集群:    pcs cluster setup --name myclustername node1 node2   #此时会生成/etc/corosync/corosync.onf的配置文件,修改logging字断中的日志存放方式:
                logging {
                    to_logfile:yes
                    logfile:/var/log/cluster/corosync.log
                }
    启动集群:pcs cluster start --all   或指定集群名

    验证集群状态:corosync-cfgtool -s  或 crm_verify -L -V
    检查成员关系:corosync-cmapctl   或者 # pcs status 

    此时如果是两台可能会看到关于stonith设备的warning,但是可以通过修改集群全局属性将此warning关掉。

            # pcs property set stonith-enabled=false

    下载安装crmsh来配置与管理集群资源
        下载:crmsh-2.1.4-1.1.x86_64.rpm  pssh-2.3.1-4.2.x86_64.rpm    python-pssh-2.3.1-4.2.x86_64.rpm
        安装:yum install crmsh-2.1.4-1.1.x86_64.rpm  pssh-2.3.1-4.2.x86_64.rpm    python-pssh-2.3.1-4.2.x86_64.rpm

        显示洋集群状态:crm status
        交互式:crm(live)#  configure
                   crm(live)configure# show  查看集群状态




NFS集群具体操作步骤:
    1、安装(node1 and node2)
        # yum install pcs
        # yum install crmsh-2.1.4-1.1.x86_64.rpm pssh-2.3.1-4.2.x86_64.rpm python-     pssh-2.3.1-4.2.x86_64.rpm

    2、配置用户及认证(node1 and node2)
        # echo "root123" |passwd --stdin hacluster
        # pcs cluster auth node1 node2 -u hacluster

    3、安装集群(node1 or node2)
        # pcs cluster setup --name nfscluster node1 node2
        # pcs cluster start --all

    4、配置集群(node1 or node2)
        1、修改logfile
        # /etc/corosync/corosync.onf

                logging {
                    to_logfile:yes
                    logfile:/var/log/cluster/corosync.log
                }
        2、关闭stonith警告
        # pcs property set stonith-enabled=false

    5、创建 NFS资源代理(node1 or node2)
        1、创建ip资源
            localhost# crm
            crm(live)# configure
            crm(live)configure#  primitive nfsvip ocf:heartbeat:IPaddr params nic=eth0 ip=xx.xx.xx.xx
            crm(live)configure#  verify
            crm(live)configure#  commit
            crm(live)configure#  show   
            crm(live)configure#  exit

        2、创建磁盘挂载
            localhost# crm
            crm(live)# configure
            crm(live)configure#  primitive nfsdriver ocf:heartbeat:Filesystem params device=/dev/sdb1 directory=/S1/dir1 fstype=ext4
            crm(live)configure#  verify
            crm(live)configure#  commit
            crm(live)configure#  show
            crm(live)configure#  exit

        3、创建NFS服务代理
            localhost# crm
            crm(live)# configure
            crm(live)configure#  primitive nfsserver systemd:nfs-server
            crm(live)configure#  verify
            crm(live)configure#  commit
            crm(live)configure#  show
            crm(live)configure#  exit

    6、创建资源代理组(node1 or node2)
            localhost# crm
            crm(live)# configure
            crm(live)configure#  group nfsservice nfsvip nfsdriver nfsserver
            crm(live)configure#  verify
            crm(live)configure#  commit
            crm(live)configure#  show
            crm(live)configure#  exit

    7、测试(node1 or node2)
            localhost# crm
            crm(live)# node standy   置从:资源组转移至其它节点
            crm(live)# node online   恢复