我想在Linux主机系统上设置一个运行在VirtualBox虚拟机上的服务器。
什么是一个有效的方式来备份这个虚拟服务器“整体”,以便在主机或客户系统发生故障的情况下,我可以恢复备份的虚拟服务器?
请让我知道我将如何恢复备份。 谢谢!
从约翰的回答中解释道:“像处理物理机器一样对待虚拟”。 任何运行时备份的软件/方法都可以工作。 如果备份方法尚未包含虚拟机的configuration文件(.vbox),则可能还需要对其进行备份。 大多数裸机备份都是在没有运行标准系统的情况下完成的。 大多数增量/差异数据备份可以在系统运行时执行。
请注意,“VBoxManage clonehd”(clonevdi已弃用)将更改UUID。 目前许多Linux发行版都使用UUID进行装载,您需要修改UUID或/ etc / fstab以使克隆磁盘启动。
另外clonehd不复制机器,只有磁盘。 您可能需要特定的虚拟系统设置才能正确运行虚拟,多个NIC,大内存设置等。
尝试使用多个磁盘将系统与数据分离以减less克隆或备份的停机时间。 如果这个虚拟机是一个networking服务器,那么在www-root中使用一个单独的磁盘,这样每天都会进行大部分的修改。 除非更新程序或configuration文件,否则无需重复备份系统磁盘。 如果您需要,请不要忘记备份日志。
在最初的虚拟安装和设置之后,也要考虑使用VirtuaBox不可变的磁盘。 不可变的系统磁盘可以在许多虚拟机中共享。 它是只读的,只需要备份一次,或者任何你觉得安全的保留号码,通常是三四份就足够了。 只有差异磁盘需要定期备份。
我们的大部分虚拟服务器都是通过源代码版本控制预先备份的。 对虚拟机configuration文件(.vbox),虚拟机等configuration文件和虚拟数据的所有更改都通过外部备份的源代码pipe理进行发布。 重build/恢复包括检出vbox机器文件,启动虚拟机以防止不可变,并将差异磁盘从源代码控制重新加载到检查点或分支标记。 这适用于服务器服务器。
虚拟客户端testing机器(不同版本的Windows)通常对于这种方法来说太麻烦了,需要导出/导入,clonehd或clonezillatypes的备份。
Clonezilla裸机备份/还原 – 启动虚拟到clonezilla iso和一个额外的附加备份数据磁盘或使用共享文件夹的备份目的地。 这一次备份和压缩。 在备份过程中,如果您也在clonehd操作之后进行压缩,Clonehd和导出将最多需要三个副本的空间。 备份或还原后,删除clonezilla iso mount,额外的备份磁盘或共享文件夹,然后重新启动系统。 还原与备份的过程相同。
如果使用其他导出/导入方法,则可能需要在虚拟机configuration文件(.vbox)或虚拟机/ etc / fstab(有时甚至包含/ etc / fstab的导出/导入)中findUUID以获取在恢复/重build后工作的东西。
出口和import是大脑死亡的方法。 导出将复制机器设置和磁盘。 这将花费很长时间,使用虚拟磁盘空间的将近两倍。 虚拟不应该在导出或导入过程中运行。
如果您希望虚拟机的绝对最短停机时间和增量备份的最小数据传输量,请使用运行ZFS的openIndiana(Solaris)或变体作为虚拟主机系统。 轻松快照,复制和重复数据删除。 清理虚拟快照的时间比虚拟机上的closures/重新启动顺序less。 如果在备份期间运行SQL数据库并执行locking/不更改,则closures可确保数据库的完整性。 关机/快照/重新启动序列完成后,通常不到几分钟,虚拟正在运行/可用。 然后使用ZFS同步将您的快照更改传输到另一台备份机器或外置磁盘。
将HardDisks目录中的.vdi文件复制到安全的地方。 (你可以使用VBoxManage clonevdi …)。
您可以导出虚拟机,将虚拟机导入到同一主机或另一台主机,也可以使用常规备份工具,就像使用物理主机一样。 为了备份目的,将虚拟机视为与物理机器不同的方式并不是真正的理由。