使用Live Production Linux系统创build开发环境?

我有一个运行生产的Ubuntu 10.04 LTS服务器,我想创build一个开发和登台服务器。 一种select是按照安装在生产环境中的方式安装所有东西,但这需要花费大量的时间才能使其成为生产的精确镜像。 有没有办法在运行时“克隆”整个操作系统? 我想在VMWare中创builddev和临时服务器。

谢谢!

是的,使用VMWare的转换器工具。

将备份恢复到新的虚拟机。

你有备份,不是吗?

它可能冷克隆(即启动一个CD,P2V转换工具),如http://www.vmadmin.co.uk/index.php/resources/38-converter 。 VMware支持论坛对这些活动提供了有用的build议。 我不知道任何“热门”克隆工具,如果你find一个,我会很感兴趣。

有许多选项 – 您可以rsync文件系统,使用netcat通过networkingdd基础块设备,或者在vmware级别拍摄系统快照并在其他位置复制。

但是,所有这些情况都有着同样的基本缺陷:这是一笔交易。 一旦你创build了克隆,你不能自动更新它来考虑生产中的变化(理论上,rsync方法可以被使用,但是它很挑剔,而且很容易出错)。 这就是为什么你需要使用configurationpipe理,如Puppet,Chef或cfengine。 这些系统允许您定义系统所处的确切状态,工具将负责configuration。 然后您可以指定“以相同的方式构build所有这些系统”,并且当您更改主configuration时,所有机器都将更新以匹配新的设置。 如果你需要扩大规模,在另一个地方部署第二个基础设施,或者其他任何你想象的东西,build设新机器也是一件轻而易举的事情。

对于Linux系统,使用基本的Linux安装设置dock VM,将准备好的空目标VM的VMDK挂载到dock中,在那里格式化,静默源系统(read:closures数据库!),rsyncing(使用 – -numeric-id和-exclude / proc / *和/ sys / *,如果有什么关于时钟的问题,可以使用-c),然后chroot到目标文件系统,进行必要的更改,然后重新安装引导装载程序(提示:在chroot中杀死/dev/.udev,然后用MAKEDEV通用填充/ dev),工作得很好。 grub-legacy应该是首选的引导加载程序(如果目标fs是ext3,格式为-I 128或者事情会突然崩溃!另外,垃圾device.map总是..)。 如果从chroot内部修复引导装载程序听起来远远超出您的舒适区域,请更好地阅读该主题或保留原文;)

然后可以用部分rsyncs和mysqldumps完成环境的更新(熟悉rsync的–dry-run选项–exclude是FINICKY)