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这个参数,加上了就好了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
项目名称:自助洗车平台 项目背景:随着汽车保有量的不断增长,洗车市场逐渐形成。但传统洗车方式存在排污、耗水、人工成本高等问题,自助洗车成为一种新兴的洗车方式。本项目旨在建立一个自助洗车平台,方便消费者进行自主洗车,减少传统洗车方式的不利影响。 项目职责: 1. 架构设计:设计并实现自助洗车平台的架构,包括前端、后端、数据库、缓存、负载均衡、日志等组件的选择和配置。其中,Nginx 负责反向代理和负载均衡,Tomcat 负责处理业务逻辑,keepalived 实现高可用性,redis 缓存常用数据,MySQL 存储洗车记录,inotify+rsync 实现文件同步,ELK 实现日志管理和分析。 2. 系统开发:基于 Spring Boot 框架,使用 Java 语言开发自助洗车平台的后端系统,实现洗车订单管理、设备管理、用户管理、支付管理等功能。同时,使用 Vue.js 开发前端页面,实现用户注册、登录、下单、支付等功能。 3. 数据库设计:设计并实现 MySQL 数据库,建立洗车订单表、设备信息表、用户信息表、支付记录表等,实现数据的存储和管理。 4. 缓存设计:使用 Redis 缓存常用数据,如用户信息、设备状态等,提高系统的响应速度和并发能力。 5. 日志管理:使用 ELK(Elasticsearch、Logstash、Kibana)实现日志的收集、分析和管理,方便运维人员进行系统监控和问题排查。 6. 系统部署:使用 Docker 镜像技术,将自助洗车平台的各个组件打包成镜像,并使用 Kubernetes 进行容器编排和部署,实现系统的高可用性和自动化运维。 7. 系统监控:使用 Zabbix 实现系统监控,包括 CPU、内存、磁盘、网络等性能指标的监控和告警,保障系统的稳定性和可靠性。 项目收益: 1. 提高用户体验:通过自助洗车平台,消费者可以方便、快捷地进行洗车,提高用户体验和满意度。 2. 减少人工成本:自助洗车平台减少了人工操作和管理成本,提高了洗车效率和经济效益。 3. 降低环境污染:自助洗车平台的洗车方式较传统方式更为环保,减少了水资源和废水排放,降低了环境污染。 4. 提高系统运维效率:通过自动化运维和日志管理,减少人工操作,提高系统稳定性和运维效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值