RHEL6 服务器可以“复制”吗?

yhw*_*are 8 imaging mirroring

我的公司需要设置一个开发服务器,我们已经有 2 个生产 RHEL 6 服务器在 L4 交换机下工作。

设置开发服务器的解决方案之一是简单地从其中一台生产服务器复制所有文件并稍微调整一下。

我以前从未做过,但听起来像鬼成像……可以做到吗?是否推荐?会不会容易出错?

Dav*_*e M 17

为什么不将正在运行的系统转换为虚拟机?大多数虚拟机管理程序(如 VMware 或 Hyper-V)都有一个工具可以轻松地将正在运行的系统转换为虚拟机。

然后,在生产服务器上执行任何操作之前,您可以根据需要使用非生产系统。

感谢@WernerCD

虚拟机

超V

  • @dK3 我想你误会了。您不会修改生产服务器(除非您愿意)。您将在其中一台生产服务器上安装一个小工具,让您的 VM 解决方案“探索”它并创建它的映像。您在开发盒上安装 VM 解决方案,并将其指向生产服务器的“转换后的”映像。所以,如果你还没有*已经*有一个开发环境,这个解决方案不是一个“改变”...... (6认同)
  • Google `P2V` 物理到虚拟 - Vmware:https://my.vmware.com/web/vmware/evalcenter?p=converter - HyperV:http://social.technet.microsoft.com/wiki/contents/articles /9790.hyper-v-p2v-with-disk2vhd.aspx - 虚拟化、备份、隔离(所以如果它指向生产数据库)然后玩得开心 (2认同)

kas*_*erd 9

可以做到吗?

肯定是的。我通过简单地打包文件tar并在目标服务器上再次提取它们来复制整个 Linux服务器。我记得的唯一警告是--numeric-owner在提取时必须记住使用。我不能说其他操作系统和其他工具,但我想它适用于所有主要操作系统。

应该做吗?

这个问题回答起来有点复杂。我不建议为了开发而简单地克隆生产系统。它很可能包含大量用户数据以及您不希望出现在开发系统中的关键材料。

但是,出于其他目的,克隆您的生产系统可能是一个好主意。

我建议创建生产系统克隆的方法是从备份中恢复。您可以通过从备份还原来避免对生产系统的性能影响,并且您可以测试还原过程,这是一件好事。

保持从备份中恢复的克隆与世界其他地方隔离很重要。由于它是从生产系统的备份中恢复的,因此它可能包含自动化作业,这些作业将与其他生产系统进行通信,并且具有这样做的凭据。

如果克隆要与真实的生产系统进行通信,则可能会造成很大的损害。

但是,如果您将其隔离开来,您就有机会测试恢复后的系统是否按预期工作。此外,这样一个恢复的系统可能是一个有用的环境,用于在新代码部署到生产之前对其进行最后一次测试。这可能是您在真实用户数据上测试代码的唯一机会,然后才能真正破坏生产系统。


小智 7

复制所有文件可以工作。这将取决于操作系统和什么样的复制方法。

一个普遍的问题是试图在系统运行时复制系统。通常至少有一些文件会被锁定,因此无法正确复制。在系统关闭时使用某种映像软件通常是最安全的(您提到了 Ghost 就是一个例子)

  • “*锁定*”是什么意思?这是一个相当 Windows 的观点。在 UNIX 中复制实时 FS 的常见问题是文件在被复制时在您下面发生了变化。 (4认同)

200*_*ess 6

可行性

当然,这是可能的,因为使用非常规方式“安装”Linux 并不难。例如,您可以通过 SSH 使用 rsync 复制服务器。

  1. 将目标机器引导到“救援”映像中,无论是使用 Red Hat DVD、Ubuntu live boot、Knoppix 等。
  2. 对目标机器进行分区和格式化,并将文件系统挂载在/target.
  3. rsync的SSH上所有相关的文件系统(跳绳/proc/sys,交换)。
  4. 修复/target/etc/fstab,尤其是当分区由 UUID 引用时。
  5. 根据需要调整主机名和网络配置。
  6. 安装引导加载程序。

第 3 步可能包含多个 rsync 传递,可能由源机器上的 LVM 快照辅助,最后一次传递停止源机器上的所有服务以确保数据一致性。

可取性和最佳实践

仅仅因为你可以并不意味着你应该。我已推荐将上述过程作为进行数据中心迁移的一种方式。但是,您的用例完全不同。诉诸克隆突出了一些缺陷:

  • 虚拟化将是一个很好的功能,并且可以使复制变得容易。
  • 您有生产服务器的备份吗?为什么不直接恢复它们?这将是对备份恢复过程的一个很好的测试。
  • 您是否有关于如何从头开始复制所有内容的文档?最终,您可能需要从头开始安装,也许是在升级操作系统时。这将是对您的文档的良好验证。
  • 更好的是,您是否拥有可帮助您重现设置的自动化?shell 脚本可以工作;CFengine、Puppet、Chef 或 Ansible 等配置管理解决方案会更好。

如果您盲目地克隆生产服务器,您将失去一个宝贵的机会来准确阐明其上运行的内容。