栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

keepalived+rsync 以及rsync报的错

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

keepalived+rsync 以及rsync报的错

实现功能

两台服务器,监听tomcat服务,如果主服务器上的tomcat挂了,则让虚拟IP飘到备用服务器,同时两台服务器上的文件要实时同步备份。

主服务器:serverA

备用服务器:serverB

首先,对主服务器serverA:

创建四个脚本:

1)tomcat_check.sh:监听tomcat服务,如果挂了重启tomcat并sleep 2s,再次检查tomcat启动了没,如果还没启动则killall keepalived。这样虚拟IP就飘到serverB上了。

tomcat_check.sh是在keepalived.conf中配置定时重复执行的。

2)start_bkp.sh:全量备份

执行 rsync -vzrtopglLu ...将serverA的制定目录全量备份到serverB

这个脚本不用重复执行,用 nohup ./start_bkp.sh & 执行一次就行了。

3)start_rsync.sh:增量备份

先执行inotifywait -mrq --format ...判断哪些文件被修改了或者新增了,对这些修改了的文件通过 rsync -avz 进行增量备份

这个脚本的执行是在check_keepalived.sh里。

4)check_keepalived.sh:当VIP没绑在serverA上时,执行增量备份。

具体来说,判断VIP是否飘在主服务器serverA上,如果是,就不用备份了,如果否:判断start_rsync.sh是否正在执行,如果start_rsync.sh 没在执行则启动。

这个脚本在crontab 中执行。

第二步,对备用服务器ServerB

把start_rsync.sh, check_keepalived.sh拷过去。其中start_rsync.sh的IP地址要改成serverB的IP地址。

然后crontab -e 

*/1 * * * * sh check_keepalived.sh

出现的问题: keepalived.conf中vrrp_script不执行:

未解决

tail -f /var/log/messages 看日志

暂时的解决方法:

改用crontab 

新增定时任务: crontab -e 

然后执行
/sbin/service crond start

注意:如果想看crontab 执行日志,可以在crontab -e 

                  

rsync 问题

1. Connection refused

rsync: failed to connect to 192.168.0.34 (192.168.0.34): Connection refused (111)

首先确定主备服务器的rsync都开了。大概率是没开导致的,有时候rsync会自己莫名其妙就关了,以为启动着的结果ps -aux | grep rsync一看发现没起。。

rsync重新启动步骤:

先杀死上一次rsync进程及其pid文件

cat /root/rsyncscript/rsync/run/rsyncd.pid 查看pid

kill -9 pid

rm -rf /root/rsyncscript/rsync/run/rsyncd.pid 删除pid文件

开启rsync服务:sudo rsync --daemon --config=/etc/rsyncd.conf

然后在防火墙开启rsync需要的873端口:

iptables -A INPUT -ptcp --dport 873 -j ACCEPT

注意:

1) centos下好像不用重启iptables或者保存,直接就生效了;

注:防火墙关闭命令:

service iptables stop

或者

systemctl stop firewalld.service

2 chdir failed

存备份文件的那个服务器里找不到对应的路径,新建一个目录即可。

3. The --password-file option may only be used when accessing an rsync daemon

rsync防火墙改不了,遂走ssh方法

在rsyncd.conf里加passwd文件,在执行rsync时 增加参数 --password-file=FILE。但是报错:

The --password-file option may only be used when accessing an rsync daemon

认真看:

rsync 原生的无密码同步方法记录

这个错没解决,不知道咋回事

4. connection reset by peer

出现这个错至少说明主备服务器上rsync服务以及873端口都是正常启动着的。。。

解决方法:在配置文件里加

read only = false

我原来的配置文件里没写read only这个参数,加上了就好了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028470.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号