一、Rsync
Rsync(remote synchronize),顾名思义,可以知道这是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的 “Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
Rsync 本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba 的主配置文件。Rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时Rsync server会打开一个873端口,等待客户端去连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份。
Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,如cwRsync和Sync2NAS等工具。
Rsync的基本特点如下:
1.可以镜像保存整个目录树和文件系统;
2.可以很容易做到保持原来文件的权限、时间、软硬链接等;
3.无须特殊权限即可安装;
4.优化的流程,文件传输效率高;
5.可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接;
6.支持匿名传输。
 
二、Unison
Unison是windows和unix平台下都可以使用的双向文件同步工具,它能使两个文件夹(本地或网络 上的)保持内容的一致。 unison 拥有其它一些同步工具或文件系统 的相同特性,但也有自己的特点:
1、跨平台使用;
2、对内核和用户 权限 没有特别要求;
3、unison 是双向的,它能自动 处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略;
只要是能连通的两台主机 ,就可以运行 unison ,可以直接使用 socket 连接或安全的 ssh 连接方式,对带宽 的要求不高,使用类似 rsync 的压缩传输协议。
Unison双向同步的一个缺点是,对于同名文件在两个同步文件夹中都被修改时,unison是不会去同步的,因为unison无法判断以那个为准.
 
三、DRBD
     
DRBD的特点:
1、  DRBD是一种块设备  
2、 可用于高可用集群(HA) 
3、  通过网络实现块设备数据实时镜像
4、  类似于一个网络RAID-1   
     
所 谓DRBD,是分布式复制块设备,是一种通过TCP/IP网络实现块设备数据实时镜像的方案。,可以被用于高可用(HA)之中.它类似于一个网络 RAID-1功能.当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中.
本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用.
在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,
切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了。
    
 
  Rsync Unison DRBD
简介 远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。 目前由rsync.samba.org维护 Unison是windows和unix平台下都可以使用的双向文件同步工具,它能使两个文件夹(本地或网络 上的)保持内容的一致。目前已停止开发。 DRBD,是分布式复制块设备,是一种通过TCP/IP网络实现块设备数据实时镜像的方案。,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.
功能及特点
1.镜像保存整个目录树和文件系统;
2.保持原来文件的权限、时间、软硬链接等;
3.无须特殊权限即可安装;
4.优化的流程,文件传输效率高;使用“Rsync算法”同步两个文件的不同部分,而不是每次都整份传送;
5.可以使用rsh、ssh等方式来传输文件,也可以通过直接的socket连接;
6.支持匿名传输。
1、跨平台使用;
2、对内核和用户 权限 没有特别要求;
3、支持双向同步,能自动处理两份拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略;
4、可以直接使用 socket 连接或安全的 ssh 连接方式,对带宽的要求不高,使用类似 rsync 的压缩传输协议。
1、DRBD是一种块设备
2、可用于高可用集群(HA)
3、通过网络实现块设备数据实时镜像
4、类似于一个网络RAID-1
使用平台
类unix平台(Linux、Solaris、BSD)
Windows平台相应版本:cwRsync
Windows平台
Unix/Linux平台
Linux平台
依赖性 需要内核支持
传输方式 rsh、ssh、socket连接、daemon模式 socket 连接或安全的 ssh 连接方式 通过TCP/IP网络实现块设备数据实时镜像
稳定性 一般(超时严重)
同步速度
小文件同步速度:快
大文件同步速度:一般
小文件同步速度:快
大文件同步速度:慢
缺点 不支持双向传输 超时严重 不支持双向传输,传输速度慢
Rsync、Unison及DRBD的比较
 
总结:
Rsync、Unison和DRBD三个软件,虽然都是同步备份数据的工具,但是各有其功能。
Rsync只支持单向同步,但是其同步速度是三者之中最快的,正确的说其同步速度是其他两者所无法比拟的。同时,rsync+inotify的搭配使用可以达到实时触控同步更新文件。
Unison支持双向同步,对内核和用户权限没有要求,但是其同步速度特别慢,经常出现超时情况。
DRBD用于高可用(HA),类似于一个网络RAID-1功能,速度也比较慢。
通过安装配置rsync、unison和drbd三个软件,同时测试其功能,发现三者各有其优势。不能单纯的评价谁优谁劣,应该针对用户的用途进行选择使用工具。
 
