rhel下文件的同步:sersync实时同步和drbd双向同步

sersync(873端口)实时同步(单向同步)

需要注意:纯粹的使用rsync做单向同步时,rsynx的守护进程是运行在文件推送服务器上,而接收的服务器是运行rsync客户端。使用sersync做文件实时同步刚好相反,用于接收文件的服务器运行rsync守护进程。

sersync主要用于服务器同步,web镜像等功能。基于boost1.43.0,inotify api,rsync command.开
发。目前使用的比较多的同步解决方案是inotify-tools+rsync ,另外一个是google开源项目
Openduckbill(依赖于inotify- tools),这两个都是基于脚本语言编写的。相比较上面两个项目,
本项目优点是:
  ● sersync是使用c++编写,而且对linux系统文 件系统产生的临时文件和重复的文件操作进
行过滤(详细见附录,这个过滤脚本程序没有实现),所以在结合rsync同步的时候,节
省了运行时耗和网络资源。 因此更快。
  ●相比较上面两个项目,sersync配置起来很简单,其中bin目录下 已经有基本上静态编译的
2进制文件,配合bin目录下的xml配置文件直接使用即可。
  ●另外本项目相比较其他脚本开源项目,使用多线程进行同步,尤其在同步较大文件时,能
够保证多个服务器实时保持同步状 态。
  ●本项目有出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则 每
10个小时对同步失败的文件重新同步。
  ●本项目自带crontab功能,只需在 xml配置文件中开启,即可按您的要求,隔一段时间整体
同步一次。无需再额外配置crontab功能。
  ●本项目socket与http插件扩展,满足您二次开发的需要。

1对1同步:

目标主机(将服务器上的filesystem同步到本主机)
yum install xinetd rsync -y

vi /etc/xinetd.d/rsync

