在linux系统用heartbeat实现双机热备


一:安装两个linux(rh4.5-32位)系统并关闭防火墙,selinux设置为disable,每台电脑需要配置两块网卡。两台电脑分别为node1和node2

    node1的ip地址分别为:
    eth0:192.168.0.65
    eth1:10.0.0.3 (心跳地址)
    node2的ip地址分别为:
    eth0:192.168.0.66
    eth1:10.0.0.4 (心跳地址)
    192.168.0.30(虚拟ip地址)
    注意:保证两台电脑每块网卡能够ping通。

    二:保证两台电脑以下文件必须相同
    /etc/hosts
    /etc/host.conf
    /etc/resolv.conf
    #vi /etc/hosts

    node1的hosts内容如下:
    ip地址 域名 机器名
    192.168.0.65 node1.example.com node1
    10.0.0.3 node1
    192.168.0.66 node2.example.com node2
    10.0.0.4 node2
    (保证机器名和参数uname -n输出一致)
    #vi /etc/host.conf
    order hosts,bind
    #vi /etc/resolv.conf
    nameserver 202.96.209.133(DNS地址如果为空可以根据当地dns输入)

    node2的hosts内容如下:
    ip地址 域名 机器名
    192.168.0.65 node1.example.com node1
    10.0.0.3 node1
    192.168.0.66 node2.example.com node2
    10.0.0.4 node2
    (保证机器名和参数uname -n输出一致)
    #vi /etc/host.conf
    order hosts,bind
    #vi /etc/resolv.conf
    nameserver 202.96.209.133(DNS地址如果为空可以根据当地dns输入)

    三:在两台电脑上分别安装heartbeat软件包。
    按如下顺序
    1:heartbeat-gui-2.1.2-2.el4.centos.i386.rpm
    2:heartbeat-pils-2.1.2-2.el4.centos.i386.rpm
    3:heartbeat-stonith-2.1.2-2.el4.centos.i386.rpm
    4:heartbeat-2.1.2-2.el4.centos.i386.rpm

    四:配置文件。
    进入目录/usr/share/doc/heartbeat-2.1.2/目录,复制authkeys、ha.cf 和 haresources到/etc/ha.d/目录进行配置。
    (这三个文件在两台电脑里必须一致。)配置如下:

    配置心跳的加密方式:authkeys
    #vi /etc/ha.d/authkeys

    使用双机对联线(网线为交叉线),配置如下:
    #vi /etc/hc.d/authkeys
    auth 1
    1 crc
    存盘退出,然后
    #chmod 600 authkeys
    修改文件权限(必须)

    配置心跳的配置文件:ha.cf
    #vi /etc/ha.d/ha.cf
    logfile /var/log/ha-log (ha的日志文件记录位置。如没有该目录,则需要手动添加)

    bcast eth1

    keepalive 2 (设定心跳(监测)时间为2秒)

    warntime 10 (超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。)

    deadtime 30 (超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡)

    initdead 120
    (在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。)

    udpport 694 (使用udp端口694 进行心跳监测)

    auto_failback off
    nice_failback on

    (nice_failback 这一选项在此版本的heartbeat里没有,如果没有可以根据需要手工添加。heartbeat的两台主机分别为主节点和从节点,主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。1:当auto_failback选项为on时,一旦主节点恢复运行,则自动恢复资源。2:当auto_failback选项为off并且nice_failback选项为on时,一旦主节点恢复运行,则不会自动恢复资源。此设置为第二种情况。)

    node node1 (节点1,必须要与 uname -n 指令得到的结果一致.)
    node node2 (节点2)

    配置心跳的资源:haresources
    #vi /etc/ha.d/haresources

    node1 192.168.0.30 httpd mysql(先启动httpd再启动mysql,关闭时先关闭mysql再关闭httpd)指定node1启动httpd和mysql服务,系统附加一个虚拟IP 192.168.0.30给eth0:0。这里如果node1宕机后,node2可以自动启动httpd和mysql服务,并新分配IP 192.168.0.30给node2的eth0:0.web服务的监听地址要设置为虚拟ip地址。

    五:设置heartbeat自动启动(启动系统时启动)
    cd /etc/rc.d/rc0.d
    ln -s /etc/init.d/heartbeat K05heartbeat

    cd /etc/rc.d/rc3.d
    ln -s /etc/init.d/heartbeat S75heartbeat

    cd /etc/rc.d/rc5.d
    ln -s /etc/init.d/heartbeat S75heartbeat

    cd /etc/rc.d/rc6.d
    ln -s /etc/init.d/heartbeat K05heartbeat
    (字母S和K为大写)

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3