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 #�鿴�ڵ�״̬
��װ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�����
���vip
primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.9.100 cidr_netmask=32 op monitor interval=30s commi #����ͬ��������ڵ�
��crm_mon������Կ���vip��server2������
���apache����
primitive httpd ocf:heartbeat:apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s commi #����ͬ��������ڵ�
��crm_mon������Կ���apache������server3������
ע��Ϊ�˼��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�Ѽ��뼯Ⱥ��
�����ļ�ϵͳ
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����ճ��