配置环境

Node1:192.168.1.131 CentOS7.2

Node2:192.168.1.132 CentOS7.2


配置前准备

[root@node1 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.131   node1

192.168.1.132   node2

[root@node1 ~]# ssh-keygen -t rsa -P ''  

[root@node1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub node1

[root@node1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub node2

[root@node1 ~]# yum -y install ansible

[root@node1 ~]# vim /etc/ansible/hosts 

[ha]

192.168.1.131

192.168.1.132


Node1和Node2

# yum -y install pcs


[root@node1 ~]# ansible ha -m service -a 'name=pcsd state=started enabled=yes'

[root@node1 ~]# ansible ha -m shell -a 'echo "mageedu" | passwd --stdin hacluster'

[root@node1 ~]# pcs cluster auth node1 node2 -u hacluster

Password: 

node1: Already authorized

node2: Already authorized

[root@node2 ~]# pcs cluster auth node1 node2 -u hacluster  

Password: 

node1: Already authorized

node2: Already authorized


[root@node1 ~]# pcs cluster setup --name mycluster node1 node2

Shutting down pacemaker/corosync services...

Redirecting to /bin/systemctl stop  pacemaker.service

Redirecting to /bin/systemctl stop  corosync.service

Killing any remaining services...

Removing all cluster configuration files...

node1: Succeeded

node2: Succeeded

Synchronizing pcsd certificates on nodes node1, node2...

node1: Success

node2: Success


Restaring pcsd on the nodes in order to reload the certificates...

node1: Success

node2: Success


[root@node1 ~]# cd /etc/corosync/

[root@node1 corosync]# vim corosync.conf

修改loggin值为

logging {

    to_logfile: yes

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

}   

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


启动集群:

[root@node1 corosync]# pcs cluster start --all 

node2: Starting Cluster...

node1: Starting Cluster...


检查各节点通信状态(显示为no faults即为OK);

[root@node1 corosync]# corosync-cfgtool -s

Printing ring status.

Local node ID 1

RING ID 0

        id      = 192.168.1.131

        status  = ring 0 active with no faults


检查集群成员关系及Quorum API

[root@node1 corosync]# corosync-cmapctl | grep members

runtime.totem.pg.mrp.srp.members.1.config_version (u64) = 0

runtime.totem.pg.mrp.srp.members.1.ip (str) = r(0) ip(192.168.1.131) 

runtime.totem.pg.mrp.srp.members.1.join_count (u32) = 1

runtime.totem.pg.mrp.srp.members.1.status (str) = joined

runtime.totem.pg.mrp.srp.members.2.config_version (u64) = 0

runtime.totem.pg.mrp.srp.members.2.ip (str) = r(0) ip(192.168.1.132) 

runtime.totem.pg.mrp.srp.members.2.join_count (u32) = 1

runtime.totem.pg.mrp.srp.members.2.status (str) = joined


查看集群状态:

[root@node1 corosync]# pcs status


检查集群错误:

[root@node1 corosync]# crm_verify -L -V

   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


处理:

[root@node1 corosync]# pcs property set stonith-enabled=false

[root@node1 corosync]# crm_verify -L -V    

[root@node1 corosync]# pcs property list

Cluster Properties:

 cluster-infrastructure: corosync

 cluster-name: mycluster

 dc-version: 1.1.13-10.el7_2.4-44eb2dd

 have-watchdog: false

 stonith-enabled: false

 

 [root@node1 ~]# ls

anaconda-ks.cfg             Pictures

crmsh-2.1.4-1.1.x86_64.rpm  pssh-2.3.1-4.2.x86_64.rpm

Desktop                     Public

Documents                   python-pssh-2.3.1-4.2.x86_64.rpm

Downloads                   Templates

Music                       Videos

[root@node1 ~]# yum install *rpm

[root@node1 ~]# scp *rpm node2:/root

[root@node2 ~]# yum install *rpm -y


显示集群状态:

[root@node1 ~]# crm status

Last updated: Wed Sep 21 17:31:26 2016          Last change: Wed Sep 21 17:16:32 2016 by root via cibadmin on node1

Stack: corosync

Current DC: node1 (version 1.1.13-10.el7_2.4-44eb2dd) - partition with quorum

2 nodes and 0 resources configured


Online: [ node1 node2 ]


[root@node1 ~]# yum -y install httpd

[root@node1 ~]# echo "

Node1.magedu.com

" > /var/www/html/index.html 

[root@node1 ~]# systemctl start httpd.service 

[root@node1 ~]# systemctl enable httpd.service

[root@node2 ~]# yum -y install httpd

[root@node2 ~]# echo "

Node2.magedu.com

" > /var/www/html/index.html

[root@node2 ~]# systemctl start httpd.service

[root@node2 ~]# systemctl enable httpd.service


[root@node1 ~]# crm ra

crm(live)ra# cd

crm(live)# configure

crm(live)configure# primitive webip ocf:heartbeat:IPaddr params ip=192.168.1.80