IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    朝阳发表于 2008-04-04 18:31:18
    love 0

    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, although
    the v2 drbd RA has been reported to work by some users (decide on your own!)



沪ICP备19023445号-2号
友情链接