GetNAS Logo

DeltaCopy在FreeNAS与Windows之间同步数据

2015-4-6 21:17 Herald 存储管理 11,049

想要在Windows与FreeNAS之间实时同步文件,使用DeltaCopy就够了,开源免费,关键是非常简单好用。

此前已经向大家介绍了FreeNAS通过Rsync进行文件同步相关的内容,一方面是向大家介绍FreeNAS之间配置Rsync的方法,更重要的是希望通过操作演示让大家对Rsync这款工具的设置及工作原理有整体的理解。如果你还不知道FreeNAS系统如何配置Rsync模块和任务,那么就请先学习《多台FreeNAS数据冗余:配置Rsync同步》后再进行下面的内容。

我们知道Rsync是一款跨平台的开源文件同步工具,它能运行在包括Linux、Windows、BSD、OS X等几乎所有的操作系统上,如果只用Rsync在FreeNAS系统之间同步数据未免有些大材小用了。但是Rsync的Windows版本(cwRsync免费版)只提供了一些基本的命令行工具而没有GUI图形化的管理界面,这样一来就只能完全手写Rsync任务配置文件,需要使用命令行才能工作,难度系数大大提高,也不便于使用。

这个问题也一度困扰着笔者,好在四下搜寻找到了一款界面友好,且开源免费的Rsync管理工具——DeltaCopy。来看看这款工具的特性介绍:

  1. 增量备份 – 只复制文件发生变化的部分
  2. 计划任务 – DeltaCopy 的配置文件能够按照计划任务设置运行
  3. 邮件通知 – 能够设置向管理员发送传输成功或失败的电子邮件通知
  4. 一键恢复 – 备份文件可以很容易地恢复
  5. Windows界面 – 无需手写配置文件,也不需要在Windows上操作命令行工具。

DeltaCopy官方网站 http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

DeltaCopy提供了两种类型软件包,一种是安装版的(With Installer),另一种是绿色免安装版的(Without Installer)。选哪种随你喜好,因为程序都是一样的。

20150406133115

本例我们使用绿色免安装版的包,这种软件包比较方便,下载解压就可以直接使用了,如下图,我们用红框标注的是我们需要使用的两个程序。

  • DeltaS.exe – 服务端程序
  • DeltaC.exe – 客户端程序

服务端程序和客户端程序正好对应着Rsync的两端,即DeltaCopy这款工具即可以做Rsync的客户端发送数据,也可以做服务端接收数据。

20150406183923

情景一、将数据推送至FreeNAS

FreeNAS 9.3 作为服务端(接收数据),Windows系统作为客户端(推送数据),把windows系统上数据实时同步到FreeNAS,我猜这种情景应该是大多数人需要的。

配置流程大致如下:

  1. FreeNAS 创建Rsync模块,启动Rsync服务;
  2. Windows主机运行DeltaC.exe程序,并创建任务配置文件;

首先我们在服务端(主机B)创建Rsync模块。如下图所示,WebGUI 左侧系统菜单依次展开 服务 → Rsync同步 → 增加Rsync备份模块。

20150313222853

创建Rsync模块主要设置如下几项:

  • 模块名称:本例我们创建一个名为myFile的Rsync模块。
  • 路径:选择你FreeNAS存储池上的一个路径,用以存储Windows系统推送过来的数据。
  • 访问模式:读写;
  • 用户:root (主要是确保对数据集的操作权限);
  • 允许的主机:安全起见,这里还是设置上比较好,填写Windows系统的IP地址,如果想偷懒你也可以不设置。
  • *附加参数:填写charset=UTF-8,这一项格外重要,如果不做设置,中文会变成乱码或空白。

20150406000404

Rsync模块创建完成以后,在服务管理器中开启Rsync服务,如下图。

20150313233338

至此,FreeNAS上的配置工作已经全部完成。如果你想检查Rsync任务是否工作正常,可以为上面创建Rsync模块时指定的存储路径设置一个CIFS共享,这样比较方便查看问价是否被正确的同步到了我们指定的位置。关于CIFS共享的设置,你可以参考《FreeNAS:创建 CIFS 匿名共享》。

与其说接下来是配置Windows系统,倒不如说是设置DeltaCopy客户端软件。在这个情境中,Windows主机被视为客户端,我们使用了一台Windows 8.1系统,系统版本不是重点,因为几乎所有版本的Windows系统都可以运行DeltaCopy工具,闲话少说,运行DeltaC.exe。

