如何在没有临时环境的情况下pipe理更新:CentOS 6.3

我pipe理着大约20台服务器,其中许多是虚拟的。 它们几乎都是不同的目的,没有一个是聚集在一起的。 我有一个分布式LAMP堆栈,一些应用程序服务器,一些构build服务器,一些KVM主机。 他们是CentOS 6.3,主要是几个Ubuntu(不幸)。 我没有资源来设置一个临时环境,在这些环境中,我可以重复使用我的机器并在更新之前testing更新。 我正在进行文件备份。 我想知道的是你如何接近备份你的Linux系统。 我假设你不只是做百胜更新,但你怎么select值得更新的软件包? 什么时候(如果曾经)更新内核等。如何在没有临时环境的情况下testing更新? 快照和最好的希望?

这是相当普遍的服务器是宠物,而不是牲畜 。

如果你真的不能testing更新,那么你:

  1. 备份到位。 请记住, 除非恢复正常工作,否则不需要备份 。
  2. 阅读更新的说明,看看他们的变化。
  3. 在下class时间进行更新。 即使您最终不需要,也要安排一个维护窗口。
  4. 应用更新。 如果内核已更新,请重新启动。 testing受影响的服务。
  5. 等待用户开始大喊大叫。
  6. 如有必要,将更新回滚(使用yum history undo )。

我的猜测是,你不知道你可以用一个命令恢复更新。 检查yum手册页,并阅读其history部分,看看你可以用它做什么。 例如,您不必按照您应用的顺序恢复更新。

别再担心了 大多数更新修复了您需要修复的问题; 引入新的问题远不那么普遍(尽pipe它可以并且确实发生)。

有yum安全插件( yum install yum-plugin-security ),它只挑选安全相关的更新。 这在理论上不如修复其他错误和/或添加function的更新风险小。 然后,只需更新您的其他软件包就可以了解您遇到的任何错误或需要利用的任何新function。

实际上,除了使用临时环境和一系列良好的testing之外,没有办法确定。 没有软件是免费的,所有的开发人员都会犯错误,即使是红帽也不例外。

在没有testing环境的情况下,这可能不是一个“如果”你遇到了一个问题,它会影响你的企业用这些服务器产生收入的能力,而是“什么时候”。 不一定是从更新,只是因为你做的每一件小事都是在生活中完成的。

如果你作为pipe理员被要求执行你以前从未做过的事情呢? 你怎么知道它,并确保它按预期工作之前推出? 从你所说的话,你不能。

为你的老板做一个商业案例。 计算您需要从头开始完全重build环境并从备份中恢复数据的时间内所有系统不可用的业务影响(即:收入损失)。

如果这种收入损失比build立分期环境的成本便宜的话,那么你就有了build立这样的环境的良好商业案例。 适当的阶段和testing然后变成不是支出或投资,但是一个惊奇地便宜的保险单。