您的位置:首页 > 数据库 > MySQL

Mysql + DRBD + Heartbeat(v1)基本配置笔记及切换测试

2011-07-26 09:05 519 查看

Mysql + DRBD + Heartbeat(v1)基本配置笔记及切换测试

由 冰琨鱼 于 星期一, 2009/04/27 - 22:03 发表
1、下载对应版本的heartbeat包

由于安装beartbeat的rpm包需要其他一些包为前提条件,所以可能还需要下载对应版本的其他的几个rpm包,像如下:

[root@mysql1 heartbeat]# rpm -ivh heartbeat-2.1.3-3.el4.centos.i386.rpm

warning: heartbeat-2.1.3-3.el4.centos.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821

error: Failed dependencies:

heartbeat-pils = 2.1.3-3.el4.centos is needed by heartbeat-2.1.3-3.el4.centos.i386

heartbeat-stonith = 2.1.3-3.el4.centos is needed by heartbeat-2.1.3-3.el4.centos.i386

libpils.so.1 is needed by heartbeat-2.1.3-3.el4.centos.i386

libstonith.so.1 is needed by heartbeat-2.1.3-3.el4.centos.i386

然后下载heartbeat-pils-2.1.3-3.el4.centos.i386.rpm和heartbeat-stonith-2.1.3-3.el4.centos.i386.rpm,

在安装这两个包之后,即可正常安装heartbeat了。

2、配置相关文件

1) 找到安装后heartbeat的文档目录,将三个需要的配置文件样例copy到/etc/ha.d目录下准备后面的配置设

置(这样会更方便,而且有较为详细的配置说明):

[root@mysql1 ha.d]# rpm -q heartbeat -d



/usr/share/doc/heartbeat-2.1.3/AUTHORS



[root@mysql1 ha.d]# cp /usr/share/doc/heartbeat-2.1.3/ha.cf .

[root@mysql1 ha.d]# cp /usr/share/doc/heartbeat-2.1.3/authkeys .

[root@mysql1 ha.d]# cp /usr/share/doc/heartbeat-2.1.3/haresources .

2) 配置ha.cf(ha主要配置文件):

logfacility local0 #这个是设置heartbeat的日志,这里是用的系统日志

keepalive 500ms #多长时间检测一次

deadtime 10 #连续多长时间联系不上后认为对方挂掉了(单位是妙)

warntime 5 #连续多长时间联系不上后开始警告提示

initdead 100 #这里主要是给重启后预留的一段忽略时间段(比如:重启后启动网络等,

如果在网络还没有通,keepalive检测肯定通不过,但这时候并不能切换)

bcast eth0

auto_failback off #恢复正常后是否需要再自动切换回来

node mysql1 #节点名(必须是集群中机器的主机名,通过uname -n取得)

node mysql2 #节点名(必须是集群中机器的主机名,通过uname -n取得)

ping 10.0.65.250

respawn hacluster /usr/lib/heartbeat/ipfail #这里是配置ip绑定和切换的功能,

ipfail就是控制ip切换的程序

apiauth ipfail gid=haclient uid=hacluster #控制ip切换的时候所使用的用户

deadping 5

2) haresources 资源组文件配置(v1 style):

[root@mysql1 ha.d]# cat haresources

mysql1 drbddisk Filesystem::/dev/drbd0::/drbddata::ext3 mysql 10.0.65.44

资源组配置文件主要是配置切换过程需要管理的各种资源的,有一个很关键的点,那就是一个资源组中的各个资源

的排列顺序是需要注意的,在hearbeat管理资源组的时候,获取资源的过程是从左往右依次处理,释放资源的时候是从

右往左依次处理。

资源组里面的资源可以是ip的管理,可以是各种服务,也可以是我们自己写的各种脚本,甚至可以是需要传参数的

脚本(通过::来分割参数)。每一行代表一个资源组,每个资源组之间没有必然的关系。

资源组的第一列是我们在ha.cf配置文件中的node之一,而且应该是当前准备作为primary节点的那一个node。

上面资源组中的各项含义如下:

mysql1 当前primary节点名(uname -n)

drbddisk 告诉heartbeat要管理drbd的资源

Filesystem 这里是告诉heartbeat需要管理文件系统资源,其实实际上就是执行mount/umount命令,

后面的“::”符号之后是跟的Filesystem的参数(设备名和mount点)

mysql 告诉需要管理mysql

10.0.65.44 这里是让heartbeat帮你管理一个service ip,会跟着主节点一起漂移

3) authkeys 通信认证配置文件

root@mysql2:/root>cat /etc/ha.d/authkeys

auth 2 #认证方式,有如下三种

#1 crc #

2 sha1 HI!

#3 md5 Hello!

3、测试切换:

1) 手工调用heartbeat的节点切换脚本:

执行/usr/lib/heartbeat/hb_standby 脚本,让heartbeat通知对方节点自己请求变成standby节点,

请求对方成为primary节点,切换工作在10s左右即完成.

2) 拔掉网线,测试在primary节点的网络断开后的切换情况

通过测试,在拔掉网线后,当主节点发现无法和standby节点无法通信后,会在log中记录warn信息,

如果延续时间达到在ha.cf中设定的时长后,会开始释放资源,standby节点发现无法和主节点通信一段时间(ha.cf设定)后,

开始尝试启动资源并将自己active成primary节点。切换过程除开ha.cf中设定的时长之外的时间段同样非常短。

3) shutdown primary主机,测试是否能够正常切换,基本上和上面测试2差不多。

4) primary node 掉电测试,这里还没有到机房实际操作过,后面会继续测试这个操作。

注:以上测试都是基于Heartbeat v1 style的设置情况下所作,由于v1 style配置的heartbeat没办法做到对资源状态的监控,

主要职能通过监控与对方节点以及集群对外的网络状况的监控,而v2 style的配置已经提控了对资源状态的监控,所以后面准备再

针对v2 style的heartbeat进行详细一点的测试。不过,在linux-ha网站上面发现有一个声明,说drbd的作者建议用户继续

使用v1 style来让heartbeat管理drbd资源(http://www.linux-ha.org/DRBD/HowTov2),详细的原因并没有说明。

原文如下:

Note: as of 2008-02-15, the DRBD developers recommend to use the v1 drbddisk RA,

写的很详细!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: