快速互联网备份

快速互联网备份

我们希望在远程数据中心安装一些服务器,作为我们主数据中心的备份存储位置。

假设两个站点都具有 GigE 连接,那么用于快速文件传输的最佳方法是什么?我喜欢 rsync,但是由于我们有很多数据要传输(每晚 1.5TB),我认为 rsync 中使用的 SSH 协议可能会使速度变慢很多 :(

我们可以安装一些快速的VPN端点来实现链接加密,但问题仍然存在:什么是实际传输的最佳工具?

答案1

备份性能由许多因素决定。带宽就是其中之一。

  • 存储写入性能

通常由存储写入性能决定。

  • 网络带宽

一个好的选择是在备份服务器上以守护进程模式运行 rsync,这样做可以避免 ssh。但是,除非你有真的处理器速度慢,ssh 开销就不会很大。

要将 rsync 作为守护进程运行,请在服务器上启动 rsync 守护进程

  rsync --daemon 

默认情况下,它监听 TCP 端口 873,您可以在 rsyncd.conf 中更改它。

然后使用 rsync 作为

 rsync [OPTIONS] source-path \
          rsync://backup_username@backup-server:873:destination-path

没有足够的信息来估计您的预期性能。但每天增加 1.5 TB 并非不可能。

  • 存储 IOPS

在备份期间,您将写入操作与许多文件系统操作相结合。文件系统查询和更新。通常,运行多个 rsync 进程以隐藏文件创建的延迟是一个好主意。

答案2

您可能需要研究文件加速软件。我认为这个市场上有很多参与者,但我过去见过使用过的是 aspera。这里有一个比较 aspera sync 和 rsync 的页面(页面底部有比较表)。

http://asperasoft.com/en/products/synchronization_23/aspera_sync_23

答案3

此外,请确保所涉及的任何一方都没有使用任何真正老版本的 rsync。目前仍在使用 2.x 版本,这会使整个链回退到较旧且在某些情况下效率低得多的协议版本(如果告诉您“发送增量文件列表”,则没问题。如果是“发送文件列表”,则使用的就是 2.x 协议。)

答案4

有人在这里提到使用rsync 守护进程- 与通过 ssh 隧道传输流量相比,这是一个“更轻量”的解决方案。但即使使用 ssh 封装,一夜之间传输 1.5TB 并饱和千兆链路也是可行的。

假设您有几个大文件[可能是错误的假设] - 您应该能够在~5 小时内传输有效载荷。我做了一个快速测试:

server:/mnt/big/tmp# rsync -av --progress root@otherServer:/big/file ./
receiving incremental file list
file
  1849044309 100%   74.47MB/s    0:00:23 (xfer#1, to-check=0/1)

sent 30 bytes  received 1849270109 bytes  75480413.84 bytes/sec
total size is 1849044309  speedup is 1.00

告诉 ssh 使用更轻的压缩方法:

server:/mnt/big/tmp# rsync -e "ssh -c arcfour" -av --progress root@otherServer:/big/file ./
receiving incremental file list
file
  1849044309 100%  106.70MB/s    0:00:16 (xfer#1, to-check=0/1)

sent 30 bytes  received 1849270109 bytes  112076978.12 bytes/sec
total size is 1849044309  speedup is 1.00

因此假设存储不是瓶颈 - 106MB/s ~= 350GB/h ~= 5 小时内 1.5TB。

两项测试都是在配备 xeon E5430 @ 2.66GHz CPU 的空闲机器上进行的。

为了提高效率[如果 CPU 速度较慢,请使用多个内核]或者仅使用更好的可用带宽和 IO - 您可以为几个文件运行几个并行 rsync 会话。

我不知道您是否拥有/租赁光纤,或者只是使用运营商提供的 mpls 服务,无论这些 ssh 是否为您提供强加密的额外好处,而无需在其间设置 vpn。

相关内容