我需要通过 100MB 网络将大约 0.5 TB 的文件(大约 600,000 个)从 Windows Server 2003 计算机备份到 CentOS 6.4 计算机,并每晚更新一次。
备份脚本将托管在 CentOS 上。 SlimFTPd 服务器+标准 CentOS ftp 客户端或 Windows AD 文件共享+Samba 4 客户端通过 rsync 同步备份会更快吗?也就是说,一旦开始,假设有大约 15 GB 的更改,哪一个在比较目录结构以镜像它们方面会更快?
答案1
我会使用 rsync,因为它只会复制已更改的内容。
我将在 Windows 服务器上安装带有 openssh 和 rsync 的 cygwin,并通过 ssh 使用 rsync 来进行备份,命令如下:
rsync -e ssh -var --progress --partial server:/cygdrive/c/myfiles $HOME/mybackup
与使用 ftp 或 samba 选项相比的优点是,在这种情况下,rsync 在 centos 机器和 Windows 服务器上本地运行,收集文件名+大小+时间戳和(如果需要)校验和,并且仅收集文件(的那些部分)更改(或新)的文件夹将被转移。
Cygwin可以从这里下载http://www.cygwin.com/确保安装 openssh (服务器)和 rsync。
这可能可以在安装 Windows 后启用 ssh 服务器: http://www.noah.org/ssh/cygwin-sshd.html
答案2
Rsync 在这里是一个完全合适的解决方案。@jellefoks的回答涵盖了大部分操作方法,我想补充一点,我使用 rsync 将超过 1GB 的 20+ TB NAS 备份到另一个 NAS,每晚大约需要 1.5 小时。因此,使用 100MB 显然会更慢,但考虑到您的数据集大小,它应该是完全可以接受的。
唯一需要注意的rsync
是,如果数据的性质是大量文件,那么显然会比文件较少的大文件花费更长的时间。您可以进行一些优化,rsync
告诉它根据时间戳和大小与校验和比较文件,以提高其性能。
最后我想建议使用备份电脑。它让您可以选择使用各种方法进行备份(Samba、rsync 等),但它的真正价值是基于 Web 的报告。这些对于查看备份是否运行以及需要多长时间非常有用。
答案3
对于此用例(每日镜像),您应该从 Cygwin 安装 rsync 守护进程 rsyncd,而不用担心 ssh/ftp/samba。这里有一个很好的方法来解释 Windows 和 CentOS 上的设置。