Heartbeat��Linux-HA���̵�һ���������1999�꿪ʼ�����ڣ��������ڶ�汾����Ŀǰ��ԴLinux-HA��Ŀ��ɹ���һ�����ӣ�����ҵ�ڵõ��˹㷺��Ӧ�á�Heartbeatͨ����̫����ߺ��ߴ��ڵ���������Heartbeat�źţ����Լ�Ⱥ�е�������������ء��������������ֹ��ϵ�ʱ������Ӧ������Ϣ�����ʱ���÷������ͻ�ѷ�����Դ����ȥ��ʵ�ַ���IJ����ʹ�á�Heartbeat������Ҫ��Heartbeat�����������������
Heartbeat�������¼������:
heartbeat �C �ڵ��ͨ��У��ģ��
CRM - ��Ⱥ��Դ����ģ��
CCM - ά����Ⱥ��Ա��һ����
LRM - ������Դ����ģ��
StonithDaemon - �ṩ�ڵ���������
logd - ���������־��¼
apphbd - �ṩӦ�ó��Ŀ��Ź���ʱ��
Recovery Manager - Ӧ�ù��ϻָ�
�ײ�ṹ�C��������ӿڡ���̼�ͨ�ŵ�
CTS �C ��Ⱥ����ϵͳ����Ⱥѹ������
��HA��Ⱥ�б���ӹܷ����ʱ��һ��Ҫ������ݵ�һ���ԣ���Heartbeat�����ǿ���ͨ��DRBD��ʵ�ַ�����֮�����ݵ�ͬ�������湲���������Ϊ�������ڵ�д�����ݻ�ͨ��DRBD�豸�洢�����ڵ�Ĵ����豸�У�ͬʱ��������Ҳ���Զ����͵����ýڵ��Ӧ��DRBD�豸������д�뱸�ýڵ�Ĵ����豸�ϣ�����ʹ��DRBD����Ҫ̫���Ӳ����Ͷ�ʡ�
����:rhel6 x86_64 selinux and iptables disabled
����server2.example.com 172.25.254.2
����server3.example.com 172.25.254.3
��oss.linbit.com/drbd��������İ�װ��
��������ԣ� ��server�����ϣ�
yum install gcc flex rpm-build kernel-devel -y tar zxf drbd-8.4.3.tar.gz cd drbd-8.4.3 ./configure --enable-spec --with-km
������� drbd rpm��
rpmbuild -bb drbd.spec
��ʾ��Ҫ��drbd������û���Ŀ¼��/rpmbuild/SOURCES/�� �ٴα��룺
rpmbuild -bb drbd.spec
���� drbd �ں�ģ��
rpmbuild -bb drbd-km.speccd
��װ��ɵ�rpm��
cd /root/rpmbuild/RPMS/x86_64/ yum install *
����ɵ�rpm���Ƶ�server3�����ϰ�װ��
scp /root/rpmbuild/RPMS/x86_64/* 172.25.254.3:
���ã� ��/etc/drbd.d/Ŀ¼�´���������.res��β�������ļ�
vim /etc/drbd.d/example.res
����������ã� resource example { meta-disk internal; device /dev/drbd1; syncer { verify-alg sha1; } on server2.example.com { disk /dev/vda; address 172.25.254.2:7789; } on server3.example.com { disk /dev/vda; address 172.25.254.3:7789; } } ��ʼ��drbd
drbdadm create-md example
��server3������������ͬ��IJ���
ͬʱ����server2��server3�����drbd
/etc/init.d/drbd start
��server2����ǿ����Ϊ���ڵ㲢ͬ�����
drbdsetup /dev/drbd1 primary --force
����̨��������cat /proc/drbd�������ͬʱ����ͬ��״̬
ͬ��������ʽ��drbd1����
mkfs.ext4 /dev/drbd1
�����ļ�ϵͳ��д�����
mount /dev/drbd1 /var/www/html echo "hello.example.com" >/var/www/html/index.html
ж���ļ�ϵͳ������̨������Ϊsecondary�ڵ�
umount /dev/drbd1 drbdadm secondary example
drbd����������������heartbeat�������ˡ�������̨����������ͬ���裺��
��װ�����
yum install heartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm heartbeat-devel-3.0.4-2.el6.x86_64.rpm ldirectord-3.9.5-3.1.x86_64.rpm -y
��/etc/ha.d/���������ļ�.
cd /usr/share/doc/heartbeat-3.0.4/ cp ha.cf haresources authkeys /etc/ha.d/
��������ļ�ha.cf:
vim /etc/ha.d/ha.cf logfile /var/log/ha-log #��־�ļ� keepalive 2 #����ʱ�� deadtime 30 #����Ӧʱ�� warntime 10 #����ʱ�� initdead 60 #�ػ��������������������Դ��Ҫ�ȴ��ʱ�� udpport 694 #�˿� cast eth0 #ʹ��������eth0����������Ϣ auto_failback on #���õ�������������Ƿ�ط������� node server2.example.com node server3.example.com #���ýڵ�,�������ϸ������� ping 172.25.254.55 #�ж������������״�� respawn hacluster /usr/lib64/heartbeat/ipfail apiauth ipfail gid=haclient uid=hacluster #ָ���û����û���
��/etc/ha.d/haresources�ļ�����Ҫ��������Դ
server2.example.com IPaddr::172.25.254.100/24/eth0 drbddisk::example Filesystem::/dev/drbd1::/var/www/html::ext4 httpd
server2.example.com: ���ڵ�
IPaddr::172.25.254.100/24/eth0: ����IP
drbddisk::example: ����֮ǰ���õ�drbd
Filesystem::/dev/drbd1::/var/www/html::ext4: �ļ�ϵͳ
httpd: ����
����authkeys�ļ�
vim /etc/ha.d/authkeys
�������ļ��ܵķ�ʽ:
auth 1 1 crc
��authkeys�ļ���Ȩ��Ϊ600
chmod 600 authkeys
���ԣ� ͨ���������IP���Կ���֮ǰ��drbdʱ����������ҳ��