Развертывание кластеров

В данном разделе описывается процесс развертывания кластеров следующих типов:
  • Active/Active/DBStandBy+ExternalFS

  • Active/Active/DBStandBy+InternalClusterFS(DRBD)

  • Active/Active/ExternalDB+InternalClusterFS(DRBD)

Предполагается, что необходимые серверы уже были установлены перед этапом развертывания кластеров

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

  1. запустить процесс сборки кластера, выполнив следующий скрипт:

    sudo iva-cli cluster configure \
     --head-node-1-ip <HEAD_NODE_1_IP> \
     --head-node-1-secondary-ip <HEAD_NODE_1_SECONDARY_IP> \
     --head-node-2-ip <HEAD_NODE_2_IP> \
     --head-node-2-secondary-ip <HEAD_NODE_2_SECONDARY_IP> \
     --arbiter-node-ip <ARBITER_NODE_IP> \
     --arbiter-node-secondary-ip <ARBITER_NODE_SECONDARY_IP> \
     --media-node-ip <MEDIA_NODE_IP> \
     --database-ip <DATABASE_IP> \
     --filestorage-ip <FILESTORAGE_IP> \
     --public-ip <PUBLIC_IP> \
     --filestorage-device <FILESTORAGE_DEVICE>, --external-filestorage-device <FILESTORAGE_DEVICE> \
     --filestorage-domain <FILESTORAGE_DOMAIN>, --external-filestorage-domain <FILESTORAGE_DOMAIN> \
     --filestorage-username <FILESTORAGE_USERNAME>, --external-filestorage-username <FILESTORAGE_USERNAME> \
     --filestorage-password <FILESTORAGE_PASSWORD>, --external-filestorage-password <FILESTORAGE_PASSWORD> \
     --external-database-host <EXTERNAL_DATABASE_HOST> \
     --external-database-port <EXTERNAL_DATABASE_PORT> \
     --external-database-name <EXTERNAL_DATABASE_NAME> \
     --external-database-username <EXTERNAL_DATABASE_USERNAME> \
     --external-database-password <EXTERNAL_DATABASE_PASSWORD> \
     --disable-local-media-service \
     --db-resource-start-timeout <DB_RESOURCE_START_TIMEOUT>

    где:

    • <HEAD_NODE_1_IP> — IP-адрес первого головного сервера (обязательный параметр)

    • <HEAD_NODE_1_SECONDARY_IP> — второй IP-адрес первого головного сервера (опциональный параметр, указывается в случае частичного / полного резервирования сети)

    • <HEAD_NODE_2_IP> — IP-адрес второго головного сервера (обязательный параметр)

    • <HEAD_NODE_2_SECONDARY_IP> — второй IP-адрес второго головного сервера (опциональный параметр, указывается в случае частичного / полного резервирования сети)

    • <ARBITER_NODE_IP> — IP-адрес сервера арбитра (опциональный параметр, указывается при использовании арбитра)

    • <ARBITER_NODE_SECONDARY_IP> — второй IP-адрес сервера арбитра (опциональный параметр, указывается в случае частичного / полного резервирования сети)

    • <MEDIA_NODE_IP> — IP-адрес медиасервера (опциональный параметр, рекомендуется добавлять медиасервера к кластеру головных серверов)

    • <DATABASE_IP> — плавающий IP-адрес, по которому будет доступна текущая база данных master (опциональный параметр, указывается при использовании локальной базы данных на головных серверах)

    • <FILESTORAGE_IP> — плавающий IP-адрес внутреннего файлового хранилища (обязательный параметр)

    • <PUBLIC_IP> — плавающий IP-адрес, по которому доступен web-интерфейс и SIP- / H.323-сигнализация (обязательный параметр)

    • <FILESTORAGE_DEVICE> — путь до локального файлового хранилища или URI до внешнего файлового хранилища (обязательный параметр)

      Адреса файловых хранилищ указываются в следующем формате:

      • при использовании NFS: nfs://<IP-адрес>:/path_to_share или <IP‑адрес>:/path_to_share

      • при использовании CIFS / SMB: //<IP-адрес>/share_name

    • <FILESTORAGE_DOMAIN> — доменное имя внешнего файлового хранилища (опциональный параметр, указывается если есть доменное имя внешнего файлового хранилища)

    • <FILESTORAGE_USERNAME> — имя пользователя, используемое для аутентификации на внешнем файловом хранилище (опциональный параметр, указывается если требуется аутентификация на внешнем файловом хранилище)

    • <FILESTORAGE_PASSWORD> — пароль пользователя, используемый для аутентификации на внешнем файловом хранилище (опциональный параметр, указывается если требуется аутентификация на внешнем файловом хранилище)

    • <EXTERNAL_DATABASE_HOST> — IP-адрес внешнего сервера базы данных (опциональный параметр, указывается при использовании внешнего сервера базы данных)

    • <EXTERNAL_DATABASE_PORT> — порт внешнего сервера базы данных (опциональный параметр, указывается при использовании внешнего сервера базы данных)

    • <EXTERNAL_DATABASE_NAME> — название внешней базы данных (опциональный параметр, указывается при использовании внешнего сервера базы данных)

    • <EXTERNAL_DATABASE_USERNAME> — имя пользователя для доступа к внешней базе данных (опциональный параметр, указывается при использовании внешнего сервера базы данных)

    • <EXTERNAL_DATABASE_PASSWORD> — пароль пользователя для доступа к внешней базе данных (опциональный параметр, указывается при использовании внешнего сервера базы данных)

    • disable-local-media-service — ключ, выключающий медиасервисы на головных серверах (опциональный параметр, рекомендуется отключать медиасервисы на головных серверах)

    • <DB_RESOURCE_START_TIMEOUT> — таймаут для включения ресурса ivcs-db (опциональный параметр, по умолчанию 120 секунд)

      Если к кластеру подключается одновременно несколько медиасерверов, то данные медиасерверы необходимо указывать подряд без добавления порядкового номера, например:

      --media-node-ip 10.10.10.10 \
      --media-node-ip 10.10.10.11 \
      --media-node-ip 10.10.10.12

      При использовании внешнего сервера базы данных необходимо в обязательном порядке указывать следующие ключи:

      --external-database-host <EXTERNAL_DATABASE_HOST> \
      --external-database-port <EXTERNAL_DATABASE_PORT> \
      --external-database-name <EXTERNAL_DATABASE_NAME> \
      --external-database-username <EXTERNAL_DATABASE_USERNAME> \
      --external-database-password <EXTERNAL_DATABASE_PASSWORD> \

      Ключи, прописанные в одной строке, являются взаимозаменяемыми:

      --filestorage-device <FILESTORAGE_DEVICE>, --external-filestorage-device <FILESTORAGE_DEVICE> \
      --filestorage-domain <FILESTORAGE_DOMAIN>, --external-filestorage-domain <FILESTORAGE_DOMAIN> \
      --filestorage-username <FILESTORAGE_USERNAME>, --external-filestorage-username <FILESTORAGE_USERNAME> \
      --filestorage-password <FILESTORAGE_PASSWORD>, --external-filestorage-password <FILESTORAGE_PASSWORD> \
      После последнего ключа не ставится символ обратный слеш (\)
      В качестве внешней СУБД поддерживается PostgreSQL версии 9.6 и выше (включая PostgreSQL Pro)

      Сервер арбитр — отдельно стоящий головной сервер, используемый для предотвращения split-brain головных серверов, в случае пропадания сетевой связности между головными серверами.

      Для установки арбитра необходимо использовать iso-образ головного сервера Платформы IVA MCU (в зависимости от типа операционной системы)

      Разделение кластеров в зависимости от типа используемой базы данных и файлового хранилища, применяемого при развертывании кластера:

      • Active/Active/DBStandBy+InternalClusterFS(DRBD): локальная база данных и локальное файловое хранилище

      • Active/Active/DBStandBy+ExternalFS: локальная база данных и внешнее файловое хранилище

      • Active/Active/ExternalDB+InternalClusterFS(DRBD): внешний сервер базы данных и локальное файловое хранилище (DRBD)

      Если при развертывании кластера планируется использовать внешний сервер базы данных и внешнее сетевое файловое хранилище, то для развертывания кластера рекомендуется использовать команду sudo iva-cli cluster2 configure

      Команда iva-cli cluster configure является идемпотентной (может выполняться много раз без последствий для сервера) и приводит кластер в указанное состояние
  1. сохранить изменения выполнив команду:

    sudo iva-cli live save-changes
    Если программное обеспечение компании IVA Technologies установлено на серверы с ОС Astra Linux, то команду sudo iva-cli live save-changes выполнять не требуется
  1. после завершения настройки на всех серверах выполнить команду:

    sudo iva-cli configurator lock
    Если команда sudo iva-cli configurator lock не была запущена, то она автоматически выполнится через 1 час после завершения настройки