在 Windows Server 上压缩和复制大文件?

在 Windows Server 上压缩和复制大文件?

我一直很难将大型数据库备份从数据库服务器复制到另一个站点的测试箱。我愿意听取任何可以帮助我移动此数据库的想法,而无需借助 USB 硬盘和邮件。

数据库服务器运行的是 Windows Server 2003 R2 Enterprise、16 GB RAM 和两个四核 3.0 GHz Xeon X5450。文件是 100 GB 到 250 GB 之间的 SQL Server 2005 备份文件。

管道不是最快的,而且 SQL Server 备份文件通常压缩到原始文件的 10-40%,因此我认为首先压缩文件是合理的。我尝试了许多方法,包括:

  • gzip 1.2.4 (UnxUtils) 和 1.3.12 (GnuWin)
  • bzip2 1.0.1(UnxUtils)和 1.0.5(Cygwin)
  • 温拉瑞 3.90
  • 7-Zip 4.65(7za.exe)

我尝试使用 WinRAR 和 7-Zip 选项将其分成多个段。7za.exe 对我来说效果很好,因为它可以在另一台服务器上进行数据库备份,该服务器有大约 50 GB 的备份。

我也尝试过先用各种实用程序分割 .BAK 文件,然后压缩生成的段。这种方法也没有什么效果 — 无论我尝试过什么工具,最终都会影响文件大小。

尤其令人沮丧的是,我使用 rsync+ssh 在 Unix 机器上传输了类似大小的文件,没有出现任何问题。不幸的是,安装 SSH 服务器不适合我的情况。

例如,7-Zip 死机如下:

H:\dbatmp>7za.exe a -t7z -v250m -mx3 h:\dbatmp\zip\db-20100419_1228.7z h:\dbatmp\db-20100419_1228.bak

7-Zip (A) 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
Scanning

Creating archive h:\dbatmp\zip\db-20100419_1228.7z

Compressing  db-20100419_1228.bak

System error:
Unspecified error

答案1

qpress 可在低 CPU 负载下快速压缩,我使用它来存储 130GB 的 SQL 2008 备份转储。它以 ~35MiB/s 的速度压缩到 34GB 文件,我认为这令人印象深刻。

答案2

不使用 ssh 可以使用 rsync 吗?我看不出加密是必需的,而且 rsync 在 Windows 上运行良好。

通过 netcat 进行 gzip 怎么样?文件应该会顺利通过,而不会遇到中间步骤的问题。

只是大声思考...抱歉,我没有确定的东西。

答案3

压缩数据库后,您可以考虑使用 robocopy 来复制文件吗?

答案4

好吧,这就是我所做的;)

  • 两端均实现虚拟化。

  • 两端的域控制器;)给我一个外部 DC 备份。

  • 用于传输的 DFS 复制;)这个在后台运行良好,使用压缩并且保持运转。

相关内容