Corosync+pacemaker

       Corosync��OpenAIS��չ��Wilson�汾����������Ŀ����Լ�Ⱥ���湤�̡�����˵Corosync��OpenAIS���̵�һ���֣�Corosyncִ�и߿���Ӧ�ó����ͨ����ϵͳ���������������� һ����յij�����ͨ��ģʽ�����ģʽ�ṩһ�������ͬ����ʽ����֤�ܹ����Ʒ�������״̬��

        һ�������Թ������������������������������Ӧ�ó���Ľ�̵���ʧ�ܺ�

        һ�����ú��ڴ���ݵ�ͳ�ƣ��ڴ�����ܹ������ã��ظ�������֪ͨ�ĸ����Ϣ��

        һ�������ϵͳ,������ɻ��߶�ʧʱ֪ͨӦ�ó���

        corosync�Ǹ߿��ü�Ⱥ�е�Cluster Messaging Layer����Ⱥ��Ϣ�㣩������Ҫ���ݷ���Ⱥ��Ϣ��������Ϣ�ģ���û����Դ���?�ܣ���Դ���?���������ϲ��crm(Cluster resource Manager����Ⱥ��Դ������)�����������Դ������������pacemaker������heartbeat v3�����ȥ������Ŀ��������corosync+pacemaker���˸߿��ü�Ⱥ�е������ϡ�

         pacemaker��һ��Ⱥ����Դ����������ʵ����������Ⱥ�����������Դ���?�Ľڵ����Դ�����ϼ��ͻָ�ʹ�á� ����������κι�ģ�ļ�Ⱥ�����䱸��һ��ǿ�������ģ�ͣ�ʹ����Ա�ܹ�׼ȷ�ر��Ⱥ����Դ֮��Ĺ�ϵ������˳���λ�ã��������κο��Ա�д�ű������Թ�����Ϊ����������Ⱥ��һ���֡� pacemaker�Ǹ���Դ�������������ṩ������Ϣ�ģ�pacemaker��һ�������CRM�����Heartbeat V2��Դ���������������Ϊ�����Ѿ���Ϊ��������Ŀ��

pacemaker �ص�

1.�����Ӧ�ó���Ĺ��ϼ��ͻָ�

2.����֧���κ���������

3.ͬʱ֧�ֶ��ּ�Ⱥ����ģʽ

4.���ò��Դ��?��������ʧ����̨����ʧ��ʱ��

5.֧��Ӧ������/�ػ�˳��

6.֧����ͬһ̨���������е�Ӧ�ó���

7.֧�ֶ���ģʽ��Ӧ�ó�������/�ӣ�

8.���Բ����κι��ϻ�Ⱥ����Ⱥ��״̬

       ����pacemaker����������;����һʱ�����й��߰���crm��pcs������ͼ�ι��ߣ�pugui��LCMC��pcsd��mgmt������LCMC��java��д��ͼ�ι�����棻Hawk�ǹٷ��Ƽ�����mgmt��web�������ù��ߣ�pcsd��pcs��ͼ�ν��档

��pacemaker1.1.8��ʼcrmsh����Ϊһ��������Ŀ�����ṩ��Ҫ�������ء�

crm�����ֹ�����ʽ��

1.����ģʽ��������������ֱ�����������ִ��crm status��

2.����ʽģʽ������crm������crm(live)# , ��2��Tab�����ʾ�ò㼶����ָ��

crm�г���һ�����

configure �������þ������

resource ���Ѷ�����Դ���и��ֲ���

ra resource agents center, �ɲ鿴��Щresource agent�ɹ�ʹ��

cib ������configure��ֻ�Dz�������cib shadow

node �Խڵ���и������

status ��ʾ��Ⱥ״̬��Ϣ

cd ������һ��

Ctrl+c �˳�

configure�е�ָ��

show �鿴��ǰ����

verify ��鵱ǰ�����Ƿ���ȷ, �൱��crm_verify -L

commit �ύ����ʹ������Ч���޸ĺ�û�ύϵͳ���ᱣ���ĵ���Ϣ

delete ɾ��ij������, nameΪ��������

edit �༭ij�����ã�nameΪ��������

primitive ������Դ

monitor ��Դ����

group ��������Դ����������Դ���һ��

clone ��¡�ѽ�����Դ

ms/master ����master/slave��Դ

primitive�в���˵��

��Դ�������ͣ� lsb, ocf, stonith, service

��Դ������ṩ���� heartbeat , pacemaker

��Դ������ƣ���resource agent�� �磺IPaddr2,httpd, mysql

meta--Ԫ���ԣ� �ǿ���Ϊ��Դ��ӵ�ѡ����Ǹ��� CRM ��δ����ض���Դ��

params--ʵ�����ԣ����ض���Դ��IJ���,����ȷ����Դ�����Ϊ��ʽ������Ƶķ���ʵ��

