Linux-非结构化数据同步-Linux下实现非结构化数据同步的介绍1

来源:互联网 发布:单片机实现呼吸灯 编辑:程序博客网 时间:2024/06/05 05:21

说明:

1、Rsync在Linux下安装并启动进程后,进程将会一直处于运行状态,当有增量或变化数据时rsync将会自动同步变化的数据;

2、而Rsync在AIX下安装并启动进程后,进程执行完数据同步后将会自动停止,当有增量或变化数据需要同步时须人工启动rsync来同步变化的数据;

3、Sersync类似一个守护进程,实时监控同步目录下的数据状态,一旦发现有新增或更新的变化数据,即刻开始同步数据。

4、Sersync只传文件本身,和用户的属性无关。

(如,源端oracle用户目录下的文件同步至目标端时,当目标端没有oracle用户时,目标文件将以UUID的形式显示)

(如,源端root用户目录下的文件同步至目标端oracle用户下的一个目录时,目标文件属主将以root的形式显示)

5、当一台服务器上需要同步N个目录下的文件时,则在源端须针对N个目录建立N个sersync进程来实现这些目录数据的同步,同时每一个sersync进程对应一个守护进程,负来责监控目录数据的变化情况。

6、Rsync软件是通过后台crond执行计划任务,来实现自动同步数据。

7、Lsyncd (Live Syncing (Mirror) Daemon)软件工作原理:监视本地(rsync client)的目录,当源数据文件或目录有更新时,则将本地更新传至目标端机器(rsync server),以此保持实时文件同步,但是它更新数据时需要目标端rsync server运行rsync demon。


一、非结构化数据的同步方法

1、Rsync+Inotify-tools

(1)Inotify-tools只是记录被监听目录中发生变化(如新增、修改、删除),而没有记录具体是哪个文件或目录发生的变化;

(2)Rsync在同步时,因只知道变化但并不清楚具体是哪个文件或目录发生了变化,因此每次都需要对整个同步目录进行同步,

(3)当数据量很大时,rsync在同步整个目录时耗时非常大(rsync要对整个目录遍历查找对比文件),因此效率很低 。

2、Rsync+Sersync

(1)虽然sersync是基于Inotify开发的,类似于Inotify-tools工具。但是sersync可以记录被监听目录中发生变化(如新增、修改、删除)的具体某一个文件或某一个目录的名字;

(2)rsync在同步时,只同步发生变化的文件或目录。这样,每次发生变化的数据相对整个同步目录的数据来说,数据量比较小,因此rsync在遍历查找比对文件时,速度很快,效率很高。

3、Lysncd

Lysncd实际上是lua语言封装了inotify和rsync工具,采用Linux内核(2.6.13及以后)里的inotify触发机制,然后通过rsync去差异同步,最终实现数据同步。

Lysncd优点:通过时间延迟或累计触发事件次数,解决了inotify+rsync海量文件同步带来的文件频繁发送文件列表的问题。


二、同步方式选择

当同步的目录数据量不大时,建议使用:Rsync+Inotify-tools

当同步的目录数据量很大(几百G设置T级)或文件很多时,建议使用:Rsync+Sersync


三、其他非结构化数据同步方式

Rsync+Inotify

Rsync+Sersync

Lsyncd(还可实现双向同步)

lsyncd+rsync

其它同步工具:csync2,clsync,btsync,drdb


四、安装配置

Linux-非结构化数据同步-Linux下Rsync+Rsync实现非结构化增量差异数据的同步http://blog.csdn.net/xingyyit/article/details/50847632

Linux-非结构化数据同步-Linux下Sersync+Rsync实现非结构化增量差异数据的实时同步http://blog.csdn.net/xingyyit/article/details/50847691

Linux-非结构化数据同步-Linux下Lsyncd实现非结构化增量差异数据的同步http://blog.csdn.net/xingyyit/article/details/50847865

 Linux-非结构化数据同步-Linux下Lsyncd+Rsync实现非结构化增量差异数据的同步

0 0
原创粉丝点击