最好的方法来备份和恢复数百万个文件

我正在面临重build我主pipe邮件存储(kerio邮件服务器,使用maildirs)的卷。 我需要尽可能快地备份和恢复商店目录的350万以上(约600GB)的小文件。 它需要通过rsync到NFS共享超过12个小时,但我也有一个1TB FireWire 800 raid1磁盘,我可以使用(从一些初步testing它更快)。 我正在做一个XServe的英特尔。 什么是最快的方法呢? rsync的? Finder的副本? 柏油?

我认为rsync是这种情况下最好的select之一。 您可能想要跳过内置在rsync 2.6.9中的Mac OS X,然后使用rsync 3,这通常会更快。 您可以使用mlbackup (一个免费的基于rsync的备份工具)获得预编译的Mac优化的rsync 3.0.6通用二进制文件。 (在/ usr / local / maclemon / bin / rsync中安装rsync)为了充分和公平地披露:我是mlbackup的作者。

如果这台服务器是你的实时邮件服务器,你可能想要做一个rsync拷贝到你的FireWire设备上,并且让它花费一些时间(需要花费时间)。 当你准备好了,你只需重新运行rsync命令,将其更新为当前状态,这将花费更less的时间。

我build议你只是rsnyc到另一个驱动器,并从新的驱动器运行邮件服务器。 这样你只需要复制一次。 不知道Xserve中是否有剩余空间,或者是否可以从外部驱动器运行几天。 利用这种技术,您可以将备份和恢复到内部驱动的stream程分解为不同的事件,您可能在两个周末都会执行这些事件,从而将服务停机时间降到最低。

为了以防万一,请确保您有多个备份的数据。 你不想有什么问题。

你也可以看看亚历克斯的优秀mailbfr ,这将工作到10.5.8,兼容雪豹的版本正在开发中,应该在不久的将来发布。

在12小时内的600GB是50GB /小时或111Mb / s作为参考,因此假定千兆以太网不那么快。 火线驱动器可能会是一个更快的select,但你相信它作为这个数据通过NFS共享的唯一备份? 事实上,你真的只想要这个数据的一个备份?

您是否尝试将并行化RSYNC进程拆分成多个rsync 进程 ? 这会给你的CPU和IO带来更多的负担,所以你需要testing一次可以同时运行多less个rsync进程。

我怀疑,瓶颈是在NFS服务器上增量写入磁盘。 如果你有能力做到这一点,我怀疑如果你通过焦油stream,或者压缩它,然后直接移动它,你会做得更好。 您将失去rsync的增量方面,但我认为在rsync相关的文件系统抓取中可能比在实际的复制中有更多的开销。 特别是如果到NFS服务器的距离不是那么远,那里有很多带宽(就好像有这个)。