将Linux服务器转移到虚拟机

我有一个运行一些服务的OpenSuse服务器(包括Apache Web服务器,邮件列表等)。 现在我需要将所有这些服务移动到一个虚拟机(Virtualbox可以运行在同一台物理机器上或其他地方)。

如果我可以将所有内容“复制”到虚拟机上,这样虚拟机就能像原来的机器一样运行,这是理想的select。 所有用户的数据(/ home / *)都存储在一个NFS中,不应传输给VM。 然后,我可以有一个相对较小(几千兆字节)的虚拟机映像,因此可以每隔几天备份一次。

我需要将所有的系统和应用程序设置移到虚拟机,这样我才能切换到顺利使用虚拟机。

有什么工具或什么可以做到这一点? 如果不是,我该怎么做?

你可以用dd做到这一点很简单。

dd if=/dev/you-root of=/mnt/temp/filesystem.raw bs=1M 

现在,您可以使用qemu-img将此原始文件转换为任何所需的容器。 甚至让虚拟机使用块设备并将其复制到逻辑卷。 对于VirtualBox,它将是vdi。

 qemu-img convert -O vdi /mnt/temp/filesystem.raw /mnt/temp/filesystem.vdi 

你可以在技术上使用Rsync

在虚拟机上启动一个live CD,并对磁盘进行分区,然后挂载“/”作为/ mnt / rootfs /并从VM运行以下命令:

 rsync -aHAXz root@OLD-SERVER:/ --exclude=/sys/* --exclude=/proc/* --exclude=/dev/* /mnt/rootfs/ -a = archive mode; equals -rlptgoD (no -H,-A,-X) -H = preserve hard links -A = preserve ACLs (implies --perms) -X = preserve extended attributes -z = compress file data during the transfer 

然后修复GRUB,/ etc / fstab等等。

假设你的“OLD-SERVER”具有SSH访问权限,这将(主要)工作…

我之前使用过这种方法来克隆物理机器…

我用'dd'命令做这种任务。 但他们是像Ghost这样的商业解决scheme,像Clonezilla , partimage这样的开源解决scheme。 将主机从一个盒子移动到一个虚拟机就像将一个主机从一个盒子移动到一个新盒子。