首页 > 代码库 > 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进行bcastucast

91 bcast   eth0 通过udpeth0通知心跳

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,然后在另外一台主机上设为主节点挂载使用,器内容和第一个节点一致

双侧执行

heartbeatmysql的结合

安装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