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

Несколько экземпляров ПК СВ могут быть объединены в единый центр обработки и хранения данных (ЦОХД), который называется "федерация". В этом случае каждый экземпляр ПК СВ называется зоной. Один из экземпляров ПК СВ настраивается как ведущий, остальные – ведомые.
    
"Федерация" позволяет конечным пользователям использовать ресурсы, распределенные Администраторами единого ЦОХД, независимо от места их нахождения. Интеграция проходит комплексно, то есть пользователю, авторизированному в веб-интерфейсе определенной зоны, не придется выходить из системы и вводить адрес другой зоны. веб-интерфейс ПК СВ позволяет изменять активную зону в любое время, а также автоматически перенаправляет запросы в ПК СВ в целевой зоне.

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

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

В "федерации" зарегистрирован уникальный аккаунт oneadmin, обладающий правами администратора и являющийся аккаунтом администратора "федерации". В безопасной среде администратор каждой зоны авторизуется с помощью аккаунта в группе oneadmin. В других сценариях администратор "федерации" может создать специальную административную группу с полными правами доступа только для одной зоны.
            
Администраторы могут совместно использовать устройства в зонах благодаря сервису Магазин приложений.

Настройка "федерации"

  1. На всех серверах и во всех зонах проверить в конфигурационном файле /etc/one/one.d/db.conf:
    • пользователем БД должен быть указан oneadmin;
    • имя БД должно совпадать.
  2. Проверить, что не используется алгоритм RAFT (поддерживается только 1 сервер управления на зону).

    Действия, описываемые в пунктах 3 — 6, выполняются в ОС сервера управления ведущей зоной, под учетной записью администратора.

  3. Сгенерировать SSH-ключ:

    sudo ssh-keygen -t rsa

  4. Выполнить обмен ключами с помощью команд:

    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) сервера управления ведущей зоны;
    • <имя_ведомого_сервера_N> — имя (hostname) сервера управления ведомой зоны.
  5. Проверить обмен:

    sudo ssh <имя_ведущего_сервера>
    sudo ssh <имя_ведомого_сервера_N>

  6. Для автоматической настройки "федерации" запустить скрипт brestcloud-federation-configure:

    sudo brestcloud-federation-configure
    В списке серверов указывать только ведомые сервера (ведущий сервер добавляется первым в список автоматически).