数据复制工具/方法

我试图从Windows 2008服务器上的本地存储器复制大量数据(数百个演出文稿,各种大小的文件夹和文件)到另一台服务器上的CIFS共享。 CIFS共享空间只能通过CIFS访问,托pipeCIFS共享的系统无法以任何方式“login”(通过ssh或RDP或类似方式)。 必须维护所有权限,必须保留所有文件夹树和文件名,并且必须在合理的时间内完成副本。 服务器不能长时间脱机,无论使用何种方法/工具,都必须是免费的。

微软的“RichCopy”实用程序似乎无法覆盖它正在运行的帐户无权访问的文件夹的权限。 但是,它提供了线程复制,由于大量非常小的文件,似乎对于快速复制数据非常重要。

我阅读了其他几个类似问题的post,但其中大部分都与Linux环境有关,或者没有完全相同的要求。 这里有很多细节,但我希望有人能帮助我find一个好的解决scheme!

Windows 2008的Robocopy版本正确处理权限,需要时(通过/ B或/ ZB交换机)调用备份权限,以覆盖ACL的限制,否则将拒绝运行直接访问文件\目录的帐户。 它也支持multithreading拷贝(通过/ MT开关,默认是8最大是128)。 / Z(或/ ZB)开关提供部分复制\恢复。

/ B选项要求可以调用备份权限的用户 – pipe理员或Backup Operators组成员的用户可以调用此权限。 您使用的帐户应该符合来源和目的地的要求。

我注意到Robocopy的一个怪癖是,当你从源系统运行Robocopy到目的地时,/ B或/ ZB交换机才能可靠地工作,在你正在目标系统上运行它的拉模式下,我见过访问被拒绝的错误。

我已经很多次使用TeraCopy非常成功。 我相信它能正确保持所有的权限。 计算机是否在同一个域中? 如果没有,那么在一台计算机上存在的用户可能会遇到问题,而另一台计算机上则可能存在问题,但我不知道如何解决这个问题。

TeraCopy也使用线程复制,因此比内置的Windows复制方法快得多。 如果在复印过程中由于某种原因需要暂停或停止,它将从停止的位置恢复。

至于复制你没有权限的文件,我不确定任何实用程序能够做到这一点。 在我的Windows 2003域中,有一个名为Backup Operators的Builtin安全组,称为“成员可以绕过文件安全来备份文件”。 如果你是这个小组的成员,你也许可以做你想做的事情。

我试着按照Helvick的build议下载Windows 2008 R2评估版本。 我做了一个虚拟机来运行操作系统,因为我现在不能将数据源服务器升级到R2。

我沿途遇到了相当数量的速度颠簸,最终发现,即使设置了/ B和/ MIR开关,Robocopy也只能在源(也可能是目的地)服务器上运行时才能正确传输ACL。 如果在中间设备上运行,即使数据被复制,在目标端设置ACL也会失败。 然后,Robocopy将它所访问的最深文件夹的ACL应用于该树级别下的所有数据,这是不可接受的。 除此之外,通过中间服务器运行副本的开销太大,大大降低了复制速度。

但是,当在源服务器上运行时,2008年的Vanilla版本的Robocopy能够顺利地传输和实现ACL。 幸运的是,我们也发现非线程Robocopy的速度应该足以进行这种数据迁移。 但是,如果我可以将源服务器更新到2008 R2,我毫不怀疑数据拷贝绝对会使用multithreading。

希望MS的男孩很快就会在RichCopy上添加一个“备份”模式,它将成为一个超级有用的小工具。