Администратор может подключить к 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_локации>". 

Для внесения изменений в настройки DHCP-сервера локации редактируйте соответствующий конфигурационный файл на сервере с DCImanager.

С помощью утилиты rsync с родительского сервера на локации копируются шаблоны ОС. При стандартных настройках они помещаются в директорию /DCI. Для изменения этой директории добавьте в конфигурационный файл DCImanager /usr/local/mgr5/etc/dcimgr.conf параметр path ostemplatedir, в качестве его значения укажите нужную директорию:

echo "path ostemplatedir <Директория>" >> /usr/local/mgr5/etc/dcimgr.conf 
CODE

Назначение 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, в зависимости от ДЦ, в котором находится сервер.