服务器双向同步文件,lsyncd配置两台服务器文件双向实时同步
由于用户量的增多,单台服务器已经不能处理高峰时间的请求,我们做了负载均衡,有两台服务器(A,B)来做轮询,并购买了阿里的SLB作为负载均衡服务器;因为比较简单,负载均衡的配置不在此讨论。
接下来遇到的问题是用户会上传图片,比如头像,会遇到一个尴尬的问题,上传到服务器A中,如果轮询到B,那么就没法请求到头像文件。看了下解决的方法,有挺多,我选了lsyncd来直接做文件的实时同步,因为对程序没有影响,而且配置方便。
下面简述一下我的操作步骤以及遇到的问题:
安装lsyncd服务
yum install lsyncd
配置同步参数
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
inotifyMode = "CloseWrite",
maxProcesses = 1000,
maxDelays = 200,
}
sync {
default.rsync,
source = "/www/avatar",
target = "root@A:/www/avatar",
delete = false,
delay = 10,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = false,
verbose = true
}
}
sync {
default.rsync,
source = "/www/upload",
target = "root@B:/www/upload",
delete = false,
delay = 10,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = false,
verbose = true
}
}
配置免密登录,两台机器都要做
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub root@A
启动
rsync --daemon
lsyncd /etc/lsyncd.conf
最终会有两个进程在运行:
ps -ef | grep 'sync'
root 31262 1 0 11:14 ? 00:00:00 rsync --daemon
root 31490 1 0 11:31 ? 00:00:00 lsyncd /etc/lsyncd.conf
期间遇到的问题和检查方向
Error: Temporary or permanent failure on startup of /www/avatar/ -> root@A:/www/avatar/. Terminating since “insist” is not set
检查配置文件是否有书写错误,授权是否正确
Host key verification failed
授权问题,或者配置文件中出现了有未授权的请求
Error: Terminating since out of inotify watches.
检查文件数量,默认只监控 8192 个文件,通过如下命令修改:
echo 65536 > /proc/sys/fs/inotify/max_user_watches
vi /etc/sysctl.conf fs.inotify.max_user_watches=65536
The –password-file option may only be used when accessing an rsync daemon.
出现上面的错误可能是rsync没有启动,运行rsync –daemon
lsyncd的工作原理: 它采用了Linux内核(2.6.13 及以后)里的inotify触发机制,这种机制可以做到只有在需要(变化)的时候才去同步。lsyncd密切监测本地服务器上的参照目录,当发现目录下有文件或目录变更后,立刻通知远程服务器,并通过rsync 或rsync+ssh方式实现文件同步。
服务器双向同步文件,lsyncd配置两台服务器文件双向实时同步相关推荐
- 两台服务器虚拟成一个ip地址,两台服务器如何用一个ip地址
两台服务器如何用一个ip地址 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 检 ...
- linux服务器拷贝目录文件夹,linux两台服务器之间文件/文件夹拷贝
linux两台服务器之间文件/文件夹拷贝 跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹--------------------------------- ...
- scp推送一个文件到另一个服务器,Linux用scp命令实现两台服务器之间文件传递
scp 命令简介 Linux scp 命令用于 Linux 之间复制文件和目录. scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命 ...
- 前后端部署在两台服务器 服务器配置要求_漫谈前后端分离
前言--浅谈前后端 在我的脑海中一提到前端和后端,基本上第一个出现的区别点就是:后端是跟数据库跟服务器打交道的,前端是跟浏览器打交道的.似乎没有什么问题,大家都这么认为的.当然这没有什么错,我们一直以 ...
- 两台服务器双向同步文件,远程同步文件 两台服务器上
远程同步文件 两台服务器上 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云 ...
- mysql两台服务器怎么做数据同步_两台mysql服务器实现双机互备配置并测试数据同步...
对于实现两台机子的互备配置,本文作出了详细的介绍,之后的测试数据同步,在10.168.1.44服务器数据库里修改一条数据, 可以看到数据已经同步过来了.反过来,修改10.168.0.126的数据,也可 ...
- linux同步某台服务器,linux 两台服务器之间开机自动同步指定目录下的文件
linux 两台服务器之间开机自动同步指定目录下的文件 服务器B(172.17.166.11)上开机或者重启会自动拉取服务器A(172.17.166.10)上指定目录下所有文件 1.创建服务器B到服务 ...
- mysql同步到另一台服务器_mysql两台服务器主从同步
A服务器: host 192.168.1.101 port 3306 B服务器: host 192.168.1.102 port 3306 1,授权用户: A服务器 mysql>grant re ...
- 两台linux之间互传php脚本,linux下两台服务器实现同步的方法
本文主要和大家分享linux下实现两台服务器实时同步方法介绍,假设两个服务器:192.168.0.1 源服务器 有目录 /opt/test/和192.168.0.2 目标服务器 有目录 /opt/ba ...
- 两台服务器之间mysql数据库怎么做同步_MySQL 数据库同步结构总结
一.主从同步(基础结构)1.结构图主从同步可实现同主机的主从同步,也可以实现不同主机的主从同步.2.应用场景a.可实现读写分离,通过增加从库可以提高数据库的性能,在主库实现增删改等更新操作,在从库实现 ...
最新文章
- 为电商而生的知识图谱,如何感应用户需求
- E-mail 标准 SMTP POP3
- [WinCE版凯立德]2013夏季版地图2E21J0D更新下载(9.8增加2E23J0D分省地图)
- 【专利】检索网站到底哪个能用?
- mysql和oracle转换_转MySql 与Oracle区别
- 01_正则表达式_05_小结和几个案例
- webpack+Vue2.0项目基础工程文件配置
- 5.7 tensorflow2实现主成分分析(PCA) ——python实战(上篇)
- 零知识证明 一文看懂 zkSNARK
- php 多个箭头,php连续的两个箭头-〉是什么意思??
- Webots舵轮使用纯追踪算法
- linux命令启动搜狗输入法,Linux下的搜狗拼音输入法
- 搭建个人网站(免备案)
- HTML表格合并行和列
- 长春SEO优化:SEO优化开篇——内容优化
- 大话西游2服务器维护公告,大话西游2经典版:2019年05月09日停机维护公告
- centos7错误:can‘t create 事务 lock on /var/lib/rpm/.rpm.lock (权限不够)切换root用户
- 吉首大学第八届“新星杯”题解AEGIJK
- 多线程就一定比单线程快吗?
- 本地交通基础设施存在的问题