在服务器集群上升级 ubuntu 版本

在服务器集群上升级 ubuntu 版本

我有一个大约 50 个 ubuntu 节点的集群,目前正在运行 maverick 版本。我想将它们升级到 oneiric,但我在选择正确的工具时遇到了困难。

我知道 ubuntu 有“无人值守升级”实用程序,但它仅用于安全升级,无法切换整个版本。有没有类似的功能可以做到?

目前看来,唯一的选择是使用类似 fabric/pssh/capistrano 的东西,并让其在每台服务器上运行“do-release-upgrade”。但“do-release-upgrade”是交互式的,在升级过程中需要用户输入一些信息。“do-release-upgrade”工具似乎没有任何 --unattended 参数。

在这种情况下,您会使用什么样的策略?

谢谢!

答案1

我就是那个关于使用 apt-get dist-upgrade 的指南的作者,是的,dist-upgrade 和 do-release-upgrade 之间确实存在许多差异。我现在又写了一篇关于如何使用 do-release-upgrade 自动进行发布升级的新指南,它实际上非常简单。您可以在此处找到新指南:

http://awaseroot.wordpress.com/2012/04/29/ubuntu-release-upgrade-fully-automatic-non-interactive-upgrade/

另外,在升级过程中,我对所有问题都回答了“是”,但如果你知道需要交互的问题的确切顺序,你可以在命令中定义答案。你应该先在测试环境中尝试,这样你也可以找出问题。

该指南还包括一个 Fabric 示例。

答案2

在这种情况下,假设你所有的机器都是相同的(或差别很小),我建议使用类似的工具木偶厨师, 或者radmind管理您的系统。

这需要前期投入更多的时间,但作为长期解决方案,它将为您带来巨大的益处。


从我使用 radmind 的经验来看,一般原则是升级模板机器,然后让所有其他主机看起来像模板。主要优点是跨主机的一致性和实际升级步骤的自动化。
与 radmind 相比,puppet 和 chef 都提供了许多附加功能,并且拥有更大的用户社区。
在 ServerFault 上搜索有关这些工具的更多信息

答案3

经过一点谷歌搜索,我发现了这一点:

http://awaseconfigurations.wordpress.com/2011/11/21/automated-ubuntu-release-upgrade/

从 Maverick 到 Oneiric 也应该有效。

相关内容