使用lsyncd实时同步-解决服务器双向实时同步问题(内含常见错误)!

生产环境中大家也许会遇到需要将2台服务器xx目录进行实时同步,有人可能会想到sersync,但是臣妾做不到(例如2台服务器双向配置了sersync进行实时同步,如果有一台重启后,那么sersync将会按照重新启动sersync软件的服务器目录进行同步,所以请慎重使用)!

下面介绍一下lsyncd这个软件,Lysncd 实际上是lua语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,然后通过rsync去差异同步,达到实时的效果。我认为它最令人称道的特性是,完美解决了 inotify + rsync 海量文件同步带来的文件频繁发送文件列表的问题 —— 通过时间延迟或累计触发事件次数实现。另外,它的配置方式很简单,lua本身就是一种配置语言,可读性非常强。
lsyncd也有多种工作模式可以选择,本地目录cp,本地目录rsync,远程目录rsyncssh。

实验环境:
VMware14
Centos7.6
lsyncd2.2.2(yum安装即可)
rsync3.1.2(yum安装即可,lsyncd自带可能版本低,请自行安装)
创建2台服务器(nfs01、nfs02)

首先配置好rsync配置文件(/etc/rsyncd.conf),然后配置lsyncd配置文件(/etc/lsyncd.conf),详解如下:

#只适合小文件,实验环境(1g内存1核心)大于500m,死机;
settings {
        #定义日志文件位置
        logfile = "/var/log/lsyncd.log",
        #定义(文件修改等)状态文件位置;
        statusFile = "/var/log/lsyncd.status",
        #指定inotify监控的事件,默认是 CloseWrite ,还可以是 Modify 或 CloseWrite or Modify;
        inotifyMode = "CloseWrite or Modify",
        #同步进程的最大个数,可根据服务器性能修改,最好不要超过核心数;
        maxProcesses = 2,
        }
sync {
        #默认同步方式有rsync、direct、rsyncssh等;
        default.rsync,
        #需要同步的本地目录;
        source = "/zhihuupload",
        #目标远端服务器;
        target = "rsync_backup@172.16.1.32::zhihuupload",
        #running:指Lsyncd在启动时不会删除目标上的文件,但会删除正常运行操作期间删除的文件,同步删除需要使用running;
        delete = "running",
        #多久(15s)同步一次;
        delay = 15,
        #当 init = false ,只同步进程启动以后发生改动事件的文件,原有的目录即使有差异也不会同步,但是2.2版本无法填写init=true会报错,所以不写默认为true
        #init = true,
        rsync = {
                #rsync命令位置;
                binary = "/usr/bin/rsync",
                #归档模式
                archive = true,
                #压缩传输;
                compress = true,
                #增量复制
                verbose = true,
                password_file = "/etc/rsync.passwd",
                #限制传输速率1m,参数-av;
                _extra = {"--bwlimit=5000"}
                }
        }

实现功能:
nfs01和nfs02共享目录/zhihuupload实现双向实时同步,且重启服务时同步拉取对方最新数据,还可以定时如15s同步一次,降低负载,但不足之处就是同步文件过大会造成负载过高的问题(可能是实验环境造成的)。


报错分析:
1、加载配置文件正常,服务启动失败报lsyncd[7885]错误

Error: in Lua: /builddir/build/BUILD/lsyncd-release-2.2.2/lsyncd.lua:2659: attempt to call field 'init' (a boolean value)
Error: Backtrace 1 :/builddir/build/BUILD/lsyncd-release-2.2.2/lsyncd.lua:2659
Error: Backtrace 2 :/builddir/build/BUILD/lsyncd-release-2.2.2/lsyncd.lua:4374
主要是因为lsyncd2.2版本bug引起,如需使用init=true功能,配置文件中请不要直接写init=true来开启功能,如需init=true请将init=true注释或删除(因为默认init=true)来解决7885报错。

2、rsync未启动或配置错误,报错中会突出显示rysnc错误,根据错误提示修改即可


BTC:3LD8DBk5nZSwmGoF1mvM12Pp5YqNFEvfLA
ETH:0xAD765200e7Feb98a2AF262387A41F078e9F91eAc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349