首页 > 代码库 > heartbeat
heartbeat
Heartbeat
安装相关组件:
heartbeat-3.0.4-2.el6.x86_64.rpm ldirectord-3.9.5-3.1.x86_64.rpm
heartbeat-devel-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm
在/etc/ha.d下有配置文件:
阅读reading
ha.cf Main configuration file
haresources Resource configuration file
authkeys Authenticationinformation
执行rpm -q heartbeat -d
将他们从/usr/shared/doc/中拷贝出来
编辑ha.cf
34logfacility local0 日志等级
48 keepalive 2心跳频率2
56 deadtime 30 节点死亡时间阈值
61 warntime 10 发出警告时间,根据自己的网络状态调节
71 initdead 60 守护进程首次启动后应该等待时间后在启动主服务器上的资源
76 udpport 722 心跳信息传递的UDP 端口,使用端口722进行bcast或ucast
91 bcast eth0 通过udp的eth0通知心跳
157auto_failback on 主节点恢复后,是否自动切回。
211 node server1.example.com 第一个默认为主节点。
212 node server2.example.com
220 ping172.25.28.100
默认 heartbeat 并不检测除本身之外的其他任何服务,也不检测网络状况。
所以当网络中断时,并不会进行 LoadBalancer 和 Backup 之间的切换。
可以通过 ipfail 插件,设置‘ping nodes‘来解决这一问题,但不能使用一个集群节点作为
ping 的节点
253 respawnhacluster /usr/lib64/heartbeat/ipfail
259 apiauthipfail gid=haclient uid=hacluster
watchdog/dev/watchdog
watchdog 能让系统在出现故障 1 分钟后重启该机器,这个功能可以帮助服务器在确实停止心
跳后能够重新恢复心跳。如果使用该特性,修改系统中/etc/modprobe.conf, 添加如下行
options softdognowayout=0
这样在系统启动的时候,在内核中装入"softdog"内核模块,用来生成实际的设备文件/dev/watchdog
--
station3.example.comIPaddr::192.168.0.200/24/eth0 httpd
这个文件中定义了实现集群所需的各个软件的启动脚本,这些脚本必须放在/etc/init.d或者
/etc/ha.d/resource.d目录里 IPaddr 的作用是启动 Virutal IP,它是 HeartBeart 自带的一个脚本;“ldirectord 的作用是启动 ldirectord 监控程序,它会使 ldirectord.cf 中定义的 lvs 生效,并监听其健康状;“httpd 是 apache 服务的启动脚本。
认证文件(/etc/ha.d/authkeys),文件的权限必须是 600:
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!
或
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
vim haresource
server6.example.com IPaddr::172.25.28.100/24/eth0 httpd
DRBD:
DRBD(DistributedReplicated Block Device ),DRBD号称‘网络RAID’,
下载tar包,并尝试使用rpmbulid建立rpm包安装,而不是使用make&&make install(是否可以???)
[root@server5drbd-8.4.2]# tar -xf drbd-8.4.2.tar.gz
[root@server5 drbd-8.4.2]# ./configure--enable-spec --with-km
[root@server5drbd-8.4.2]# yum install gcc flex rpm-build -y
./configure后,会在当前目录下生成 drbd-km.spec drbd-kernel.spec
使用rpmbuild 创建rpm包。
rpmbuild -bb drbd-km.spec drbd.spec
cp /mnt/drbd-8.4.2.tar.gz/root/rpmbuild/SOURCES/
yum install kernel-devel -y
cd /root/rpmbuild/RPMS/x86
yum install * -y
在/etc/drbd.d/下建立文件
drbd.res
vim drbd.res
resource drbd_heartbeat{
meta-disk internal;
device /dev/drbd1;
syncer{
verify-alg sha1;
}
on server5.example.com{
disk /dev/vdb;
address 172.25.28.5:7789;
}
on server6.example.com{
disk /dev/vdb;
address 172.25.28.6:7789;
}
}
然后在两台主机上执行使用drbdadmcreate-dm drbd_heartbeat(这个名称要和在文件中定义的保持一致。)
在两台主机上启动服务,/etc/init.d/drbd start
drbdsetup /dev/drbd1primary --force 将其中的一台作为ie主节点。
使用cat /proc/drbd 查看同步状态
当同步完成后格式化为ext4
然后可以挂载,如果想在另外一台主机上使用,需要卸载并将其drbdadm secondary drbd_heartbeat,然后在另外一台主机上设为主节点挂载使用,器内容和第一个节点一致。
双侧执行
heartbeat和mysql的结合
安装mysql-server
停掉heartbeat服务,编辑
vim /etc/ha.d/haresources
server6.example.com IPaddr::172.25.28.100/24/eth0drbddisk::drbd_heartbeat Filesystem::/dev/drbd1::/var/lib/mysql::ext4 mysqld
启动heartbeat服务,发现mysql已经启动。
本文出自 “12227658” 博客,请务必保留此出处http://12237658.blog.51cto.com/12227658/1899093
heartbeat