Cредства управления конфигурацией

Итак, вы реализовали заветную цель управления конфигурацией — инфраструктуру с нескольким и правильно настроенным и серверами, на которые вам никогда не придется входить для выполнения управляющих операции.

А если все таки придется? В некоторых случаях удобно выполнить команду от имени всех участников некоторой роли. К счастью, существуют инструменты, упрощающие решение этой задачи, от простых сценариев «выполнить ssh в цикле for» до изощренных систем удаленного выполнения сценариев вроде Capistrano.

В идеале такой инструмент должен интегрироваться с системой управления конфигурацией. Желательно иметь возможность входа на группы серверов по роли или даже по службе. Возможно, для этого придется написать сценарный код, который будет преобразовывать определения ролей и служб в формат, понятный инструменту. Возможно, такой инструмент уже входит в системы управления конфигурацией или мониторинга (как, например, утилита gexec из поставки Ganglia).

Итак, вы можете выполнять команды на нескольких серверах. Но стоит ли это делать?

В общем случае такая возможность хорошо подходит для сбора ситуативных данных о ваших системах, например, информации, которую вы не собираете в системах мониторинга. Они могут пригодиться также для отладки и анализа. В общем, это могут быть любые данные, не входящие в число стандартных метрик, а получение таких данных не влияет на состояние сервера.

Когда это может быть нежелательно? Во всех случаях, когда более уместно использовать средства управления конфигурацией. Всегда существует вероятность того, что вы забудете о внесенных «разовых» изменениях, а потом не раз пожалеете об этом.