FreeBSD virtual environment management and repository

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