Администратор может подключить к DCImanager серверы независимо от их территориального расположения и дата-центра, в котором они находятся. Удалённые серверы могут быть объединены в группы по их месту расположения. Для этого в панели управления есть сущность Локации.
Локация — интерфейс, через который DCImanager управляет серверами из одного дата-центра. Под каждую локацию в дата-центре отводится специальный сервер, который служит DHCP-сервером и хранилищем шаблонов операционных систем (ОС) для всех серверов в локации.
Требования для работы локаций
Для работы с локациями соблюдайте условия:
- нельзя в качестве локации добавлять сам родительский сервер с DCImanager;
- на родительском (с DCImanager) сервере и на серверах-локациях должна быть установлена одинаковая версия ОС. Поддерживается CentOS 7;
- родительский сервер должен иметь доступ к коммутаторам и распределителям питания (PDU) локаций по сети;
- на серверах-локациях должно быть свободно достаточное количество дискового пространства для размещения шаблонов ОС. Рекомендуем выделить 100 Гб;
- родительский сервер должен иметь доступ к серверам-локациям по SSH;
- на серверах-локациях не должен быть установлен DCImanager и другие программы, использующие DHCP и TFTP;
- серверы из локаций должны иметь доступ к родительскому серверу по HTTP/HTTPS на порт, который слушает веб-сервер ihttpd.
Настройка локаций
Для управления локациями перейдите в раздел Главное меню → Локации и нажмите кнопку Создать или Изменить.
Общая информация
Укажите параметры:
- Имя локации;
- Адрес — фактический адрес расположения сервера;
- Владелец — учётная запись с правами администратора, от имени которой создана локация;
- Комментарий — произвольный комментарий к локации, отображается в списке локация в столбце Комментарий.
Доступ к серверу
Укажите параметры:
- IP-адрес — адрес сервера-локации. По этому адресу DCImanager будет подключаться к локации;
- Блок IP-адресов — тип адресов из IPmanager. Для серверов этой локации будут выделяться адреса указанного типа;
- Порт SSH — порт для подключения по протоколу SHH;
- Суперпользователь — учётная запись root на сервере-локации. DCImanager будет использовать этот аккаунт для управления серверами на локации;
- Авторизация на сервере — способ авторизации на сервере-локации. Доступно два значения:
- По паролю — DCImanager подключается к серверу-локации под именем указанной учётной записи, используя пароль из поля Пароль суперпользователя. При создании локации панель управления поместит свой публичный ключ на сервер и в дальнейшем будет использовать авторизацию по SSH-ключу;
- По ключу — администратор локации должен разместить публичную часть ключа из поля Открытый ключ в список авторизованных ключей на локации, после чего панель управления будет использовать авторизацию по SSH-ключу.
Серверы имён
Укажите Серверы имён — IP-адреса серверов имён для локации. Будут назначены на сервере-локации после установки ОС, также возможно использование этих серверов для установки ОС. Допускается ввод адресов IPv4 и IPv6. Если поле пустое, то будут установлены сервера имён родительского сервера.
Нажмите Ok. После создания локация появится в списке Главное меню → Локации. Если на локации не выполняется никаких операций и нет проблем в функционировании, столбец Состояние будет пустым.
Принципы работы
Подготовка сервера-локации
При добавлении локации через интерфейс DCImanager автоматически устанавливает на локацию (сервер-локацию) сервисы DHCP, TFTP, DCImini и утилиту rsync. Чтобы обеспечить корректную работу, не устанавливайте на сервер-локацию DCImanager и иные программы, использующие DHCP или TFTP.
Настройки сервиса DCImini записываются в конфигурационный файл (по умолчанию /usr/local/mgr5/etc/dcimini.conf). Уникальные для DCImini параметры: DciMiniParentAddress — адрес сервера с DCImanager в формате <IP-адрес>:<Порт> и MD5 — хэш служебного пароля. Остальные настройки наследуются от DCImanager. Подробнее см. в статье Конфигурационный файл DCImanager.
Настройки DHCP-сервера локации передаются с родительского сервера. Для каждой локации формируется уникальный конфигурационный файл DHCP. Эти файлы хранятся на родительском сервере с именами формата dhcp.conf-<ID_локации> в директории /etc/dhcp и загружаются на локации при запуске или отмене какой-либо операции (Добавляются в разделе Главное меню → Серверы → Операции → Создать). На локации конфигурационные файлы DHCP загружаются в директорию /etc/dhcp после чего из имени файла удаляется часть "-<ID_локации>".
С помощью утилиты rsync с родительского сервера на локации копируются шаблоны ОС. При стандартных настройках они помещаются в директорию /DCI. Для изменения этой директории добавьте в конфигурационный файл DCImanager /usr/local/mgr5/etc/dcimgr.conf параметр path ostemplatedir, в качестве его значения укажите нужную директорию:
echo "path ostemplatedir <Директория>" >> /usr/local/mgr5/etc/dcimgr.conf
Назначение IP-адреса
IP для сервера в локации назначается из типа адресов, указанного в параметрах сервера в поле Тип/пул IP-адресов. Если это поле пустое, то используется тип адресов, указанный в параметрах локации в поле Блок IP-адресов. Если и для локации не указан тип адресов, то используется тип, указанный в глобальных настройках в поле Стандартный тип IP-адресов.
Выполнение операций на серверах
Для операции "Установить ОС из шаблона" действует правило: если у сервера указана стойка и у стойки указана локация, то запускается удалённая установка. В ином случае запускается стандартный механизм установки ОС из шаблона.
Удалённая установка
На сервере с DCImanager в директории /etc/dhcp создаётся файл с именем вида dhcp.conf-<ID_локации>. Если такой файл уже создан, то он будет отредактирован. В этот файл добавляются необходимые записи и после этого он копируется по SSH в директорию сервера-локации /etc/dhcp. После копирования у имени файла удаляется часть "-<ID_локации>". Для применения новых настроек система выполняет перезапуск DHCP-сервера. В директорию локации /var/lib/tftpboot помещаются файлы из шаблонов ОС, которые необходимы для загрузки сервера. После этого сервер перезагружается, получает IP от DHCP-сервера и по TFTP скачивает с локации загрузочный образ ОС.
Поиск серверов
Поиск серверов работает отдельно для каждой локации. Для этого перейдите к параметрам модуля и добавьте настройки для каждой локации: Интеграция → Модули → Настроить → Добавить. Подробнее о модуле см. в статье Модуль "Поиск серверов".
Пример настройки локаций
Например: перед вами стоит задача настроить локации для объединения серверов из трёх дата-центров (ДЦ): в Москве, Нью-Йорке и Амстердаме. При этом на одном из серверов в Москве установлен DCImanager.
Для создания локаций зарезервируйте по одному серверу в ДЦ в Нью-Йорке и Амстердаме. Для назначения IP-адресов серверам используйте интеграцию DCImanager с IPmanager. Подробнее об этом см. в статье Интеграция с IPmanager. Для разных локаций рекомендуем создать в IPmanager отдельные типы адресов: nyk_net для ДЦ в Нью-Йорке и amst_net для ДЦ в Амстердаме. Для серверов в Москве допускается назначать адреса с типом, указанным в параметрах сервера или в глобальных настройках панели управления.
После этого создайте локации через интерфейс DCImanager: Главное меню → Локации → кнопка Создать. На форме создания укажите Имя локации NYK для ДЦ в Нью-Йорке и AMST для ДЦ в Амстердаме. Для локации NYK в поле Блок IP-адресов укажите nyk_test, а для локации AMST укажите amst_net. Этим действием вы закрепите за локацией подсеть (тип IP), из которой будут назначаться IP-адреса серверам из этой локации.
Далее создайте стойки серверов: msk_rack, nyk_rack и amst_rack для серверов в Москве, Нью-Йорке и Амстердаме, соответственно. Для этих стоек укажите локации: для стоек в Москве в поле Локация оставьте значение "Не установлен", для стоек в Нью-Йорке укажите локацию NYK, а для стоек в Амстердаме укажите AMST. Этим действием вы закрепите стойки с серверами за локациями.
При такой настройке, чтобы добавить сервер в локацию, достаточно на форме создания сервера в поле Стойка указать одну из стоек msk_rack, nyk_rack или amst_rack, в зависимости от ДЦ, в котором находится сервер.