Пожалуйста, порекомендуйте мне хороший оконечный мультиплексор. Я новичок в работе системного администратора и мне нужен хороший способ управлять несколькими ящиками.
Изменить: просто будьте ясны, я ищу что-то вроде PuTTy, которое может отправлять команды сразу в несколько ящиков.
Пример использования: установка rpm на 10 разных боксов. Утомительно делать каждый из них вручную.
Экран GNU был изобретен как раз для этого, он незаменим и я использую его каждый день.
Также в последнее время много внимания уделяется Tmux, это облегченная версия экрана.
Будет уместен исчерпывающий ответ о передовой практике, охватывающий управление несколькими системами с использованием таких методов, как puppet, cfengine, Spacewalk, Kickstart и других встроенных утилит.
Вместо этого я приведу примеры преимуществ создания собственного:
for H in `hosts`
do
ssh $H "# do things and stuff ; yum -y update"
done
К счастью, я также рассмотрел первую здесь:
Управление приложением на нескольких серверах или PXE против cfEngine / Chef / Puppet
Я думаю, что в таких ситуациях лучше всего работает Cluster SSH. Вы получаете отдельные окна для каждого сервера, но диалог передает все нажатия клавиш на все серверы.
Таким образом, если ваша команда «rpm» выйдет из строя на одном сервере, вы можете щелкнуть по этому серверу и исследовать / решить проблему.
я использую танцор-оболочка в небольшом кластере, который может выполнять команды оболочки параллельно для списка имен хостов. Если у вас много систем, dsh может мешать пропускная способность сети. Он предлагает вариант топологии дерева, чтобы хосты вызывали хосты и так далее, если на всех них установлен dsh.
Dsh хорош, но у него есть некоторые недостатки. Если ваша сеть или системы заняты, произойдет сбой, в результате чего некоторые системы останутся в одном состоянии, а другие - в другом. Я думаю, вы можете попробовать написать идемпотентные команды и просто продолжать их выполнять, пока все не вернется в норму. Но обычным решением является наличие какого-то агента, который пытается вывести систему из текущего состояния в существующее; этот подход позволяет повторить попытку при возникновении временной сетевой ошибки. Это подход, который в разной степени используют cfengine / puppet / chef.