存储 频道

实战技巧:设置基于SSH的Rsync

        【IT168 专稿】基于 SSH 的 Rsync 是 ReadyNAS 企业级产品(Pro,NVX,2100,3200)所支持的一种备份方法。它允许管理程序通过因特网,采用加密及压缩技术將用户的 ReadyNAS 同步到远程服务器或者其他被支持的ReadyNAS 设备。


        本文描述了如何在一台 ReadyNAS 设备上设置一项 Rsync 备份任务,实现将数据同步到另一台 ReadyNAS 设备。

Rsync软件简介

        ReadyNAS 的备份方法很多,包括 Rsync。它允许管理员将 ReadyNAS 通过网络与支持 Rsync 的远程服务器或其它 ReadyNAS 同步数据,过程中可选加密和压缩。

        此文章是介绍如何在 ReadyNAS 的备份任务中利用 Rsync 同步文件到其它 ReadyNAS 或 Linux 服务器。

1、什么是 Rsync

1.1 软件简介
        Rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.samba.org 维护。Rsync 使用所谓的“Rsync 演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。运行 Rsync server 的机器也叫 backup server,一个 Rsync server 可同时备份多个 client 的数据;也可以多个Rsync server 备份一个 client 的数据。

        Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式。Rsync server 会打开一个873的服务通道(port),等待对方 Rsync 连接。连接时,Rsync server 会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。

        Rsync 支持大多数的类 Unix 系统,无论是 Linux、Solaris 还是 BSD 上都经过了良好的测试。此外,它在windows 平台下也有相应的版本,比较知名的有 cwRsync 和 Sync2NAS。

Rsync 的基本特点如下:
 可以镜像保存整个目录树和文件系统;
2. 可以很容易做到保持原来文件的权限、时间、软硬链接等;
3. 无须特殊权限即可安装;
4. 优化的流程,文件传输效率高;
5. 可以使用 rcp、ssh 等方式来传输文件,当然也可以通过直接的 socket 连接;
6. 支持匿名传输。

1.2 核心算法
        假定在名为 α 和 β 的两台计算机之间同步相似的文件 A 与 B,其中 α 对文件A拥有访问权,β 对文件 B 拥有访问权。并且假定主机 α 与 β 之间的网络带宽很小。那么 Rsync 算法将通过下面的五个步骤来完成:
1.β 将文件 B 分割成一组不重叠的固定大小为 S 字节的数据块。最后一块可能会比 S 小。
2. β 对每一个分割好的数据块执行两种校验:一种是32位的滚动弱校验,另一种是128位的 MD4 强校验。
3. β 将这些校验结果发给 α。
4. α 通过搜索文件 A 的所有大小为 S 的数据块(偏移量可以任选,不一定非要是 S 的倍数),来寻找与文件B 的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。
5. α 发给 β 一串指令来生成文件 A 在 β 上的备份。这里的每一条指令要么是对文件 B 经拥有某一个数据块而不须重传的证明,要么是一个数据块,这个数据块肯定是没有与文件 B 的任何一个数据块匹配上的。

0
相关文章