op--������Ĭ������£�Ⱥ������ȷ�������Դһֱ��ҪָʾȺ��ȷ����Դ״����Ȼ����Ҫ����Դ�Ķ��������һ�����Ӳ���monitor����Ϊ���������Դ�������monitor��

op_type ������ start��stop��monitor

interval ��ִ�в�����Ƶ�ʡ���λ���롣

timeout �� ��Ҫ�ȴ��ò���������ʧ�ܡ�

requires ����Ҫ����ʲô�������ܷ���˲����������ֵ��nothing��quorum �� fencing��Ĭ��ֵȡ�����Ƿ��������Ϻ���Դ�����Ƿ�Ϊ stonith������ STONITH ��Դ��Ĭ��ֵΪ nothing��

on-fail ���˲���ʧ��ʱִ�еIJ����������ֵ��

ignore����װ��Դû��ʧ�ܡ�

block��������Դִ���κν�һ��������

stop��ֹͣ��Դ���Ҳ�������λ����������Դ��

restart��ֹͣ��Դ����������

fence���ر���Դʧ�ܵĽڵ� (STONITH)��

standby����������Դ����Դʧ�ܵĽڵ������ߡ�

enabled ���ֵΪ false����������Ϊ�����ڡ������ֵ��true��false��

������pacemaker������

yum install pacemaker
cd /etc/corosync/
cp corosync.conf.example corosync.conf
vim corosync.conf
  bindnetaddr: 172.25.9.0  #�趨���
  mcastaddr: 226.94.1.1    #�ನ��ַ
  mcastport��5405          #�ನ�˿�
service{
    name:pacemaker   #���pacemaker����
    ver:0    #0Ϊ����corsyncʱ�Զ�����pacemaker����1Ϊ���ӹܷ���
}

������ڵ�����ͬ����

����corosync

/etc/init.d/corosync start
crm_verify -LV   #�鿴�����ļ��Ƿ���ȷ
crm_mon          #�鿴�ڵ�״̬

Corosync+pacemaker_第1张图片

��װcrm����������pacemaker

yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y
crm  #����crm��������
  configure 
  show#�鿴��ǰ����

���Է����ڵ����Ⱥ������Ϊ�ڵ㲻����ʧЧ��

property no-quorum-policy=ignore
commi  #���޸�ͬ��������ڵ�

���fence��Ҫ��װcman��

primitive vmfence stonith:fence_xvm params pcmk_host_map="server2.example.com:vm2;server3.example.com:vm3" op monitor interval=1min #server2/3.example.com�ǽڵ���vm2/3Ϊ��������
commi  #���޸�ͬ��������ڵ�

��show������Կ���fence�����

Corosync+pacemaker_第2张图片

���vip

primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.9.100 cidr_netmask=32 op monitor interval=30s
commi  #���޸�ͬ��������ڵ�

��crm_mon������Կ���vip��server2������

Corosync+pacemaker_第3张图片

���apache����

primitive httpd ocf:heartbeat:apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s 
commi  #���޸�ͬ��������ڵ�

��crm_mon������Կ���apache������server3������

Corosync+pacemaker_第4张图片

ע��Ϊ�˼��Apache�Ľ���״̬��������ҵ���ʱ��ָ�Apache����server-status URL�ǿ��õģ�

vim /etc/httpd/conf/httpd.conf
    <Location /server-status>
        SetHandler server-status    
        Order deny,allow
        Allow from 127.0.0.1
    </Location>

ճ�ͷ���(ʹ�÷�����vip��ͬһ����������)

colocation httpd-with-ip inf: httpd vip #����һ
group apache vip httpd      #������
commi  #���޸�ͬ��������ڵ�

��crm_mon������Կ���vip��apache��������server2������

����ʵ�����ǿ�����delete apache ��delete httpdɾ��apache��ͷ���

��drdbͬ���洢

primitive sqldata ocf:linbit:drbd params drbd_resource=westos op monitor interval=60s
ms sqldataclone sqldata meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true

��crm_mon������Կ���drdb�Ѽ��뼯Ⱥ��

Corosync+pacemaker_第5张图片

�����ļ�ϵͳ

primitive sqlfs ocf:heartbeat:Filesystem params device=/dev/drbd1 directory=/var/lib/mysql fstype=ext4
colocation sqlfs_on_drbd inf: sqlfs sqldataclone:Master 
order sqlfs-after-sqldata inf: sqldataclone:promote sqlfs:start

��crm_mon������Կ����ļ�ϵͳ�ѹ���

���mysql����

primitive mysql lsb:mysqld op monitor interval=60s
group mygroup vip sqlfs mysql #��vip���ļ�ϵͳ��mysql����ճ��


你可能感兴趣的:(Corosync+pacemaker)