我们目前在工作中使用 Vmware 基础架构,其中所有生产服务器都是虚拟的。目前我们没有任何好的测试服务器,我一直在想基于我们的生产服务器创建它们应该很容易,所以我想提出我的想法,看看是否可行,以及您是否推荐任何其他解决方案。
所以这个想法是(不知道每一步是否可行)
- 定期克隆生产服务器
- 将计算机名称更改为测试并将测试服务器附加到域
- 延迟 Windows 的启动,以便运行一个脚本,该脚本将删除所有生产配置并添加测试配置(如果存在)
- 启动服务器并准备好使用我们的测试服务器
这样,我们的测试服务器就始终与生产服务器保持同步。使用 Vmware 和 Windows 2008 RC 服务器可以实现这一点吗?您是否还有其他想法可以让测试服务器和生产服务器保持同步?
答案1
您所描述的一切都是可能的——我的建议是备份生产虚拟机并将其转移到发展未连接到正常网络的 vmware 主机,清理并净化虚拟机以便它们位于测试网络上,然后从那时起遵循良好的开发实践(在进行任何重大更改之前进行快照测试;在推广到生产之前在测试中完成所有工作并保留需要对生产进行的更改的列表)。
您可以随时按照这些步骤再次“重新同步”生产和测试,但通过不强制重新同步测试和生产,您可以更自由地进行开发。
另请注意,由于它是 VMWare,您可以再次克隆生产并制作分期环境中,您可以测试从生产环境的当前代码库转移到刚刚在开发环境中完成的代码所需的一切。您甚至可以在部署过程中交换暂存和生产,这样如果出现问题,您始终可以恢复到以前生产代码的干净版本。
答案2
您所要求的部分内容是我每天都会做的,即对生产服务器进行基于映像的备份。我使用的产品名为虚拟复制器将我的客户复制到另一个虚拟主机。这些服务器仍然处于关闭状态,但可以随时启动。
对于您似乎想要问的问题,基于生产环境创建开发环境,我也是这么做的。我只需克隆复制的虚拟机,将其连接到内部网络以“调整它”,然后重新启动,您就会拥有一个几乎与生产环境相同的新开发服务器。