我们有一个由陌生人设置的私人服务器。
现在我想制作一台具有完全相同配置和软件的服务器(用于本地主机虚拟机 - VirtualBox)。
是否有简单的方法可以实现这一点,例如复制粘贴?
顺便说一句,该服务器运行的是 Ubuntu 10.04.2 LTS,无法物理访问(它属于托管服务提供商),但我可以通过 SSH 访问它。
答案1
您还可以使用另一种方法:
- 创建一个新的虚拟机,并在其中安装完全相同的 Ubuntu 版本。使用备用 CD 进行安装,并创建最小安装。
- 登录到您的远程服务器,然后执行
dpkg --get-selections \* > /tmp/serverpkgs.lst
。 - 转移
/tmp/serverpkgs.lst
到新创建的虚拟机 - 在新的虚拟机上,执行
sudo dpkg --set-selections < /tmp/serverpkgs.lst
- 仍在虚拟机上,执行
sudo apt-get dselect-upgrade
现在您应该已经复制了已安装的软件——剩下的就是它的配置。这可能是最棘手的部分:因为我不知道使用了什么,所以没有“全局答案”。通常,配置文件存储在下面/etc
,因此您可能需要cd / && sudo tar czf /tmp/server-cfg.tar.gz etc/*
,然后传输/tmp/server-cfg.tar.gz
到您的虚拟机,将其解压到某个临时目录(例如,使用cd /tmp && tar xzf server-cfg.tar.gz
,这将创建/tmp/etc/*
),然后检查小心要将哪些配置文件复制到你的/etc
树中。
答案2
理论上,直接在两个不同的硬件平台之间进行复制是可行的(您只需复制文件并安装引导加载程序),但这很少是一个好主意。我曾多次成功完成此操作,但也多次失败。
问题是,当你安装操作系统时,某些优化和其他决定有时会根据你安装的硬件类型做出。如果你复制到完全相同的硬件上,那就没问题了。如果你复制到非常不同的硬件上,那么也许你将要有问题。从物理机转到虚拟机可能就是“不同硬件”的一个例子。它可能有效,也可能无效。最有可能的是,它最初不会起作用,但如果你真的非常清楚自己在做什么,那么你可以调整一些东西,直到它起作用。
但如果你这样做真的真的如果你不知道自己在做什么,那么你可能不会问这是否可行。所以,按照这个逻辑,答案可能是不。
但如果你足够坚持,你也许可以把它变成是的。您尝试执行的操作通常缩写为“物理到虚拟”或简称为“P2V”(甚至更短)。关于这个问题的意见不胜枚举,许多人对如何做到这一点给出了相互矛盾的指示。因此,有关更多信息,我将听从强大的谷歌。
答案3
您可以使用 clone/image 来处理服务器的硬盘。使用 clonezilla 或许会有所帮助(http://clonezilla.org/)
如果你正在运行服务器在VirtualBox 您可以简单地导入/导出服务器。(从您的问题中我不确定)
除了成像之外,没有从头开始创建新服务器的复制粘贴解决方案。