Репликация контроллера
Общие сведения
Репликация контроллера используется для предотвращения последствий возможных аварийных ситуаций, связанных с отказом Контроллера SpaceVM. Сервер, используемый для репликации, не отличается от обычного сервера с установленным SpaceVM в режиме Node и может использоваться в качестве сервера виртуализации для размещения на нем ВМ. При этом Web-интерфейс сервера, используемого для репликации, будет недоступен, так как в режиме репликации резервный контроллер (slave) управляется через основной (master). Все работы, связанные с репликацией, выполняются из CLI на каждом экземпляре контроллера.
Установка SpaceVM с ролью Controller на ВМ
Необходимо установить роль slave для контроллера, установленного на ВМ. После успешной настройки репликации, при необходимости, выполнить переключение ролей. Важно учитывать, что если при первичной связке контроллеров сразу присвоить виртуальному узлу роль master, а физическому – slave, физический контроллер может загрузить пустую базу данных с нового узла.
Возможно полноценное управление инфраструктурой с виртуального контроллера в режиме master.
Проверка состояния репликации контроллера выполняется следующей командой в CLI:
controller status
Необходимо убедиться, что инициализация связности обоих контроллеров проведена (
Initialized for remote controller) и активна.
Лицензирование при использовании нескольких контроллеров
Подробная информация о лицензировании при использовании механизма репликации содержится в разделе Лицензирование.
Описание вывода команды controller status:
-
Current node statusРоль, которую выполняет текущий сервер.
-
Postgresql replication processСтатус репликации БД. Значение
inactiveозначает, что репликация не запущена или имеются проблемы с сетевой связностью - необходимо вмешательство оператора. -
Pg_data_dirРазмер директории с БД.
-
Pg_partition_freeРазмер свободного места на разделе с БД.
-
pg_roleРоль экземпляра СУБД на контроллере.
-
Pg_database_sizeРазмер БД.
-
Pg_last_xact_replayКак давно произведена последняя транзакция, примененная в БД.
-
Pg_last_xact_replay dateПараметр показывает, на какую дату была получена последняя транзакция в БД.
Использование репликации в SpaceVM
Внимание
При использовании технологии FreeGRID и использовании репликации после переключения ролей необходимо вручную повторить процедуру активации сервиса на контроллере, ставшим master.
В SpaceVM версии 7.0.1 совместимость с технологией FreeGRID не поддерживается.
Использование репликации и предотвращение последствий аварийных ситуаций, связанных с отказом Контроллера SpaceVM, включает следующие шаги:
-
Инициализация связности между основным и резервным контроллерами, на которых установлена SpaceVM в конфигурации Controller + Node или Controller.
-
Назначение соответствующих ролей основному (master) и резервному (slave) контроллеру.
-
В случае возникновения аварийной ситуации, связанной с отказом основного контроллера SpaceVM, перевод реплицирующего контроллера в режим основного контроллера.
-
После устранения аварийной ситуации на контролере перевести его в режим реплицирующего.
Внимание
Команды CLI облегчают конфигурирование репликации, однако при аварийной ситуации не переключают нагрузку автоматически.
При необходимости автоматического переключения необходимо ознакомиться с разделом Свидетель контроллеров.
Требования к репликации
-
Для настройки репликации требуется второй контроллер с установленной SpaceVM. Это может быть как физический, так и виртуальный сервер. Подробная информация об установке SpaceVM приведена в разделе Установка.
Внимание
Перед инициализацией репликации не допускается использовать сервер для репликации с установленной SpaceVM в режиме Controller + Node в качестве самостоятельного контроллера с активной базой данных. При назначении роли slave на таком сервере его текущая база данных будет перезаписана копией с контроллера в роли master.
-
Между двумя серверами необходимо обеспечить сетевую связность по портам 22/tcp и 5433/tcp.
-
Cвободное дисковое пространство на резервном контроллере должно превышать размер копируемых данных на основном контроллере. Подробная информация указана в разделе определения готовности системы к переключению ролей.
-
Виртуальная сеть между контроллерами должна быть настроена без использования L2-связности.
