将 VPS 克隆到本地 VM?

rin*_*ogo 4 vps vmware-server vmware-workstation virtuozzo vmware-player

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

我们想为每个开发人员的本地系统安装一个生产环境(或接近它的东西)的虚拟化实例。这将允许每个开发人员在他/她自己的系统上本地测试更改,而不会在出现问题时污染任何其他人的系统。

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

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


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

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

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

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

另外一个选项?

您认为还有哪些其他选择?或者,这些选项之一是最好的吗?我很想听听你的想法!:)


编辑:

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

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

Ben*_*ani 5

这将非常适合你......

在源虚拟机实例上...

sudo su
cd /
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
Run Code Online (Sandbox Code Playgroud)

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

tar xvpfz backup.tgz -C /
Run Code Online (Sandbox Code Playgroud)

并确保重新创建任何排除的目录

mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
Run Code Online (Sandbox Code Playgroud)

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