一、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. 帝国cms语句调用

    帝国cms系统,灵动标签,有着非常强大的数据调用功能.这里为广大菜鸟站长普及一下. 我们来看这段代码. [e:loop={,,}] <li>·<a target="_bla ...

  2. USB VID PID 查询

    USB VID PID 查询:http://www.linux-usb.org/usb.ids 说明: USB设备中有VID何PID,分别表示此USB设备是哪个厂商的哪种设备. 一个USB的VID对应 ...

  3. CSS3阴影 box-shadow的使用和技巧总结[转]

    text-shadow是给文本添加阴影效果,box-shadow是给元素块添加周边阴影效果.随着html5和CSS3的普及,这一特殊效果使用越来越普遍. 基本语法是{box-shadow:[inset ...

  4. C++_template_栈的链式存储及实现

    由于在C++数据结构中的代码不完整,特补全.等日后当工程库调用. 若有疑问,请留言. #include<iostream> using namespace std; template< ...

  5. lightoj Again Array Queries

    1100 - Again Array Queries   PDF (English) Statistics Forum Time Limit: 3 second(s) Memory Limit: 32 ...

  6. 【原】spring boot在整合项目依赖的问题

    最近要开发新的项目,就花了几天时间看了下spring boot的相关资料,然后做了一个demo,不得不说开发效率确实很快,几行注解就完成了事务,aop,数据库等相关配置:但由于先前习惯了spring ...

  7. [LeetCode]题解(python):029-Divide Two Integers

    题目来源: https://leetcode.com/problems/divide-two-integers/ 题意分析: 不用乘法,除法和mod运算来实现一个除法.如果数值超过了int类型那么返回 ...

  8. poj 1715 Hexadecimal Numbers 排列组合

    /** 大意: 给定16进制数的16个字母,,求第k大的数,,要求数的长度最大为8.,并且每个数互不相同. 思路: 从高到低挨个枚举,每一位能组成的排列数 ,拿最高位来说,能做成的排列数为15*A(1 ...

  9. Qt学习 之 多线程程序设计(QT通过三种形式提供了对线程的支持)

    QT通过三种形式提供了对线程的支持.它们分别是, 一.平台无关的线程类 二.线程安全的事件投递 三.跨线程的信号-槽连接. 这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线 ...

  10. VC中TRACE()的用法

    个人总结:最近看网络编程是碰到了TRACE语句,不知道在哪里输出,查了一晚上资料也没找出来,今天终于在CSDN上找到了,真是个高地方啊,方法如下: 1.在MFC中加入TRACE语句 2.在TOOLS- ...