ClusterSSH
Об утилите ClusterSSH
В Windows-домене настройки компьютеров и пользователей, обычно, управляются так: на контроллере домена в редакторе политик задаются параметры и потом они рассылаются всем клиентам. В Linux в OLDAP/Samba такого механизма нет, однако, есть альтернатива по массовой настройке компьютеров через сеть - ClusterSSH.
Фишка утилиты заключается в следующем:
- вы с помощью SSH объединяете компьютеры в кластер
- вы вводите команды и массово отправляете их на все компьютеры
Настройка
Конфигурация ClusterSSH прописывается в /etc/clusters или в ~/.csshrc
Для второго варианта преимуществом является то, что несколько пользователей одной системы могут настраивать клиент ClusterSSH по своему усмотрению и экспериментировать с различными версиями конфигурации. В любом случае формат файла конфигурации одинаков, а сам процесс настройки прост и понятен. Определяется кластер (cluster), как группа компьютеров, которыми можно управлять через единый интерфейс. В начале файла, в самом первом разделе перечисляются все требуемые имена кластеров, затем в следующем разделе определяется содержимое каждого вышеперечисленного кластера.
Например, в сети имеются два web-сервера: web1 и web2, которые могут быть объединены в кластер web-cluster, и три файловых сервера: ftp1, ftp2 и ftp3, для которых вполне подойдёт ftp-cluster. Для этого примера конфигурационный файл —/etc/clusters или ~/.csshrc может выглядеть так:
clusters = web-cluster ftp-cluster web-cluster = web1 web2 ftp-cluster = ftp1 ftp2 ftp3
Кроме того, могут быть созданы так называемые мета-кластеры, которые ссылаются на другие, ранее определённые кластеры. Чаще всего создаётся мета-кластер с именем all, включающий содержимое всех отдельно определённых кластеров.
clusters = web-cluster ftp-cluster all web-cluster = web1 web2 ftp-cluster = ftp1 ftp2 ftp3 all = web-cluster ftp-cluster
Использование
Работа с ClusterSSH очень похожа на работу при подключении по обычному ssh-соединению. В командной строке терминала вводится команда
cssh -l <имя_пользователя> <имя_кластера>
После этого заданный пользователь регистрируется в заданном кластере, то есть на всех компьютерах (хостах), входящих в заданный кластер. Разумеется, для этого на всех хостах, перечисленных в кластерах, должен быть соответствующим образом настроен сервис ssh. Таким образом, после ввода и выполнения команды
cssh -l alex web-cluster
пользователь alex регистрируется на хостах web1 и web2, входящих в кластер web-cluster. Кроме того, открывается небольшое окно xterm. Всё, что вводится в этом окне, сразу же отображается и выполняется (если это возможно) на всех хостах, включённых в данный кластер.
Кроме того, имеется возможность при необходимости зарегистрироваться на компьютерах, не являющихся членами данного кластера, то есть не указанных в конфигурационном файле. Для этого достаточно выполнить простую команду:
cssh -l alex comp1 comp2 host11
Дополнительные замечания
ClusterSSH, как и любой другой инструмент системного администрирования, является потенциально опасным в определённой степени, поэтому применять его следует аккуратно и внимательно. Ошибки и опечатки при работе с кластером web-cluster, например, могут привести к недоступности всех web-серверов в сети. Цена ошибок возрастает из-за того, что они одновременно распространяются сразу на несколько хостов. Прежде чем отправить команду или блок команд в кластер, совсем не лишним будет проверить её ещё и ещё раз, чтобы избежать весьма неприятных последствий.
ClusterSSH на практике
Политики пароля
Настройка системы
Правка dconf
Изменение источника обновлений обновлений
Автообновления
ClusterSSH и выключенные компьютеры
Предположим, я таким образом хочу настроить все имеющиеся рабочие станции у работодателя. Но, некоторые из них могут быть выключены. Я могу включить в кластер все пользовательские рабочие станции, послать всем необходимые команды с настройками, но не факт что все они будут включены и все их примут. Как быть в таком случае?
--Petr-akhlamov (обсуждение) 13:26, 11 февраля 2020 (UTC)
Источник: ibm.com