虚拟机高效异地远程备份解决方案的建议

虚拟机高效异地远程备份解决方案的建议

我正在寻找有关备份当前 6 个虚拟机(很快将增加到 20 个)的建议。目前,我正在运行一个双节点 proxmox 集群(这是一个基于 debian 的集群,使用 kvm 进行虚拟化,并使用自定义 Web 前端进行管理)。我有两个几乎相同的盒子,分别装有 amd phenom II x4 和 asus 主板。每个都有 4 个 500 GB 的 sata2 硬盘,1 个用于操作系统和其他用于 proxmox 安装的数据,另外 3 个使用 mdadm+drbd+lvm 在两台机器之间共享 1.5 TB 的存储空间。我将 lvm 映像安装到 kvm 上,用于所有虚拟机。我目前能够从一台机器实时传输到另一台机器,通常在几秒钟内完成(在运行 win2008 和 m$ sql server 的最大虚拟机上大约需要 2 分钟)。我使用 proxmox 的内置 vzdump 实用程序来获取虚拟机的快照,并将其存储在网络上的外部硬盘上。然后我使用 jungledisk 服务(使用 rackspace)来同步 vzdump 文件夹以进行远程异地备份。

这一切都很好,但可扩展性不强。首先,备份本身每晚可能需要几个小时。使用 JungleDisk 的块级增量传输,同步只会将一小部分数据传输到异地,但这仍然需要至少半个小时。

当然,更好的解决方案是允许我立即获取两个时间点的差异(例如从早上 6 点到早上 7 点写入的内容),将其压缩,然后将该差异文件发送到备份服务器,该备份服务器将立即传输到 rackspace 上的远程存储。我研究了一下 zfs 及其发送/接收功能。再加上 bzip 中的数据管道或其他东西,这似乎是完美的。但是,似乎使用 zfs 实现 nexenta 服务器本质上需要至少一个或两个专用存储服务器来为 proxmox 服务器提供 iSCSI 块卷(通过 zvol???)。如果可能的话,我希望尽可能保持设置尽可能简单(即没有单独的存储服务器)。

我也简要地读过关于 zumastor 的文章。它看起来也能满足我的要求,但它似乎在 2008 年停止了开发。

那么,zfs、zumastor 还是其他?

答案1

在您的环境下,这可能行不通,所以我希望在这种情况下我不会被否决,但更改备份策略可能会更有效。如果您备份特定数据而不是虚拟机快照,您的备份将运行得更快,并且更容易捕获更改。

根据您的虚拟机及其用途,您可以让它们每天(或任何合适的时间表)将数据备份到您现在存储快照的位置,然后 JungleDisk 可以只备份数据。这样可以更有效地传输更改的文件,并且备份所需的空间以及所需的时间都会减少。此外,您仍然可以拍摄快照以进行保留,只是这样做的频率要低得多(例如每周)。

在这种情况下,您可以随时启动一个新的 VM 并恢复数据,或者使用较旧的快照恢复 VM,然后使用数据备份恢复到最近的点。

答案2

如果我正在进行异地备份,我会选择以下选项:

(a) shell 脚本,执行 SCP 复制到远程服务器,这样您就可以添加一个 cron 作业,自动运行创建备份的脚本。此外,您还可以在实际传输文件之前创建一个临时存档文件,从而在不进行 gzip 压缩的同时不进行传输,从而节省带宽。

或者

(b) 安装 Webmin 等服务器管理工​​具并让其自动备份。我目前在生产服务器上使用此工具,没有任何问题,它运行完美。我还推荐使用 cloudmin(付费)来管理多个虚拟机,因为它提供了一站式解决方案。

一些额外的链接:

http://www.debianhelp.co.uk/backup.htm

http://ubuntuforums.org/showthread.php?t=35087

希望有所帮助,RayQuang

答案3

您可能想看看 backuppc。

backuppc 可以在执行增量复制的 rsync 基础上工作。

此外,您还可以轻松编写一个无需备份的文件夹黑名单。例如:temp/ /tmp .garbages/ ...

http://backuppc.sourceforge.net/

backuppc 有一个简洁的 Web 界面,允许您直接将备份的某些部分下载为 zip 文件。nagios 可以使用 check_backuppc 对其进行监控。

答案4

zfs 做得很好,您已经提到了这一点,以及在 2 个服务器规模下效果不佳的缺点。它也不会为您提供 DRDB 故障转移,即 Nexenta 将成为单点故障。

您可以考虑尝试在 OpenSolaris 或 NexentaCore 上获取 VirtualBox,但不像 ProxMox + DRDB 那么简单,这样您就可以重新使用现有的机器。

如果您测量了您的更改并发现它们足够低,您可以尝试使用异地第三个镜像的 DRDB - 只有当您的虚拟机上的写入次数极低时它才会起作用。

Steve Radich - 自 1995 年以来一直致力于 Windows 托管和 SQL 性能 -http://www.BitShop.com/Blogs.aspx

相关内容