Обновление релиза 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, и на самом деле это очень просто. Вы можете найти новое руководство здесь:
Также в этом я отвечаю "да" на все вопросы во время обновления, но вы можете определить ответы в команде, если знаете точный порядок вопросов, требующих взаимодействия. Сначала вы должны попробовать это в тестовой среде, чтобы вы также могли узнать вопросы.
Руководство также содержит пример Fabric.
В подобных ситуациях, предполагая, что все ваши машины идентичны (или минимально различаются), я бы предложил использовать такой инструмент, как Puppet, Chef или radmind для управления вашими системами.
Это требует больших временных затрат, но в долгосрочной перспективе это будет чрезвычайно выгодно для вас.
Если говорить главным образом из моего опыта работы с Radmind, то общий принцип заключается в том, чтобы обновить машину шаблонов, а затем сделать все остальные ваши хосты похожими на шаблон. Основными преимуществами являются согласованность между хостами и автоматизация фактических шагов обновления.
Как puppet, так и chef предлагают много дополнительных функций по сравнению с Radmind, и имеют более широкие сообщества пользователей.
Поиск по ServerFault для получения дополнительной информации об этих инструментах
Немного Гуглинга привел меня к этому:
http://awaseconfigurations.wordpress.com/2011/11/21/automated-ubuntu-release-upgrade/
Должен работать и от Maverick до Oneiric.