2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !
Работа с нодами
Внимание! Данные страницы описывают CBSD версии 13.0.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.
Что подразумевается под нодами
Команда node
% cbsd node
Под добавлением ноды подразумевается обмен RSA ключами для системного пользователя CBSD между двумя и более хостами. Имея у себя RSA ключ индивидуального сервера, часть команд получает возможность работать с ним через OpenSSH соединение, выполняя такие действия как:
- выполнение удаленных CBSD (получение списка, login в клетку) или непривилегированных команд ОС (некоторые команды, тем не менее, требуют наличия прав суперпользователя. Такие команды запускаются через скрипты, находящиеся в каталогах $workdir/sudoexec и $prefix/cbsd/*ver*/sudoexec/ (каталог дистрибутива) — см. /usr/local/etc/sudoers.d/cbsd_sudoers.
- копирование/создание конфигурационных файлов для клеток, реплик и синхронизациея данных.
Ноды могут быть объединены в какую-то именованную логическую группу, над которой можно выполнять массовые действия
Список нод
Команда node mode=list
% cbsd node mode=list
Команда cbsd node mode=list выведет имена тех нод, RSA ключи которых были получены через cbsd node add. Тоже самое можно получить, просмотрев каталог $workdir/.rssh, в котором находятся ключи. Выведенный список не означает, что имеющийся ключ актуален.
Через аргумент display можно указать конкретные поля для выборки данных. Если display не указан, используется значение, заданное в файле $workdir/etc/defaults/node.conf, которое вы можете изменить на свое усмотрение через $workdir/etc/node.conf
Пример:
% cbsd node mode=list
Добавление нод
Команда node mode=add
% cbsd node mode=add
Команда cbsd node mode=add .., при доступности удаленной машины по ssh и правильном пароле пользователя cbsd, забирает с удаленной машины приватный ключ, сохраняя его в каталоге $workdir/.rssh
Обязательные параметры для mode=add:
- node = IP адрес или FQDN сервера (в списке нод, однако, этот сервер будет называться именно так, как указано в nodename на удаленной машине. Это то имя, которое спрашивается при первом запуске cbsd initenv, в дальнейшем его можно изменить через cbsd inienv-tui.
- pw = пароль для пользователя CBSD
Необязательный аргумент:
- port = альтернативный номер порта sshd. По-умолчанию, ноды CBSD используют порт 22222 для соединения по SSH.
Внимание: пароль пользователя CBSD используется только в момент получения приватного ключа. Соответственно, доступ на сервер будет до тех пор, пока ключ не будет удален или перегенерирован. Смена пароля пользователя роли в этом случае играть не будет.
Пример:
% cbsd node mode=add node=192.168.1.2 pw=superpw port=22
Удаление нод
Команда node mode=remove
% cbsd node mode=remove
Команда cbsd node mode=remove node=nodename удаляет приватный ключ и записи о удаленной машине из каталога $workdir/.rssh. Имя, указанное в node= должно совпадать с тем написанием, которое выводится по cbsd node mode=list.
Пример:
% cbsd node mode=remove node=backup1.mydomain.ru