目的:实现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机自动退出 作为备用机。
至此搭建完成。