service rsync
{
        disable = no                //修改为no,打开
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
vi /etc/rsyncd.conf
    uid=root
    gid=root
    max connections=36000
    use chroot=no
    log file=/var/log/rsyncd.log
    pid file=/var/run/rsyncd.pid
    lock file=/var/run/rsyncd.lock
    [rsync]                    //同步模块,可以随意,但一定要和主服务器confxml.xml文件中
                               // remote行后的name中设置的一致
    path=/opt/rsync           //指定将服务器的同步内容存放的目录
    comment = test files
    ignore errors = yes
    read only = no
    hosts allow = 192.168.1.140             //指定主服务器ip,可以是一个网段
    hosts deny = *

启动rsync服务(即开启873端口),可以使用xinetd控制rsync服务如下:
   /etc/init.d/xinetd start
也可以直接使用命令:
   rsync --daemon      启动rsync服务

在主服务器上:
yum install rsync
tar zxf sersync2.5_64bit_binary_stable_final.tar.gz
cd GNU-Linux-x86/

vi confxml.xml
   ...
   <sersync>
        <localpath watch="/opt/tongbu">                    //把服务器该目录同步
            <remote ip="192.168.0.197" name="rsync"/>      //此处必须和同步模块设置一致
            <!--<remote ip="192.168.8.39" name="tongbu"/>-->
            <!--<remote ip="192.168.8.40" name="tongbu"/>-->
        </localpath>
    ...

./sersync -o confxml.xml -r -d          //-o指定文件,默认为confxml.xml,
                                       // -d 在主服务器上开启sersync守护进程,使sersync在后台运行,开启实时同步
                                       // -r 在开启实时监控的之前对主服务器目录与远程目标机目录进行一次整体同步

1对多:

1对多主机同目录时,只需在新加目标主机上做与上个目标主机一样配置,服务器上只需在confxml.xml中添加一remote行即可。

1对多目标主机,多目录时:

服务器(GNU-Linux-x86目录中建多个confxml.xml,指定多个需要同步的目录):
cp confxml.xml confxmln.xml      //配置和1对1同步一致
./sersync2 -o confxmln.xml -r -d

目标主机:/etc/rsyncd.conf中添加多个[],指定目标主机上被同步的目录

vi /etc/rsyncd.conf
    uid=root
    gid=root
    max connections=36000
    use chroot=no
    log file=/var/log/rsyncd.log
    pid file=/var/run/rsyncd.pid
    lock file=/var/run/rsyncd.lock
    [rsync]
    path=/opt/rsync
    comment=test rsync
    ignore errors=yes
    read only=no
    hosts allow=192.168.1.140
    hosts deny=*
    [rsync2]
    path=/opt/rsync2
    comment=test rsync
    ignore errors=yes
    read only=no
    hosts allow=192.168.1.140
    hosts deny=*

注意iptables和selinux

rhel下文件的同步:sersync实时同步和drbd双向同步,布布扣,bubuko.com

时间: 2024-12-28 17:49:14

rhel下文件的同步:sersync实时同步和drbd双向同步的相关文章

unison双向同步工具使用

unison简介 rsync数据镜像方式同步是单项的,客户端只保持与服务端同步,而客户端新增或删除一些文件时,并不会同步到服务器端.而unison则可以完成双向同步,任何一端数据发生改变,都会更新到对应端.unison采用OCaml语言进行开发,通过基于rsync算法对两端文件进行比较,将两端文件更新到一致状态 unison特性 跨平台 双向同步,自动更新两份副本中没有冲突的部分,有冲突的部分由用户选择更新策略 支持增量同步,每次同步完成后会记录文件状态,下次同步时,以上次的状态为起点开始同步

Rsync+sersync 实时同步

# #sersync 下载地址 #rsync CentOS系统包里面有 #rsync 详解 #sersync 详解 #逻辑图 主机名 IP地址 Storage_1             目标服务器 192.168.174.137 Storage_2               源服务器 192.168.174.138 #均关闭防火墙和selinux #目标服务器rsync 作为守护进程  , 源服务器rsync 作为客户端 #rsync支持推送和拉取 #sersync 实时监控目录 #目标服务

Rsync+Sersync实时数据同步

sersync实时数据同步 Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别? 1.Rsync+Inotify-tools (1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加.删除.修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来: (2):rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此

Sersync实时同步软件

本项目利用inotify与rsync对服务器进行实时同步,其中inotify用于监控文件系统事件,rsync是目前广泛使用的同步算法,其优点是只对文件不同的部分进行操作,所以其优势大大超过使用挂接文件系统的方式进行镜像同步.目前使用的比较多的同步程序版本是inotify-tools,另外一个是google开源项目Openduckbill(依赖于inotify-tools),这两个都是基于脚本语言编写的,其设计思路同样是采用inotify与rsync命令. 相比较上面两个项目,本项目优点是: 1.

Rsync+Sersync实时同步数据目录

第1章 Rsync简介 1.1 Rsync基本概述 rsync是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份 全量:将全部数据,进行传输覆盖 增量:只传输差异部分的数据 1.2 实现增量复制的原理 Rsync通过其独特的“quick check”算法,实现增量传输数据 在同步备份数据时,默认情况下,Rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可

linux rsync远程同步+sersync+rsync实现实时同步

rsync是什么 rsync全称Remote Sync ,远程同步,是Linux/UNIX系统下的文件同步和数据传输工具,数据备份,它采用了"rsync算法"使一个客户机和远程文件服务器之间的文件同步. 作用 可以将同一个服务器的数据从一个分区备份到另一个分区,也可以将本地系统的数据通过网络传输方式备份到任何一个远程主机上: 优点 rsync可以在中断后恢复传输 rsync的功能特性 可以镜像保存整个目录树和文件系统:可以增量同步数据,文件传输效率高,因而同步时间很短:可以保持原文件的

Rsync + sersync 实时同步备份

Rsync + sersync 实时同步备份 一      Rsync + Sersync  实时同步介绍 1.Rsync 服务搭建介绍 云机上搭建Rsync server,在本地搭建Rsync Clinet. 2. Sersync 服务搭建介绍 在本地服务器上搭建 Sersync  Server  检测本地的ftp目录变化,实时同步到云机上 二.Rsync编译安装 1.检查本机是否存在 [[email protected]云机 ~]# rpm -qa  rsync rsync-3.0.6-12

5、Sersync实时同步实战

1.实时同步概述 1.什么是实时同步, 只要当前目录发生变化则会触发一个事件,事件触发后将变化的目录同步至远程服务器. 2.为什么要实时同步, 保证数据的连续性, 减少人力维护成本, 解决nfs单点故障 3.实时同步实现原理, 实时同步需要借助 Inotify通知接口,用来监控目录的变化,如果监控的目录发生变更.则触发动作,这个动作可以是进行一次同步操作,或其他操作. 4.实时同步工具选择, 有sersync(√).inotify+rsync,通常我们会选择 sersync,因为 sersync

CentOS6.4_64位下搭建Rsync+Inotify实现实时同步

CentOS6.4_64位下搭建Rsync+Inotify实现实时同步 rsync是linux下的文件同步服务,功能简单来说就是服务端打开873端口,客户端连接这个端口,并对服务器端配置的目录进行同步,可以理解为客户端比对服务器端资源后,对增量或者差异的数据进行增删改操作,功能支持上传(推送)或下载(获取)比对,也就是远程数据比对本地数据而后对远程数据进行增删改操作,以及本地数据比对远程数据然后对本地数据进行增删改操作. centos6.4下默认已经安装,只需保证依赖服务xinetd开启即可.