CentOS 7搭建lsyncd实现两台服务器文件实时双向同步可用于负载均衡
使用多台Linux服务器通过Nginx做负载均衡,根据配置的转发规则,不同的请求会被转发到其不同的服务器上进行处理,那么这个时候就存在一个问题,多台服务器上的数据如何能保持一致,比如:用户在A服务器上传了一张图片,但是B服务器上没有,如果其他用户的请求被分配到了B服务器上,那么请求就会变成404,为了避免这类问题,就需要每台服务器之间数据保持实时双向同步。
本文主要介绍使用Lsyncd工具在两台服务器上做实时双向同步。
注意:Lsyncd存在数据被替换风险,操作前请做好数据备份!
Lsyncd 是一个简单高效的文件同步工具,通过lua语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,然后通过rsync去差异同步,达到实时的效果。
首先在两台服务器上分别安装 Lsyncd:
安装lsyncd依赖包:
yum install lua lua-devel pkgconfig gcc asciidoc
安装lsyncd rpm资源,并安装lsyncd:
rpm -iUvh http://mirror.centos.org/centos/7/extras/x86_64/Packages/epel-release-7-9.noarch.rpm yum install lsyncd
复制lsyncd配置文件:
cp /usr/share/doc/lsyncd-2.2.2/examples/lrsync.lua /etc/lsyncd.conf
查看lsyncd版本:
到这一步lsyncd已经安装好了。
下面进行两台服务器之间做免密登录设置,互相可以免密登录:
分别在两台服务器执行下面命令,生成key(以下操作两台服务器都要同时进行):
ssh-keygen #默认全部回车
然后执行下面命令:
ssh-copy-id ip #这里的ip地址为想要连接的那台服务器ip地址,并非本机ip
命令执行后输入“yes”,然后输入密码,即可连接到第二台服务器,如下图所示:
然后执行下面命令测试一下从这台服务器登录到另外一台服务器,不输入密码是否能成功:
ssh ip
到这里我们就完成了两台服务器之间互相无密码登录。
配置lsyncd:
在A服务器根目录创建创建一个目录“download”,B服务器创建一个目录“public”,进行演示这两个目录互相实时同步。
编辑lsyncd配置文件:
vim /etc/lsyncd.conf
在A服务器配置文件中添加如下配置信息(B服务器同样需要添加,修改下源目录和远程目录即可):
---- -- User configuration file for lsyncd. -- -- Simple example for default rsync. -- settings { logfile ="/var/log/lsyncd.log", statusFile ="/tmp/lsyncd.stat", inotifyMode = "CloseWrite or Modify", maxProcesses = 5, maxDelays = 1, -- nodaemon =true, } sync { default.rsync, source = "/download", #源目录,使用绝对路径 target = "root@116.85.xx.xx:/public", #远程目录 -- excludeFrom = "/etc/rsyncd.d/rsync_exclude.lst", rsync = { binary = "/usr/bin/rsync", archive = true, compress = true, verbose = true, } }
启动lsyncd服务,并设置开机启动:
systemctl start lsyncd
启动完成后查看lsyncd状态,确保lsyncd启动成功:
systemctl status lsyncd
设置开机启动:
systemctl enable lsyncd
启动成功后,我们可以测试一下看看效果,如下图所示:
(资源库 www.zyku.net)
上一篇:Docker中使用SSH连接登录CentOS容器的方法
栏 目:CentOS
本文标题:CentOS 7搭建lsyncd实现两台服务器文件实时双向同步可用于负载均衡
本文地址:https://www.zyku.net/centos/1713.html
您可能感兴趣的文章
- 10-18Nginx搭建负载均衡实现动静分离的方法
- 04-03利用Nginx反向代理与负载均衡搭建多人测试环境详解
- 03-17详解 Nginx 负载均衡和反向代理配置和优化
- 04-27华为nova8pro关闭Volte高清通话功能方
- 09-20oppo手机如何限制应用使用时间
- 04-09python实现自动化群控的步骤
- 01-13宠友道-宠友道应用软件功能介绍
- 04-22opporeno5pro下拉搜索取消方法
- 12-23HTML <dfn> 标签
- 01-13无忧店铺-无忧店铺应用软件功能介绍
- 01-13汇林教育-汇林教育应用软件功能介绍
- 07-05Linux uniq命令
- 11-08荣耀X30max怎么设置24小时制显示
- 09-19红魔6spro怎么设置应用分身
- 02-19discuz云平台访问非常慢的解决办法
- 09-27OPPOreno6怎么设置省电模式
- 07-05Linux ftpcount命令
- 07-10帝国cms实现首页用灵动标签调用文章内
- 02-27帝国CMS - 多图上传插件下载
- 02-09小米11使用指关节进行截屏方法
最近更新
阅读排行
猜你喜欢
- 07-05Linux adduser命令
- 02-23MySQL 创建一个用户,并指定数据库
- 01-11智慧好医院交大一附院-智慧好医院交大
- 01-11二年级上册语文帮-二年级上册语文帮应
- 03-10oppoa83恢复出厂设置教程
- 02-02oppok7x隐藏app图标方法
- 06-18帝国CMS7.5版新增会员访问组,控制会员
- 12-07鸿蒙系统怎样进行镜子测肤
- 01-12态度定制-态度定制应用软件功能介绍
- 02-02小米10省电模式开启方法