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


15

我正在寻找有关备份当前6个虚拟机的建议(并且很快将增长到20个)。目前,我正在运行一个两节点的proxmox集群(这是一个使用kvm进行虚拟化并使用自定义Web前端进行管理的debian基础)。我有两个几乎相同的盒子,分别是AMD现象II x4和华硕主板。每个都有4 500 GB sata2硬盘,其中1个用于os和其他数据用于proxmox安装,另外3个使用mdadm + drbd + lvm在两台计算机之间共享1.5 TB的存储。我将所有虚拟机的lvm映像安装到kvm。我目前能够从一台计算机实时转移到另一台计算机,通常只需几秒钟(在运行带有m $ sql服务器的win2008的最大vm上大约需要2分钟)。我正在使用proxmox的内置vzdump实用程序来拍摄vm'的快照 并将它们存储在网络上的外部硬盘驱动器上。然后,我有了Jungledisk服务(使用机架空间)来同步vzdump文件夹以进行远程异地备份。

这一切都很好,但不是很可扩展。首先,备份本身每晚可能要花费几个小时。通过jungledisk的块级增量传输,同步仅可将一小部分数据异地传输,但仍需要至少半小时。

当然,更好的解决方案是允许我立即获取两个时间点的差异(例如,从上午6点到上午7点写的内容),将其压缩,然后将该差异文件发送到备份服务器,该文件将立即传输到备份服务器。机架空间上的远程存储。我对zfs进行了一些研究,它具有发送/接收的功能。再加上bzip中的一堆数据似乎很完美。但是,似乎使用zfs实现nexenta服务器实际上将需要至少一个或两个以上的专用存储服务器,才能将iSCSI块卷(通过zvol的???)提供给proxmox服务器。如果可能的话,我希望将安装程序保持在最小限度(即没有单独的存储服务器)。

我还简要阅读了有关zumastor的信息。看起来它也可以满足我的要求,但它似乎在2008年停止了发展。

那么,zfs,zumastor还是其他?

Answers:


3

在您的情况下,这可能是不可能的,因此,我希望在这种情况下不要被否决,但更改备份策略可能更有效。如果您备份特定数据而不是VM快照,则备份将运行得更快,并且捕获更改将更加容易。

根据您的VM及其用途,您可以让它们将数据备份到您现在每天存储快照的位置(或适当的时间表),然后JungleDisk可以仅备份数据。这样可以更有效地传输更改的文件,并且可以减少备份所需的空间以及所需的时间。此外,您仍然可以拍摄快照以保留快照,而这样做的频率要少得多(例如,每周一次)。

在这种情况下,您总是可以启动新的VM并还原数据,或者使用较旧的快照还原VM,然后使用数据备份还原到最新点。


1
我已经考虑过类似的事情。问题在于,至少有一个主虚拟机正在运行专门为HVAC行业量身定制的自定义数据库软件,并且没有像在sql数据库中看到的那样具有转储功能。我们将其中一些数据导出到M $ SQL,但并非全部导出,并且每天仅导出一次。不幸的是,仅仅作为网络管理员并不允许我在虚拟机中运行的内容中做出此类设计决定……而仅是如何运行虚拟机并对其进行备份。
senorsmile

1

如果我要进行异地备份,则可以选择以下选项:

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

要么

(b)安装服务器管理工​​具(如Webmin)并进行自动备份。我目前正在我的生产服务器上唱歌,没有任何问题,它运行正常。我还建议使用cloudmin(收费)来管理许多虚拟机,因为它提供了一个一体化的解决方案。

一些额外的链接:

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

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

希望有帮助,RayQuang


谢谢!这些链接有很多有用的信息。问题是我需要可以在实时运行的虚拟机上运行的东西,而不必花几个小时来计算差异。最终的单机将是可以运行xen,kvm(显然在Linux内核中运行)或类似功能的nexenta安装。这样,我就可以在映像文件或lvm(或zvol)上安装适用于Windows和linux服务器的高性能虚拟化解决方案,并且可以采取无限快照并仅快速转移上次备份中的差异的方式!
senorsmile,2010年

1

您可能想看看backuppc。

backuppc可以在进行增量复制的rsync上运行。

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

http://backuppc.sourceforge.net/

