我有一堆服务器为我们的团队做各种事情(NIS、DHCP、CVS、NFS),所有这些都需要打补丁和更新。显然只是升级它们有点冒险,所以我想创建操作系统和配置的虚拟映像,然后更新它以查看是否有任何问题。
首先;
1)最好的方法是什么(即创建和运行虚拟映像)。服务器运行 CentOS 和 openSUSE。如果需要,我可能会购买特定的硬件来执行此操作,但我更愿意在工作站上运行它。从资源的角度来看,我认为在服务器上运行虚拟机并不是一个真正的选择。
2)我想这不会测试硬件依赖性?例如,如果新版本SuperProgram2000
在虚拟机上运行,则不能保证它会在我的服务器上运行 - 有什么方法可以使 VM 的行为类似于您的服务器必须解决此问题的硬件配置?
我发现最好的升级方法是使用适当的退出策略进行升级。复制环境并确保这个复制品表现得像真实的东西的努力比在愤怒中做要耗费更多的时间。
如果它是一次重大升级,也许您还想刷新硬件,在新套件上构建新服务并将其作为迁移进行。
升级或迁移到新服务/服务器的活动有风险,不升级也有风险,你如何减轻,它的成本是多少。您是愿意承担风险,还是愿意支付费用以降低风险。
我将如何修补某些东西?我确保一切都已镜像,破坏镜像,升级,如果失败,修复或返回镜像并重新评估。我随时准备进行裸机恢复——安装操作系统、安装软件、恢复数据。如果我做不到,我会先做那个。
如果答案看起来含糊不清,我们深表歉意,但此类任务始终在进行中。有一个测试环境确实有用。在将某些东西投入生产并发布经过测试的东西之前创建一个是正确的。现在创建一个虚拟化的测试基础设施并不是一个坏主意,它只是取决于你想用它来证明什么。您将能够运行功能测试,但取决于您在生产中使用的硬件的非功能测试可能不太有用。