Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

В системе ECSS-10 реализованы сервисы, которые в процессе своей работы формируют данные и сохраняют их на дисковое пространство. Такими сервисами являются:

  • услуга "Запись разговоров" (Call recording),
  • Услуга передачи факса (Fax),
  • услуга "Голосовая почта" (Voicemail).

Данные сервисы генерируют файлы и работают с дисковыми хранилищами.

Под распределенным хранилищем подразумевается возможность сохранять записанные файлы на разные хосты.

Рисунок 1 - Пример распределенного хранилища

Каждое хранилище состоит из следующих элементов:
RestFS - компонент обеспечивающий интерфейс прикладного программирования HTTP API для работы с файлами.
GlusterFS - распределенная файловая система, обеспечивающая надежное хранилище (необязательный компонент для систем без резервирования).

Количество распределенных хранилищ не ограничено, возможно совмещение всех хранилищ на одном хосте. В базу данных сохраняется полный URI для записанного файла, поэтому, например, при прослушивании записи разговора из web-интерфейса, система обратится на сервер, идентифицируемый данным URI в базе данных.

Распределенная файловая система glusterfs автоматически реплицирует файлы между нодами кластера. Таким образом, в кластерном варианте работы сервиса при проблемах с одним из серверов сервис автоматически будет делать попытку записи файла на другой сервер, либо его считывания с другого сервера.

Дисковое хранилище может работать в двух режимах:

  • Простой режим (Single mode)

В данном режиме все типы данных (записи разговоров, факсы, файлы голосовой почты) отправляются в одно файловое хранилище. Для настройки данного режима достаточно настроить сервис RestFS.

  • Распределенный режим (Distributed mode)

В данном режиме все типы данных (записи разговоров, факсы, файлы голосовой почты) отправляются в разные файловые хранилища.
Распределенный режим предполагает, что пакет ecss-restfs, обеспечивающий программный интерфейс HTTP API, будет установлен на несколько хостов. Перед установкой пакета необходимо убедиться, что имя хоста "hostname", на который ставится пакет, не равно ecss1 или ecss2. В противном случае может возникнуть конфликт с нодами restfs, которые запущены на хостах системы ECSS-10 локально.

Порядок настройки дискового хранилища в распределенном режиме

  1. Установите пакет restfs, для этого выполните следующую команду:

    sudo aptitude install ecss-restfs-3.9
    
  2. После установки пакета сконфигурируйте параметры listen_port и listen_ip таким образом, чтобы подсистема restfs находилась в одной сети с системой ECSS-10. Для этого выполните настройку ноды согласно Настройка RestFS.
  3. Произведите изменения в конфигурационных файлах.

    Необходимо настроить параметр MYSQL_IP в файле ecss-cocon-mysql

    /etc/dnsmasq.d/ecss-cocon-mysql:
    address=/cocon.mysql.ecss/<MYSQL_IP>

    и параметры ECSS_1_IP и ECSS_2_IP в файле ecss-broker

    /etc/dnsmasq.d/ecss-broker: 
    address=/primary.broker.ecss/<ECSS_1_IP> 
    address=/secondary.broker.ecss/<ECSS_2_IP>

    где

    • MYSQL_IP - виртуальный адрес для доступа к mysql;
    • ECSS_1_IP - ip адрес ноды ecss1, на котором слушает сервис mycelium;
    • ECSS_2_IP - ip адрес ноды ecss2, на котором слушает сервис mycelium;
  4. Перезапустите сервисы dnsmasq и ecss-restfs.

    Для этого выполните следующую команду:

    sudo systemctl restart ecss-ds.service ecss-restfs.service
  5. После настройки и подключения нужного количества нод restfs, укажите системе ecss-10, в какую ноду будет сохраняться тот или иной тип данных. Для этого необходимо выполнить требования раздела Конфигурирование URL для доступа к распределенному хранилищу.

Конфигурирование URL для доступа к распределенному хранилищу

  1. Сконфигурируйте соотношение выделенных имен для хранилища на DNS сервере (при использовании DNS сервера), либо в локальных файлах /etc/hosts, находящихся на хостах медиа-сервера и web-конфигуратора (в случае, если DNS сервер не используется).

    Пример для варианта с /etc/hosts:

    IP-REC1-STORAGE rec.media-storage.ecss
    IP-REC2-STORAGE rec.media-storage.ecss
    IP-FAX1-STORAGE fax.media-storage.ecss
    IP-FAX2-STORAGE fax.media-storage.ecss
    IP-VOICEMAIL1-STORAGE voicemail.media-storage.ecss
    IP-VOICEMAIL2-STORAGE voicemail.media-storage.ecss

    где

    • IP-REC1-STORAGE - IP-адрес 1го хоста для хранения записей разговоров;
    • IP-REC2-STORAGE - IP-адрес 2го хоста для хранения записей разговоров;
    • IP-FAX1-STORAGE - IP-адрес 1го хоста для хранения файлов принятых факсов;
    • IP-FAX2-STORAGE - IP-адрес 2го хоста для хранения файлов принятых факсов;
    • IP-VOICEMAIL1-STORAGE - IP-адрес 1го хоста для хранения записей voicemail;
    • IP-VOICEMAIL2-STORAGE - IP-адрес 2го хоста для хранения записей voicemail.
  2. Скорректируйте значение указателей ресурса URI для обращения к хранилищу.

    По умолчанию для данных параметров установлено значение system. В этом случае сетевой адрес хранилища для всех трех сервисов одинаков, его значение устанавливается командами /system/system-restfs-host и /system/system-restfs-port.

    Для установки значения указателя ресурса URI для каждого из сервисов используется своя команда:

    /domain/DOMAIN_NAME/properties/set call_record_server_peer <URI>

    /domain/DOMAIN_NAME/properties/set fax_server_peer <URI>

    /domain/DOMAIN_NAME/properties/set voicemail_server_peer <URI>

    где

    • URI - указатель ресурса хоста, который используется в качестве сетевого хранилища.

    Примеры команд для настройки сетевого хранилища на выделенном сервере с URI media-storage.ecss:

    /domain/DOMAIN_NAME/properties/set call_record_server_peer rec.media-storage.ecss:9990
    /domain/DOMAIN_NAME/properties/set fax_server_peer fax.media-storage.ecss:9990
    /domain/DOMAIN_NAME/properties/set voicemail_server_peer voicemail.media-storage.ecss:9990

    После выполнения настройки ресурса хоста все данные, формируемые сервисами, будут записываться на сервера, идентифицируемые теми URI, которые были указаны в командах настройки.

Переполнение разделов хранилища

Для предотвращения ситуаций переполнения разделов хранилища нужно настроить пороги генерации предупреждений и аварийных сообщений о переполнении раздела (см. Пороги использования ресурсов). При достижении настроенного порога система автоматически сообщит об этом.
Для предотвращения переполнения разделов хранилища на уровне каждого кластера RestFS есть подсистема, которая позволяет автоматически удалять файлы по определенным правилам Команды уровня autocleaner

  • Нет меток