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