基于 SSH 的 Rsync 是 ReadyNAS 企业级产品(Pro,NVX,2100,3200)所支持的一种备份方法。它允许管理程序通过因特网,采用加密及压缩技术將用户的 ReadyNAS 同步到远程
服务器或者其他被支持的ReadyNAS 设备。
tAT就爱技术网
本文描述了如何在一台 ReadyNAS 设备上设置一项 Rsync 备份任务,实现将数据同步到另一台 ReadyNAS 设备。tAT就爱技术网
tAT就爱技术网
Rsync软件简介
ReadyNAS 的备份方法很多,包括 Rsync。它允许管理员将 ReadyNAS 通过网络与支持 Rsync 的远程
服务器或其它 ReadyNAS 同步数据,过程中可选加密和压缩。
tAT就爱技术网 此文章是介绍如何在 ReadyNAS 的备份任务中利用 Rsync 同步文件到其它 ReadyNAS 或 Linux 服务器。
tAT就爱技术网1、什么是 Rsync
tAT就爱技术网1.1 软件简介
tAT就爱技术网 Rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.samba.org 维护。Rsync 使用所谓的“Rsync 演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。运行 Rsync server 的机器也叫 backup server,一个 Rsync server 可同时备份多个 client 的数据;也可以多个Rsync server 备份一个 client 的数据。
tAT就爱技术网 Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式。Rsync server 会打开一个873的服务通道(port),等待对方 Rsync 连接。连接时,Rsync server 会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。
tAT就爱技术网 Rsync 支持大多数的类 Unix 系统,无论是 Linux、Solaris 还是 BSD 上都经过了良好的
测试。此外,它在windows 平台下也有相应的版本,比较知名的有 cwRsync 和 Sync2NAS。
tAT就爱技术网Rsync 的基本特点如下:
tAT就爱技术网可以镜像保存整个目录树和文件系统;
tAT就爱技术网2.可以很容易做到保持原来文件的权限、时间、软硬链接等;
tAT就爱技术网3.无须特殊权限即可安装;
tAT就爱技术网4.优化的流程,文件传输效率高;
tAT就爱技术网5.可以使用 rcp、ssh 等方式来传输文件,当然也可以通过直接的 socket 连接;
tAT就爱技术网6.支持匿名传输。
tAT就爱技术网1.2 核心算法
tAT就爱技术网 假定在名为 α 和 β 的两台计算机之间同步相似的文件 A 与 B,其中 α 对文件A拥有访问权,β 对文件 B 拥有访问权。并且假定主机 α 与 β 之间的网络带宽很小。那么 Rsync 算法将通过下面的五个步骤来完成:
tAT就爱技术网1.β 将文件 B 分割成一组不重叠的固定大小为 S 字节的数据块。最后一块可能会比 S 小。
tAT就爱技术网2.β 对每一个分割好的数据块执行两种校验:一种是32位的滚动弱校验,另一种是128位的 MD4 强校验。
tAT就爱技术网3.β 将这些校验结果发给 α。
tAT就爱技术网4.α 通过搜索文件 A 的所有大小为 S 的数据块(偏移量可以任选,不一定非要是 S 的倍数),来寻找与文件B 的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。
tAT就爱技术网5.α 发给 β 一串指令来生成文件 A 在 β 上的备份。这里的每一条指令要么是对文件 B 经拥有某一个数据块而不须重传的证明,要么是一个数据块,这个数据块肯定是没有与文件 B 的任何一个数据块匹配上的。
tAT就爱技术网SSH软件简介tAT就爱技术网2.1、什么是 SSH
tAT就爱技术网 传统的网络服务程序,如ftp、POP 和 telnet 在本质上都是不
安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的
安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。
tAT就爱技术网tAT就爱技术网 从前,一个名芬兰程序员开发了一种网络
协议和服务软件,称为 SSH(Secure SHell 的缩写)。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS 和 IP 欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH 有很多功能,虽然许多人把 Secure Shell 仅当作 Telnet 的替代物,但你可以使用它来保护你的网络连接的安全。你可以通过本地或远程系统上的 Secure Shell 转发其他网络通信,如 POP、X、PPP 和 FTP。你还可以转发其他类型的网络通信,包括 CVS 和任意其他的 TCP 通信。另外,你可以使用带 TCP 包装的 Secure Shell,以加强连接的安全性。除此之外,Secure Shell 还有一些其他的方便的功能,可用于诸如
Oracle 之类的应用,也可以将它用于远程备份和像 SecurID 卡一样的附加认证。
tAT就爱技术网tAT就爱技术网2.2、SSH 的工作机制
tAT就爱技术网tAT就爱技术网 SSH 分为两部分:客户端部分和服务端部分。
tAT就爱技术网tAT就爱技术网 服务端是一个守护进程(demon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥
交换、对称密钥加密和非安全连接。
tAT就爱技术网tAT就爱技术网 客户端包含ssh程序以及像 scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
tAT就爱技术网tAT就爱技术网 他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和 IP 地址再发送密钥给 SSH 的客户端,本地再将密钥发回给服务端,自此连接建立。