ewrQ 发表于 2015-2-26 09:32:10

heartbeat 双机的热备份

目的:实现samba的热备份,即当A机故障时,B机能够自动顶替上来。
准备:
    A机(主)IP:192.168.1.67

    B机 (备)IP:192.168.1.68

操作:
    一:修改A机和B机的/etc/hosts 文件

      vim /etc/hosts 加入 192.168.1.67 zxw和 192.168.1.68 zxw1
   

A机:
    二:安装 heartbeat 及 samba
   
    三:配置heartbeat。 从/usr/share/doc/heartbeat-3.0.4/目录下复制 ha.cf,authkeys,haresources 3个文件到 /etc/ha.d/目录下
   
    四:编辑/etc/ha.d/目录下刚复制的3个文件

      1:vim authkeys 把去掉 #auth 3 和 #3 md5 Hello! 前面的# 。如下图:

   
      2:vim haresources 在最后一行加入 zxw 192.168.1.8/24/eth0:0 smb   
#(zxw 代表主的hostname, 192.168.1.8代表A机与B机通信的IP,smb为需要做高可用的服务)
   
      3:vim ha.cf 加入以下内容:


      debugfile /var/log/ha-debug
      logfile /var/log/ha-log
      logfacility   local0
      keepalive 2
      deadtime 30
      warntime 10
      initdead 60
      udpport 694
      ucast eth0 192.168.1.68
      auto_failback on
      node    zxw
      node    zxw1
      ping 192.168.1.1
      respawn hacluster /usr/lib64/heartbeat/ipfail
   
    五:开启smb 及 heartbeat服务

      service smb start

      service heartbeat start


   B机:重复步骤二到五。
为了预防当A机上的smbd 服务停止而不自动切换到B机, 因此在A机上新建一个脚本来监视smb是否正常。
    1:vim smb.sh脚本如下:
#!/bin/bash
#it's about to watch smb's status
while :
do
i=`ps aux |grep smbd |grep -v "grep smbd" |wc -l`
if [ $i = 0 ];then
      service heartbeat stop

fi
done


    2:chmod 700 smb.sh   更改smb.sh的权限

    3:把smb.sh放到后台运行./smb.sh &

    4: 把smb ,heartbeat,smb.sh 加入开机到运行, vim /etc/rc.d/rc.local 加入 service heartbeat start , service smb restart ,bash /root/smb.sh &


以上可实现:
    1:当A机宕机时,B机能够顶替上来,
   2:当A机恢复正常时,B机自动退出 作为备用机。


页: [1]
查看完整版本: heartbeat 双机的热备份