我的公司需要安装一个开发服务器,而且我们已经有2台RHEL 6生产服务器在L4交换机下运行。
设置dev服务器的解决scheme之一是简单地复制一个生产服务器上的所有文件并稍微调整一下。
我从来没有做过,但它听起来很像幽灵影像…可以这样做吗? 是否推荐? 会不会容易出错?
复制所有的文件可以工作。 这将取决于操作系统和什么样的复制方法。
一个普遍的问题是在系统运行时试图复制系统。 通常至less有一些文件将被locking,因此将不能正确复制。 在系统closures时使用某种成像软件通常是最安全的(例如你提到的Ghost就是一例)
为什么不将正在运行的系统转换为虚拟机? 大多数虚拟机pipe理程序(如VMware或Hyper-V)都有一个工具,可以将正在运行的系统轻松转换为虚拟机。
然后,您可以在生产服务器上执行任何操作之前,根据需要使用非生产系统。
感谢@WernerCD
Vmware的
Hyper-V的
可以这样做吗?
肯定是的。 我已经复制了一个完整的Linux服务器,只需用tar打包文件,然后再将它们提取到目标服务器上。 我记得的唯一的警告是不得不记得在提取时使用--numeric-owner 。 我不能说其他的操作系统和其他工具,但我认为它是适用于所有主要的操作系统。
应该这样做吗?
这个问题有点复杂。 为了发展目的,我不build议简单地克隆生产系统。 它可能包含很多用户数据以及您不希望在开发系统上提供的关键资料。
但克隆你的生产系统可能是一个好主意,用于其他目的。
我build议创build生产系统的克隆的方法是从备份中恢复。 您可以通过从备份恢复来避免对生产系统的性能影响,并且可以testing恢复过程,这是一件好事。
保持从备份中恢复的克隆与世界其他地方隔离很重要。 由于它是从生产系统的备份中恢复的,因此可能包含自动化作业,这些作业将与其他生产系统进行通信,并且将具有这样的凭据。
如果克隆与真正的生产系统进行通信,则可能会造成很大的损害。
但是,如果保持隔离状态,则可以让您有机会testing恢复的系统是否按预期工作。 而且,这样一个恢复的系统可以成为新代码在部署到生产之前的最后一次testing的有用环境。 这可能是您唯一的机会来testing实际用户数据上的代码,然后才能打破生产系统。
当然,这是可能的,因为使用非常规手段“安装”Linux并不困难。 例如,您可以使用rsync通过SSH复制服务器。
/target 。 /proc , /sys ,swap)所有相关的文件系统。 /target/etc/fstab ,特别是如果UUID引用分区。 步骤3可以由多个rsync传递组成,可能由源计算机上的LVM快照辅助,最后一个传递与源计算机上的所有服务停止在一起,以确保数据一致性。
只因为你可以不意味着你应该。 我build议将上述过程作为数据中心迁移的一种方式。 但是,你的用例是完全不同的。 诉诸克隆突出了一些缺陷:
如果你盲目地克隆生产服务器,你将失去一个宝贵的机会来确切地说明运行的是什么。