我正面临重建我托管邮件存储的卷(kerio 邮件服务器,它使用 maildirs)。我需要尽快备份和恢复存储目录的 3.5+ 百万(约 600GB)小文件。通过 rsync 到 NFS 共享需要超过 12 个小时,但我还有一个可以使用的 1TB firewire 800 raid1 磁盘(从一些初步测试来看,它更快)。我正在处理 XServe 英特尔。最快的方法是什么?同步?查找器副本?柏油?
我正面临重建我托管邮件存储的卷(kerio 邮件服务器,它使用 maildirs)。我需要尽快备份和恢复存储目录的 3.5+ 百万(约 600GB)小文件。通过 rsync 到 NFS 共享需要超过 12 个小时,但我还有一个可以使用的 1TB firewire 800 raid1 磁盘(从一些初步测试来看,它更快)。我正在处理 XServe 英特尔。最快的方法是什么?同步?查找器副本?柏油?
在这种情况下,我认为 rsync 是最好的选择之一。您可能想跳过内置 rsync 2.6.9 的 Mac OS X 并选择通常更快的 rsync 3。您可以使用mlbackup获得预编译的 Mac 优化的 rsync 3.0.6 通用二进制文件,这是一个免费的基于 rsync 的备份实用程序。(在 /usr/local/maclemon/bin/rsync 中安装 rsync)为了完整和公平地披露:我是 mlbackup 的作者。
如果此服务器是您的实时邮件服务器,您可能希望将 rsync 复制到您的 FireWire 设备,并让它花点时间(它会花点时间)。当您准备好开始时,您只需重新运行 rsync 命令以将其更新到当前状态,这将花费更少的时间。
我建议您只需 rsnyc 到另一个驱动器,然后从新驱动器运行邮件服务器。这样你只需要复制一次。不知道您的 Xserve 中是否还有备用托架,或者您是否可以从外部驱动器运行几天。使用这种技术,您可以将备份和恢复到内部驱动器的过程分成不同的事件,您可以在两个周末执行这些事件,以将服务停机时间降至最低。
只需确保您拥有多个数据备份,以防万一。你不想让任何事情出错。
您还可以查看 Alex 的出色mailbfr,它可以工作到 10.5.8,Snow Leopard 兼容版本正在开发中,应该会在不久的将来发布。
600GB 超过 12 小时是 50GB/小时或 111Mb/s 作为参考,因此假设千兆以太网不是那么快。火线驱动器可能是一个更快的选择,但您是否相信它是您在 NFS 共享上对该数据的唯一备份?事实上,您真的只想要此数据的一个备份吗?
您是否尝试过按照Parallelizing RSYNC Processes将备份拆分为多个 rsync进程?这会给您的 CPU 和 IO 带来更多负载,因此您需要测试一次可以同时运行多少个 rsync 进程。
我怀疑瓶颈是对 NFS 服务器上磁盘的增量写入。如果您有能力这样做,我怀疑如果您通过 tar 流式传输它,或者将其压缩然后直接移动它,您会做得更好。您将失去 rsync 的增量方面,但我认为与 rsync 相关的文件系统爬行可能比实际复制中的开销更多。特别是如果到 NFS 服务器的距离不是那么远并且那里有很多带宽(听起来好像有)。