Обновление релиза Ubuntu на кластере серверов

У меня есть кластер из примерно 50 узлов Ubuntu, которые в настоящее время работают с Maverick. Я бы хотел обновить их до oneiric, но мне сложно выбрать правильные инструменты.

Я знаю, что в Ubuntu есть утилита unattended-upgrade, но она предназначена только для обновлений безопасности и не может переключать весь выпуск. Есть что-нибудь подобное, что может?

На данный момент кажется, что единственный выбор - использовать что-то вроде fabric / pssh / capistrano и заставить его запускать do-release-upgrade на каждом из серверов. Но "do-release-upgrade" является интерактивным и требует некоторого участия пользователя во время обновления. Кажется, что нет никакого параметра --unattended для инструмента do-release-upgrade.

Какую тактику вы используете в подобных ситуациях?

Спасибо!

3 ответа

Решение

Я - тот, кто написал это руководство по использованию 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.

В подобных ситуациях, предполагая, что все ваши машины идентичны (или минимально различаются), я бы предложил использовать такой инструмент, как Puppet, Chef или radmind для управления вашими системами.

Это требует больших временных затрат, но в долгосрочной перспективе это будет чрезвычайно выгодно для вас.


Если говорить главным образом из моего опыта работы с Radmind, то общий принцип заключается в том, чтобы обновить машину шаблонов, а затем сделать все остальные ваши хосты похожими на шаблон. Основными преимуществами являются согласованность между хостами и автоматизация фактических шагов обновления.
Как puppet, так и chef предлагают много дополнительных функций по сравнению с Radmind, и имеют более широкие сообщества пользователей.
Поиск по ServerFault для получения дополнительной информации об этих инструментах

Немного Гуглинга привел меня к этому:

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

Должен работать и от Maverick до Oneiric.

Другие вопросы по тегам