Интеграция в единый ЦОХД («Федерация»)

Интеграция в единый ЦОХД («Федерация»)#

Общие сведения#

Несколько экземпляров ПВ могут быть объединены в единый центр обработки и хранения данных (ЦОХД), который называется «федерация». В этом случае каждый экземпляр ПВ называется зоной. Один из экземпляров ПВ настраивается как ведущий, остальные — ведомые.

«Федерация» позволяет конечным пользователям использовать ресурсы, распределенные Администраторами единого ЦОХД, независимо от места их нахождения. Интеграция проходит комплексно, то есть пользователю, авторизованному в веб-интерфейсе определенной зоны, не придется выходить из системы и вводить адрес другой зоны. веб-интерфейс ПВ позволяет изменять активную зону в любое время, а также автоматически перенаправляет запросы в ПВ в целевой зоне.

Служебный режим «федерация» является интеграцией с непосредственными связями. Все экземпляры ПВ имеют общую конфигурацию (общие таблицы БД) учетных записей пользователей, групп и полномочий. Доступ возможно ограничить до конкретных зон, а также до конкретных кластеров внутри данной зоны. Только ведущая зона ПВ имеет права на внесение записей в общие таблицы, у ведомых зон хранится локальная копия для чтения. Это гарантирует целостность данных без ущерба для скорости действий по считыванию.

Синхронизация выполняется путем настройки конфигурации ПВ для репликации только определенных таблиц. Репликация способна работать при соединениях на больших расстояниях и при нестабильных соединениях. В случае сбоя ведущей зоны и ее длительной перезагрузки ведомые зоны могут продолжать работать в нормальном режиме, за исключением нескольких действий, например, создание нового пользователя или обновление паролей.

Новые ведомые зоны можно добавлять к существующей «федерации» в любой момент. Кроме того, администратор ПВ может добавить абсолютно новый экземпляр ПВ или импортировать существующую развертку в «федерацию», сохранив действующих пользователей, групп, конфигурацию и виртуальные ресурсы.

Что касается обновлений ПВ, БД разработана таким образом, чтобы различные версии ПВ являлись частью одной и той же «федерации». При необходимости обновить локальные таблицы (ВМ, Образ, объекты VNet) новые версии сохранят совместимость с общими таблицами. На практике это означает, что в случае выхода новой версии ПВ можно обновить каждую зону в разное время без каких-либо последствий для «федерации».

Служба веб-интерфейса ПВ ведущей зоны подключен ко всем экземплярам службы oned в «федерации», что позволяет пользователям менять зоны. Возможно использовать один веб-интерфейс ПВ для всей «федерации» или в каждой зоне использовать свой веб-интерфейс ПВ.

Схема использования веб-интерфейса в «федерации»:

../../../../_images/web-fed.jpg

Предупреждение

Несмотря на то, что одна служба веб-интерфейса ПВ может подключаться к различным зонам, все остальные сервисы ПВ будут работать только с локальными ресурсами зоны.

В «федерации» зарегистрирован уникальный пользователь oneadmin, обладающий правами администратора ПК СВ и являющийся администратором «федерации». В безопасной среде администратор каждой зоны включается в группу oneadmin. В других сценариях администратор «федерации» может создать специальную административную группу с полными правами доступа только для одной зоны.

Администраторы могут совместно использовать устройства в зонах благодаря службе «Магазин приложений».

Настройка «федерации»#

Особенности использования служебного режима «федерация»:

  • на всех серверах и во всех зонах в конфигурационном файле /etc/one/one.d/db.conf:

    • имя пользователя пользователя БД должно иметь значение oneadmin;

    • наименования БД должны совпадать;

  • во всех экземплярах ПК СВ не должен использоваться алгоритм RAFT (поддерживается только один экземпляр сервера управления на зону).

Примечание

Действия по настройке «федерации» выполняются в ОС сервера управления каждой зоны под учетной записью администратора ОС СН с высоким уровнем целостности.

Предварительно необходимо настроить беспарольный доступ для пользователя root. Для этого следует выполнить следующие действия:

  1. На каждом экземпляре сервера управления создать SSH-ключ от имени пользователя root командой:

sudo ssh-keygen -t rsa

Для всех параметров оставлять значения по умолчанию (сразу нажимать клавишу <Enter>).

  1. На каждом экземпляре сервера управления выполнить обмен ключами командами:

KEY=$(sudo cat /root/.ssh/id_rsa.pub)
sudo ssh <имя_администратора>@<имя_ведущего_сервера> "sudo bash -c \"echo $KEY >>   /root/.ssh/authorized_keys\""
sudo ssh <имя_администратора>@<имя_ведомого_сервера_1> "sudo bash -c \"echo $KEY >> /root/.ssh/authorized_keys\""
...
sudo ssh <имя_администратора>@<имя_ведомого_сервера_N> "sudo bash -c \"echo $KEY >> /root/.ssh/authorized_keys\""

где:

  • <имя_ведущего_сервера> — сетевое имя (hostname) сервера управления ведущей зоны. Допускается вместо имен указывать IP-адреса;

  • имя_ведомого_сервера_N — сетевое имя (hostname) сервера управления ведомой зоны. Допускается вместо имен указывать IP-адреса;

  • <имя_администратора> — имя локального администратора компьютера, заданное при установке ОС СН.

    1. при появлении приглашения для ввода вида:

    Are you sure you want to continue connecting (yes/no)?
    

    ввести «yes» и нажать клавишу :kbd`<Enter>`;

    1. ввести пароль локального администратора компьютера, заданный при установке ОС СН.

    Примечание

    В том числе необходимо выполнить обмен ключами «сам на себя».

  1. Проверить обмен ключами, для этого:

  1. в терминале сервера управления ведущей зоны выполнить вход по SSH «сам на себя» командой:

sudo ssh <имя_ведущего_сервера>
  1. выполнить вход по SSH на один из экземпляр сервера управления командой:

sudo ssh <имя_ведомого_сервера_N>
  1. последовательно закрыть сессии SSH командами:

exit
exit
  1. Аналогичным образом проверить беспарольный доступ на остальных экземплярах сервера управления.

Для автоматической настройки «федерации» можно воспользоваться скриптом brestcloud-federation-configure, который запускается на сервере управления ведущей зоны от имени администратора ОС СН с высоким уровнем целостности командой:

sudo brestcloud-federation-configure

Далее необходимо следовать указаниями мастера настройки.

Примечание

В списке серверов необходимо указывать только ведомые сервера (ведущий сервер добавляется первым в список автоматически).