将 VPS 克隆到本地 VM?

将 VPS 克隆到本地 VM?

我给你们准备了一个有趣的挑战。我合作的一家公司正在设置其开发/发布工作流程和环境。最终的生产环境是一个 VPS,托管在运行 CentOS 的流行主机上,位于 Virtuozzo 虚拟化环境中。

我们希望在每个开发人员的本地系统上安装生产环境的虚拟化实例(或类似实例)。这样,每个开发人员都可以在自己的系统上本地测试更改,而不会在出现问题时影响到其他人的系统。

显然,有很多方法可以做到这一点,但我认为有一种特定的方法更胜一筹。这就是我需要你的帮助的地方。

到目前为止,最好的选择似乎如下。


导出/备份 Virtuozzo VM。将其下载到本地系统并安装到 Virtuozzo 容器中。

这是最干净/最纯粹的解决方案,但可能不起作用。例如,克隆的 VM 仍将具有来自 VPS 网络的所有网络配置。编写脚本来更新这些(以及任何其他旧配置值)以使其更适合本地 VM 会很难吗?

将代码库部署到任意虚拟化产品中创建的具有类似配置的 VM。

这种方法不太干净,但我知道它可以工作(我以前做过)。例如,我们可以将相同版本的 CentOS、Apache、MySQL 等安装到本地 VMWare VM。环境与生产环境不完全相同,但可能足够接近以使此工作流程可行。

另外一个选择?

您认为可能还有哪些其他选择?或者,这些选项中是否有一个是最好的?我很想听听您的想法!:)


编辑:

生产服务器上有多个 cPanel/用户帐户

我联系了我们 VPS 的客户支持,看我是否可以访问 Virtuozzo 备份;他拒绝了我们的请求,但建议我们可以尝试为每个开发人员创建一个单独的 cPanel/用户帐户。这将允许环境与服务器的环境相同,但会有点不方便,因为环境仍然在远程运行,而不是在本地运行。不过,这是一个不错的选择。

答案1

这对你来说非常完美...

在源虚拟机实例上...

sudo su
cd /
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

在目标机器上(专用或 VPS)

tar xvpfz backup.tgz -C /

并确保重新创建所有被排除的目录

mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys

您可以创建一个漂亮的 Microsoft VirtualPC Linux 映像并将其分发给每个人

相关内容