将现有的Linux服务器备份到虚拟机虚拟机

我有一些服务器和VPS到世界各地的许多公司。 我想在本地备份它们。 我为远程主机启用了一些备份解决scheme,但我想在家中的计算机上进行本地备份。

我在想的是:

  1. 创build一个virtualbox虚拟机,安装与服务器相同的linux版本。

  2. 使用rsync将服务器备份到本地virtualbox机器。 (类似rsync -av –delete –progress –exclude'/ dev / '–exclude'/ proc / 'root @ server_ip:// /)

  3. 每隔几天重复一次命令更新文件。

  4. 如果发生硬盘故障或任何其他不良事件,请反转rsync命令并取回文件并继续我的业务。

我用2个openvz VPS试了一下,其中一个是另一个的备份。 我也试图将普通的Linux服务器主机转移到openvz机器上,它工作得很好。

这种方式看起来很干净,容易我,这是我正在寻找的解决scheme。 不过,如果我要这样做的话,我需要确定这一点是可行的。

问题是,这个工作可以吗? 有没有人看到有任何问题? 你有什么其他的build议 ?

谢谢

您应该添加一些方法来轻松重build磁盘结构(分区表,文件系统,挂载点)。

此外,在某些情况下, rsync备份可能会严重失败,在这种情况下,文件会长时间保持打开状态,并会不断更新。 数据库服务器就是这样的主要例子 – 你不能可靠地用rsync备份正在运行的数据库。

如果你要定期备份一堆机器,我build议你改用Bacula 。 它更适合于任务,默认情况下处理分区边界,允许各种存储服务器,日程安排等。它也允许你忽略你知道不能正确备份的文件(比如你的一个巨大的活动数据库),并通过脚本创build文件(例如,您的巨大数据库的转储脚本)。

我不确定你是怎样克隆到虚拟机的,除非你打算把这些镜像作为停止代替。 无论如何,通过适当的虚拟化设置,在大多数情况下,您还应该能够启动这些机器映像,并且无论如何,您都可以将恢复写入您select的文件系统目录。

请记住,如果文件可能不一致,rsync会花费很多时间和状态,因为您将在不同的时间点复制文件。 一个好主意可能是在服务器上创build快照(使用http://tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html中提到的LVM),然后从快照到虚拟机的rsync。

您可能需要查看使用rsync协议来识别和复制需要复制的更改的BackupPC。 每个系统的第一个备份将需要备份所有文件的完整副本。 之后,只有delta需要被复制。 它会复制另外1%的结构来进行validation更改。

这是非常有效的存储跨系统或目录复制的文件。 这可以大大减less备份的磁盘空间要求。

我用来备份我的Linux服务器以及Windows桌面。