http://qq85609655.iteye.com/blog/1879416

Rsync、Unison及DRBD的比较的更多相关文章

  1. rsync unison+inotify双向实时同步

    rsync多线程同步 A:文件服务器 ip:10.10.1.10 B:备份服务器 ip:10.10.1.11 1.在B服务器上安装rsync软件 tar xzvf rsync-3.1.0.tar.gz ...

  2. Rsync+unison双向文件同步

    1.配置RSYNC服务器的同步源: 基于SSH同步源 rsync -avz /server/rsyncd/*  chen@172.16.23.204:/client/rsyncd 基于RSYNC同步源 ...

  3. 文件同步 单向rsync 双向unison 监控inotifywait 免密登录

    1.负载均衡中文件同步必不可少,我这边选择rsync来实现文件同步 rsync同步文件机制更适用于单向文件同步,可配合unison实现双向同步功能. 实现同步的两种方法 一:ssh方法 rsync - ...

  4. rsync是类unix系统下的数据镜像备份工具

    http://baike.baidu.com/view/1183189.htm   Ubuntu安装: sudo apt-get install rsync RedHat: yum install r ...

  5. Sersync实现触发式文件同步 替代inotify和rsync

    Sersync实现触发式文件同步 替代inotify和rsync Pyinotify是一个Python模块,用来监测文件系统的变化. Pyinotify依赖于Linux内核的功能—inotify(内核 ...

  6. (转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步

    Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80 ...

  7. RSYNC 同步工具

    Rsync 数据同步工具 一.Rsync简介 1.检测一下你的机器上是否已经安装  --->可以通过yum安装  或者  源码 Server  192.168.201.151 Client    ...

  8. 用nginx图片缓存服务器

    图片的存储硬件 把图片存储到什么介质上? 如果有足够的资金购买专用的图片服务器硬件或者 NAS 设备,那么简单的很: 如果上述条件不具备,只想在普通的硬盘上存储,首先还是要考虑一下物理硬盘的实际处理能 ...

  9. 常见的高可用MySQL解决方案

    MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备高可用性是无可厚非的.有很多解决方案能实现不同的SLA(服务水平协定),这些方案可以保证数据库服务器在硬件或 ...

随机推荐

  1. Hierarchical Storage structure

    1.hierarchical storage structure      This notion of inserting a smaller, faster storage device (e.g ...

  2. HDU4712+随机算法

    随机算法 求n个20位的2进制串的MinDist. Dist:两个串的异或结果中1的个数 /* 随机算法 */ #include<algorithm> #include<iostre ...

  3. MessageDigest简单介绍

    本文博客原文 參考文章:http://blog.sina.com.cn/s/blog_4f36423201000c1e.html 一.概述 java.security.MessageDigest类用于 ...

  4. Swift语言iOS开发:CALayer十则示例

    如你所知,我们在iOS应用中看到的都是视图(view),包括按钮视图.表视图.滑动条视图,还有可以容纳其他视图的父视图等. AD:[活动]Web和APP兼容性实战 Win10训练营免费报名 如你所知, ...

  5. ServiceBase 类

    https://msdn.microsoft.com/zh-cn/library/System.ServiceProcess.ServiceBase%28v=vs.80%29.aspx 为将作为服务应 ...

  6. ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄) System.Data—— 所有的一般数据访问类 S(转载)

    ADO.NET(一) 空间   ADO.NET结构 命名空间(车延禄)System.Data—— 所有的一般数据访问类System.Data.Common—— 各个数据提供程序共享(或重写)的类Sys ...

  7. 【JAVA】修改项目包名

    从最后一层开始修改,一步步往上递增修改.

  8. 五毛的cocos2d-x学习笔记02-基本项目源码分析

    class AppDelegate : private cocos2d::Application private表示私有继承,cocs2d是一个命名空间.私有继承下,Application类中的pri ...

  9. JS日历控件

    <input type="text" id="st" name="st" onclick="return Calendar( ...

  10. thinkphp小技巧

    if(IS_POST) _404("页面不存在",U("index"))               //如果不是POST提交,则跳转到index.debug模 ...