backuppc具有干净的Web界面,可让您直接将备份的某些部分作为zip文件下载。nagios可以使用check_backuppc对其进行监视。


我认为backuppc对于完全不同的项目将是完美的!非常感谢。对于将远程备份运行到其他站点,添加或替换丛林磁盘以进行异地备份,它也可能是一个很好的替代。
senorsmile '12

1

我不确定您打算进行多少体系结构更改以增加可伸缩性。但是,如果您愿意切换VM平台,则可以查看VMWare。

有很多很好的VMWare备份解决方案,我个人使用过VzionCore。然后,您可以使用快照和时间点恢复来完成一些巧妙的工作。甚至可以故障转移到远程站点。


不幸的是,我正在寻找与我现在正在运行的东西非常相似的东西。它尤其需要开源和可扩展。我已经回顾了VMWare解决方案,即使是一个带有CDP备份解决方案的良好第三方的两节点虚拟集群的成本也非常高昂。
senorsmile,2010年

我认为您是说VizionCore,而不是VzionCore。
肖恩·赖夫施奈德

0

zfs做得很好,您已经提到了要知道的事实,但是在2服务器级别无法正常工作的缺点。它还不会为您提供DRDB故障转移,即Nexenta将是单点故障。

您可以考虑尝试在OpenSolaris或NexentaCore上获得VirtualBox,但并不像ProxMox + DRDB那样简单,因此可以重复使用现有计算机。

如果您测量更改并发现它们足够低,则可以在异地使用第三个镜像尝试DRDB-只有在您的VM上的写入次数极少的情况下,它才起作用。

史蒂夫Radich - Windows主机和SQL表现自1995年- http://www.BitShop.com/Blogs.aspx


0

我运行了一个大型的proxmox群集,必须建议您从内置的vzdump快照样式备份中更改备份策略,这种备份需要很长时间,因此总是已满,因此容量很大,并且使单个文件的还原过程非常漫长。

考虑其中有很多“来宾”文件备份解决方案。Backuppc,Urbackup,bacula,amanda等...

它将更快,消耗更少的空间并且更容易还原特定文件。


0

我想我可能已经找到了我问题的最终答案:

BUP https://github.com/bup/bup

特征:

  • 它使用滚动校验和算法(类似于rsync)将大文件拆分为多个块。这样最有用的结果是,即使它们通常都在一个巨大的文件中,并且不占用大量磁盘空间用于多个版本,您仍可以增量备份巨大的虚拟机(VM)磁盘映像,数据库和XML文件。

    它使用git(开放源代码版本控制系统)中的packfile格式,因此即使您不喜欢bup的用户界面,也可以访问存储的数据。

    与git不同,它直接写入packfile文件(而不是具有单独的垃圾回收/重新打包阶段),因此即使有大量数据,它也可以快速运行。bup改进的索引格式还允许您跟踪比git(百万)更多的文件名,并跟踪更多的对象(数百或数千GB)。

    在增量备份之间“自动”共享数据,而不必知道哪个备份基于另一个备份,即使备份是从两台彼此都不了解的不同计算机上进行的。您只需告诉bup备份内容,它仅保存所需的最少数据量。

    您可以直接备份到远程bup服务器,而无需备份计算机上大量的临时磁盘空间。如果备份中途中断,则下一次运行将从您上次中断的地方开始。设置bup服务器很容易:只需将bup安装在具有ssh访问权限的任何计算机上。

    即使磁盘未检测到坏扇区,Bup仍可以使用“ par2”冗余来恢复损坏的备份。

    即使备份是增量备份,也不必担心还原完整备份,然后依次备份每个增量备份。增量备份就像完全备份一样,只占用较少的磁盘空间。

    您可以将bup存储库安装为FUSE文件系统,并以这种方式访问​​内容,甚至可以通过Samba导出它。

编辑:(2015年8月19日),又出现了另一个更好的解决方案,那就是更好:https : //github.com/datto/dattobd

它允许实时快照,从本质上为Linux中的任何常规旧文件系统提供了类似于COW的功能。

编辑:(2016年7月15日)甚至还有另一个很棒的解决方案,可以将bup炸掉:https : //github.com/borgbackup/borg

它在修剪方面比bup特别好。它似乎对压缩,加密和有效的重复数据删除提供了强大的支持。达托布德+博格ftw !!!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.