DeltaC.exe的界面很简洁,虽然是全英文界面,但是功能分布清晰明了相信聪明的你一定能够hold住。首先点击程序菜单中第二个白色的文件小图标创建新的配置文件(也可以鼠标双击界面左侧<Add New Profile>),配置文件有这样几项:

  • Profile Name – 配置文件名,你可以随意设置,笔者建议和Rsync模块保持相同名称为好。
  • Server IP/Host Name – 服务端IP或主机名,这里填写FreeNAS的IP地址。
  • Virtual Directory Name – 虚拟目录名,这里要填写Rsync模块名,比较讨巧的方法是点击文本框后面的小按钮(红色箭头指示的位置),点击它会自动加载Rsync模块名称。
  • Assign to scheduler – 关联计划任务,这一项要勾选,因为Windows上的Rsync任务要根据计划任务去执行。
  • Test Connection – 测试连接按钮,上面的选项设置以后,点击这个按钮测试一下是否可以成功连接到FreeNAS服务器。
  • Add Profile – 添加按钮,全部选项设置完毕,点此按钮完成创建。

20150406171826

配置文件创建完成以后,在左侧“Existing Profiles”列表中双击新建的配置文件,右侧就会自动加载此配置文件。如下图所示,点击右侧的两个按钮添加需要同步的文件夹或文件。

  • Add Folder – 选择要同步的文件夹;
  • Add Files – 选择要同步的文件;

20150406173045

切换至“Options”选项卡,通常保持默认选项既可以,如果你有特殊需要,可以对各个选项进行微调,这里我们需要在“Additional Parameters”附加参数这一项中添加:

  • –iconv=GBK,UTF-8 –protect-args

如下图,添加这个参数的目的是为了防止Rsync在同步中文文件名的时候产生乱码或空白。

20150406173421

万事俱备,只欠计划,接下来我们就把计划任务给设上。上图中,界面下方“Copying Schedule”部分可以看到,Status:Not Scheduled(未计划)。点击右侧的“Modify Schedule”按钮,会弹出下图所示的界面,里面共有三个选项卡分别为:任务、计划和设置。

20150406174026

切换到“计划”选项卡,点击“新建”按钮,你可以根据需要设置任务开始的时间以及任务间隔的周期。这里我们演示设置一个每天24小时运行,每隔5分钟执行一次的同步任务。开始时间设置为0:00。

20150406174253

点击“高级”按钮,设置开始日期为今天,勾选“重复任务”,设置每5分钟执行一次,直到23:59。

20150406174839

切换到“设置”选项卡,取消勾选“超出以下值时停止任务”,默认为72小时以后停止任务。

20150406174929

点击确定按钮以后,会弹出下图所示的身份确认对话框,输入当前Windows用户的密码,按确定按钮,计划任务设置完成。

20150406174949

计划任务添加完成以后,双击左侧配置,下方会显示最新的计划任务概要信息,如下图所示。以此类推,你可以根据实际需求对计划任务的时间和同步频率进行设置。

20150406175401

一切都已就位,DeltaCopy会按照你配置文件和计划任务中的设置如期执行任务,不过即便设置了5分钟同步一次的频率已经足够快,但现在的你也可能已经急切的希望看一看Rsync同步任务是否能够成功执行。你可以鼠标右键单击配置文件,在弹出的菜单中点选“Run Now”立即运行。

prtsc1

这时候会弹出一个手动运行的状态窗口,如下图所示。再去看看你FreeNAS上面设置的存储路径,文件是不是已经在那里了。

20150406183403

情景二、将数据推送至Windows

与情景一相反,Windows作为服务端(接收数据),FreeNAS作为客户端(推送数据),把FreeNAS上的数据实时同步到Windows系统。

配置流程大致如下:

  1. Windows主机运行DeltaS.exe程序,配置Rsync模块;
  2. FreeNAS上创建Rsync任务;

照例,我们还是先配置服务端。在Windows系统上运行DeltaS.exe程序,如下图所示。点击界面上的“Register Windows Service”按钮注册Windows服务,这一设置并不难理解,因为Rsync同步需要在服务端启动Rsync服务,在FreeNAS里面我们是在服务管理器中启动Rsync服务,但是在Windows系统上则需要将DeltaCopy注册成为服务。

20150406184214

点击注册Windows服务按钮以后会弹出下图所示的对话框,你可以输入当前Windows系统的用户和密码,也可以像笔者一样,勾选“Use Local Service Account”项,直接使用系统内置的账户来运行DeltaCopy服务。

20150406184526

服务注册成功以后会弹出下图所示的提示框。

20150406184534

这时候程序界面出现了一个图形化的信号灯,因为还没有启动Rsync服务,因此亮着红灯。

20150406184541

点击右侧的“Start Server”按钮,信号灯就会变成绿色,代表已经启动了Rsync服务。

20150406184952

接下来我们创建Rsync模块,切换到“Vitrual Directories”选项卡。双击左侧列表中的“<Add New Directory>”,在弹出窗口中输入名称,本例我们创建一个名为“myBak”的Rsync模块。

注意:DeltaCopy Server程序中的“Vitrual Directories”意为虚拟目录,这里的虚拟目录也就是我们要创建的Rsync模块,名字虽然不同,但是意思却是一样的。

20150406185154

未完待续…

本文为GetNAS.com原创,版权归上海炬树信息科技有限公司所有,未经书面授权禁止转载。

授权转载请注明来源:http://www.getnas.com/2015/04/1369.html

分享按钮