Порядок конфигурирования системы

Начало работы

В данном подразделе указаны команды, которые выполняются из командной консоли управления операционной системы Linux (shell) непосредственно хоста, на который производится установка системы ECSS-10.
  1. Перед конфигурированием системы ECSS-10 убедитесь, что в системе запущены ноды кластеров mycelium и ds, используя команды:

    systemctl status ecss-mycelium.service
    systemctl status ecss-ds.service

    Если ноды запущены, при выполнении команд вы получите следующий результат:

    ssw@ecss1:~$ systemctl status ecss-mycelium.service
    ● ecss-mycelium.service - daemon mycelium of ecss-10.
       Loaded: loaded (/lib/systemd/system/ecss-mycelium.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2017-12-20 10:10:58 +07; 1 day 11h ago
      Process: 3014 ExecStop=/usr/sbin/ecss-unit stop (code=exited, status=0/SUCCESS)
      Process: 5123 ExecStart=/usr/sbin/ecss-unit start (code=exited, status=0/SUCCESS)
      Process: 5069 ExecStartPre=/usr/sbin/ecss-prestart-unit (code=exited, status=0/SUCCESS)
     Main PID: 5147 (run_erl)
       CGroup: /ecss.slice/ecss-erlang.slice/ecss-mycelium.service
               ├─5147 run_erl -daemon /var/lib/ecss/erl-pipes/ecss-mycelium/mycelium1/ /var/log/ecss/mycelium/log-mycelium1 exec /usr/lib/erlang/erts
               ├─5149 ecss-mycelium -pc unicode -e 65536 -- -root /usr/lib/ecss/ecss-mycelium -progname erl -- -home /var/lib/ecss -- -config /var/li
               ├─5182 erl_child_setup 1024
               ├─5433 inet_gethost 4
               ├─5434 inet_gethost 4
               ├─6099 sh -s disksup
               └─6101 /usr/lib/erlang/lib/os_mon-2.4.2/priv/bin/memsup
    
    
    ● ecss-ds.service - daemon ds of ecss-10.
       Loaded: loaded (/lib/systemd/system/ecss-ds.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2017-12-20 10:10:59 +07; 1 day 11h ago
      Process: 3073 ExecStop=/usr/sbin/ecss-unit stop (code=exited, status=0/SUCCESS)
      Process: 5244 ExecStart=/usr/sbin/ecss-unit start (code=exited, status=0/SUCCESS)
      Process: 5200 ExecStartPre=/usr/sbin/ecss-prestart-unit (code=exited, status=0/SUCCESS)
     Main PID: 5270 (run_erl)
       CGroup: /ecss.slice/ecss-erlang.slice/ecss-ds.service
               ├─5270 run_erl -daemon /var/lib/ecss/erl-pipes/ecss-ds/ds1/ /var/log/ecss/ds/log-ds1 exec /usr/lib/erlang/erts-8.3.5.2/bin/erlexec -co
               ├─5271 ecss-ds -pc unicode -K true -A 8 -t 2097152 -e 100000 -- -root /usr/lib/ecss/ecss-ds -progname erl -- -home /var/lib/ecss -- -c
               ├─5290 erl_child_setup 1024
               ├─5509 inet_gethost 4
               ├─5510 inet_gethost 4
               ├─6812 inet_gethost 4
               ├─6841 sh -s disksup
               └─6843 /usr/lib/erlang/lib/os_mon-2.4.2/priv/bin/memsup
  2. Если ноды кластеров mycelium и ds остановлены, запустите их командами:

    sudo systemctl start ecss-mycelium.service
    sudo systemctl start ecss-ds.service
  3. Для дальнейшего конфигурирования необходимо подключиться к интерфейсу управления системой ECSS-10.
    • Конфигурирование системы через CLI

      Если конфигурирование системы будет выполняться через интерфейс командной строки CLI, подключитесь к командной консоли под пользователем admin.

      Пароль по умолчанию: password.

      Команда для подключения к консоли:

      ssh admin@localhost -p 8023

      Описание команд приведено в разделе Интерфейс командной строки (CLI).

      Возможно подключение к CLI системы с удаленного компьютера посредством SSH. Для этого, вместо localhost в примере выше, указывается доменное имя или IP-адрес хоста, на который производится установка системы ECSS-10 и на котором запущены ноды кластеров mycelium и ds.
    • Конфигурирование системы через web-конфигуратор

      Если конфигурирование системы будет выполняться при помощи web-конфигуратора:

      • Откройте web-браузер;
      • Введите в адресной строке браузера IP-адрес хоста, установленный ранее при инсталляции системы ECSS-10 и нажмите Enter;
      • Введите имя пользователя в строке "Username" ("Логин"), пароль в строке "Password" ("Пароль") и нажмите кнопку "Login".
      Имя пользователя: admin.
      Пароль по умолчанию: password.

      Описание web-конфигуратора приведено в разделе Web-интерфейс.

      Подключение к web-интерфейсу возможно только после корректной установки и настройки кластера mediator с подсистемой http-terminal, а также установки и запуска web-конфигуратора.

Этапы настройки

Конфигурирование системы разделяется на следующие этапы:

Добавление лицензии

Для добавления лицензии необходимо:

  1. Прописать в базу данных ECSS-10 кодовую последовательность лицензии и паспорта ключа eToken;
  2. Выполнить проверку взаимодействия ноды DS с ключом eToken.

Описание и команды по управлению лицензиями приведены в разделе Система лицензирования.

Конфигурирование кластеров ECSS-10

Данный этап включает в себя настройку всех кластеров системы (core, ds, mediator, pa_sip, pa_megaco). Каждый кластер может включать в себя одну или несколько нод одного типа. Например, кластер SIP-адаптера (pa_sip) может состоять из нескольких нод SIP-адаптеров.

При установке лицензии автоматически задается стандартная топология подсистемы:

  • устанавливается определенный набор кластеров со стандартными именами;
  • задается определенный набор нод со стандартными именами в кластерах.

Порядок конфигурирования отдельного кластера:

  1. Настройка параметров кластера;
  2. Запуск нод кластера;
  3. Проверка вхождения нод в кластер.

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

На начальном этапе конфигурирования системы нет необходимости настраивать все параметры кластера.

Для кластера SIP-адаптера (pa_sip)

  • Конфигурирование параметров SIP-адаптера;
  • Конфигурирование сетевых настроек SIP-адаптера:
    • выбор интерфейсов(node-ip) для работы адаптера,
    • добавление/редактирование транспортных портов для приема сообщений протокола SIP и т.д.

Для кластера H.248 адаптера (pa_megaco)

  • Конфигурирование параметров транспорта;
  • Конфигурирование параметров услуг (package).

Для кластера core

  • Конфигурирование параметров управления сигнальной трассировкой вызова;
  • Конфигурирование параметров доступа к БД для различных сервисов
  • Конфигурирование настроек CFC, нотификаций и др. параметров (опционально)

Для кластера mediator (md)

  • Конфигурирование параметров HTTP-терминала(спрашивается при инсталляции);
  • Конфигурирование параметров службы уведомления о предупреждениях системы по электронной почте (опционально);
  • Конфигурирование правил маскирования предупреждений (опционально).
  • Конфигурирование параметров сбора статистики
  • Конфигурирование параметров SNMP

Для кластера storage (ds)

  • Конфигурирование набора доступных услуг

Для кластера bus (mycelium)

Конфигурирование программного медиасервера

Порядок конфигурирования программного медиасервера (MSR):

  1. Настройка конфигурации медиасервера;
  2. Декларация медиа-ресурсов на ECSS-10;
  3. Запуск медиасервера.

Конфигурирование виртуальных АТС

Данный этап включает в себя процесс добавления абонентов, транков, настройку правил маршрутизации вызовов, правил обслуживания абонентов.

Порядок конфигурирования виртуальных АТС:

  1. Декларация домена (виртуальной АТС);
  2. Создание и импорт контекстов маршрутизации;
  3. Декларация абонентов;
  4. Декларация транковых направлений;
  5. Конфигурирование правил ограничения обслуживания абонентов;
  6. Декларация дополнительных контекстов маршрутизации;
  7. Добавление и настройка прав пользователей Cocon, распределение по группам и назначение ролей;

  8. Декларация bridge-интерфейсов (интерфейсы между виртуальными АТС, существующие только в рамках системы).

Конфигурирование взаимодействия с серверами аутентификации/авторизации/аккаунтинга (ААА) (опционально)

Порядок конфигурирования взаимодействия с серверами ААА:

  1. Проверка наличия соответствующей лицензии;
  2. Настройка параметров виртуальной АТС для взаимодействия с сервером аутентификации/авторизации (RADIUS);
  3. Настройка параметров виртуальной АТС для взаимодействия с сервером аккаунтинга (RADIUS);
  4. Настройка ограничений связи при сбое сервера.

Конфигурирование функции SORM (опционально)

Порядок конфигурирования функции СОРМ:

  1. Проверка наличия соответствующей лицензии;
  2. Настройка протокола взаимодействия с посредником СОРМ;
  3. Настройка маршрутизации в соответствии с требованиями сотрудников спецслужб.

Конфигурирование кластеров

Понятия и определения

  • Кластер — совокупность элементов одного типа, выполняющих, с точки зрения системы, единую функцию.
    С их помощью описывается вычислительная топология системы.
  • Нода — представляет собой виртуальную машину Erlang и является элементом вычислительного кластера ECSS-10. Ноды в ECSS-10 типизируются по выполняемому на них функционалу. Однотипные ноды объединяются в кластера соответствующего типа. Пример, кластер Core состоит из нод, выполняющих функцию ядра коммутационной системы.

Классификация кластеров

Кластера являются компонентами ECSS-10, обеспечивающие заданные параметры надежности и производительности.

Классификация кластеров по ролям:

  • BUS — кластер интеграционной шины, обеспечивающий надежную передачу сообщений;
  • CORE — кластер, выполняющий функции маршрутизации телефонных вызовов и обработки услуг;
  • STORAGE — кластер хранения долговременных данных;
  • MEDIATOR — кластер, обеспечивающий функции управления комплексом, предоставление статистической информации и аварийной сигнализации;
  • ADAPTER — кластер, выполняющий функции взаимодействия со шлюзами, работающими по одному из протоколов: H.248/Megaco, SIP и SIP‐T, PA MGCP, PA Sigtran.

Описание каждого кластера более подробно описано на странице Архитектура и принципы работы системы.

Порядок конфигурирования кластеров

Для управления кластерами системы используется интерфейс командой строки и web-интерфейс.

Команды, предназначенные для управления кластерами, располагаются на виртуальной файловой системе CLI в директории /cluster. Описание команд приведено в разделе Справочник команд CLI.

Для управления кластерами через web-конфигуратор используется приложение Кластеры (Clusters)

Порядок конфигурирования кластера:

  1. Настройка дополнительных параметров;
  2. Запуск нод кластера;
  3. Проверка вхождения нод в кластер.

После установки лицензии в системе необходимо выполнить настройку параметров кластера:

  1. Установить состояние кластера (активный, не активный);
  2. Общие команды для конфигурирования свойств кластера;
  3. Настройка параметров кластера MEDIATOR;
  4. Настройка параметров кластера CORE;
  5. Настройка параметров кластера PA_SIP. 

Параметры можно настроить как для всех кластеров заданного типа, зарегистрированных на данном кластере хранения долговременных данных (DS), так и выполнить индивидуальные настройки для определенного кластера.

Установка состояния кластера

Для нормальной работы системы используемые кластера должны быть активными. При декларации по умолчанию кластер создается активным. Если нет необходимости изменять статус на "не активен", пропустите данный пункт настройки кластера. Описание команд приведено в разделе Справочник команд CLI.

Общие команды для конфигурирования свойств кластера

Команды на уровне настройки кластера

Данные команды являются основными для задания настроек кластера.

Для конфигурирования индивидуальных настроек определенного кластера используется команда:

/cluster/<SOME_ROLE>/<NAME_CLUSTER>/<GROUP>/set <PROPERTY> [<NAME_NODE>|add|remove] <VALUE>

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

/cluster/<SOME_ROLE>/<NAME_CLUSTER>/<GROUP>/info [<PROPERTY>]

Команды на уровне настройки кластера хранения данных

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

Для конфигурирования настроек, которые относятся ко всем кластерам с ролью <SOME_ROLE>, используется команда:

/cluster/storage/<SOME_STORAGE>/cluster/<SOME_ROLE>/set <PROPERTY> <VALUE>

Для удаления установленных значений параметров, которые относятся ко всем кластерам с ролью <SOME_ROLE>, используется команда:

/cluster/storage/<SOME_STORAGE>/cluster/<SOME_ROLE>/clean <PROPERTY>

Для просмотра установленных значений параметров, которые относятся ко всем кластерам с ролью <SOME_ROLE>, используется команда:

/cluster/storage/<SOME_STORAGE>/cluster/<SOME_ROLE>/info [<PROPERTY>]

Для конфигурирования индивидуальных настроек определенного кластера используется команда:

/cluster/storage/<SOME_STORAGE>/cluster/<SOME_ROLE>/<NAME_CLUSTER>/set <PROPERTY> <VALUE>

Свойства, созданные командой для определенного кластера, "перекрывают" свойства, созданные командой для всех кластеров с определенной ролью.

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

/cluster/storage/<SOME_STORAGE>/cluster/<SOME_ROLE>/<NAME_CLUSTER>/clean <PROPERTY>

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

/cluster/storage/<SOME_STORAGE>/cluster/<SOME_ROLE>/<NAME_CLUSTER>/info [<PROPERTY>]

где

<SOME_STORAGE> — кластер хранения долговременных данных (DS). По умолчанию в системе присутствует кластер хранения долговременных данных с именем ds1;
<SOME_ROLE> — роль кластера: adapter, bus, core, mediator, storage, tts;
<NAME_CLUSTER> — имя кластера;
<GROUP> — группа параметров;
<NAME_NODE> — имя ноды;
<PROPERTY> — имя свойства;
<VALUE> — значение свойства.

Пример:

admin@mycelium1@ecss1:/$ cluster/storage/ds1/settings/info 
ECSS-10 properties:
┌────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────┐
│                Property                │                                      Value                                      │
├────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────┤
│system_options\timers\migrate           │true                                                                             │
│licence_parameters                      │[{1,                                                                             │
│                                        │  "0496c0cf9da7bb3b119f7557324de88c50d5e93276748e4e8717898426700bdb454bdfea280b8b│
│                                        │3d2ac880cbfef55e342fa2cc43e1cad53a7e60fbde7536058ae6d327f0bbb9f48dd899e427868f1a7│
│                                        │d9313ba739c00a1f64beb0e40166ceeae31deabbba6ec3860ebc99c253397fbadb24d0b25437b3484│
│                                        │6b4575ad1f6561a8-5ce28b51f87cb09852d0c2c922bdf64f44fe03368480ef99c232f5265560d214│
│                                        │2ec9e714c04f9f5e64e713b450b380a6a6e82f3d5ae9a29299a3ed752f3052610cdc66a318d0fb67d│
│                                        │3ac77e0bcc07af5aa48b3a270a371a818d8a30ef14d6999db7a2490df4065a647c06951a6c51f1108│
│                                        │1a27757e28920677b8964428e41289-f5ae26d9fc02611e1ad7f44f0b76303c907844e32ffb24ddea│
│                                        │117f9f16126f8442c40d1155db65b429bfb1fe84c76f5b2b9d6ffd3550da890245f08119923007395│
│                                        │52f10f8e5e9c745a67646e51ad61174bd3980b28f73ee406e667e70cf937f3c42b6eeebdb4665f33f│
│                                        │64506bfe19ce324214cf8ee74f9b45b9ed2e9627077a-e9e6b278b677963cf21f074dc091d05cdaa6│
│                                        │5888f73034d9d961a77da1fb824bf650c152119570aa1ff4c08181554614164d0d3361505d27dbcb4│
│                                        │23d5f62523c6dc42a1c77003313606df5004e7664d26be23dd9f407f8a527c1b9f38d5363ffb3233b│
│                                        │46444b05da0786c30baa480d847ccbb757685a861d1499724d5108e02a-91500ed1a7da43b16ce8b9│
│                                        │595eeda6678830309b64e33e718a594d0b6cd079f38ebcba10dac2bf7e28fed6d6c6fe3df6e1cbd36│
│                                        │467163139d5b1e014f2312f0d7619ad9a27a1b2714b3c40164bdb750481c5bfc1399006391e4282d5│
│                                        │e8ad9e8c6a334b0a32b5edaefc42bd2a2ccaf1be99c968aa376b11ec48b00292ece8c4ac-062ca6ef│
│                                        │60cb14cb31364f5aa15edf9b29f3fd79cfb773c5ed528e104bcc2115b7a9ae70d79240a7f5c26607b│
│                                        │61b347b9ee69ce874250f0a796be589da1948c80a709bf0bc68fa5e274dd1689ad2c46b117defb438│
│                                        │d86fb71a5844fec124ddd3d3b3cdd83d188243cd7e5f3daa32c023d169fb0e65d7c9ec4bb595904ed│
│                                        │3ac1e-a715d496e9d7e895df0b88a24a8ecd747234681d8788165b79091934b4ba009c3c230457fc5│
│                                        │0f16f533a3d7bda8bee7beb7ede7b08a9ba7dc5c7b59ecfbf1f9c2f43a659f31450d15a6132006e8a│
│                                        │23b3fe7bd84ac992eb94e613d9107fb60f60f1a3f3d382e966da31b04b57fd00394f4221fc0d98e21│
│                                        │a6c060b097798ca1359-5a23735be4ee3d2779d633b9d0f0d09f5b88fb9fc0ab80424c778d34d2c9d│
│                                        │acc9d9577edb2196a56c31961a8f62eca2d7ea92746b0e266d4313a30a2b5f751c7be3feb11fc7601│
│                                        │e7103748ecffaa01a09aab364f9182d862dfbbc4b14c79147d06b380cd77f7ab26f130b38553027d0│
│                                        │3b0acaa89a3e061eeb889d229160b823a-8ab6f5fb350ee901ed127f2591d69e4bb7007673b1e4642│
│                                        │1321a5355c7b9d8eca8f1ffcfbb09c73cd2ae2a37912159ae58b77d9a006ec5784726b881a5afc45f│
│                                        │1ffbdb51fab7bd83fd874d37df8a68032763a078bfee1dbe8588e403b7e0c1f2cc2cabd4ee130977a│
│                                        │f342614e1b4a0630acead15ec28d191eddf51b4596bb1af-887ea4cabc7ed20f75ed68f2e7fc169d8│
│                                        │5601365d600c102fddb73436992de4b68d09c687c1ff2ff68809009d3ab6f1b2a4dc652c6eade0fd3│
│                                        │17dffa42eea0bc65335c4f6459ff4cf55ab9b497cdc9e71e1977287187c0c2c97f7e8ca44be3115c5│
│                                        │73bafe6814f3f2306a2b7f8fb1b8f059ee49ffceb01cec9cab5b61abd0282"},                 │
│                                        │ {2,                                                                             │
│                                        │  "09e595f120c9d375eb45f27ebb33a3fbb6ea8702118e93b1818edb725fe70208caa668e931082f│
│                                        │9aca0dc212e7a2187f44fac22d0082f0eaf7d8db01dd69b51ba3864ed9db942d4dee8f3de17e29838│
│                                        │6fc1d2e4046fd57d0b6c27753c3a5f680d1b3fb62388b0c88de3c69d103b3a0c359b85537b363cbfd│
│                                        │53a135f6a08b0792-25cd49bd8c5657e7702c770975e2e6f46e7b1484012d5e50fce39fc36c452ee2│
│                                        │22551b684474d503c673edd78a50c796d68cd0d06f1ad3ef2f93528fe0e5f473a22082ea6d6bf9ea8│
│                                        │cfc570c69ce164cb2fcb233f25ece3119fc4d093e37d34bf3e6ec80a356ef34ecb0f6d408d72d031f│
│                                        │29d2e97b06511879862573f94dd65f-1ef6ec6fc0b7fc996a694f70267b2e43cd6d6acd2d1d7b8a92│
│                                        │01d54fda4903279d56aa00169d5422bdde8cd74b5621fc8021475f32dbaca65d1184f3c0803eb14b9│
│                                        │ee15563ca076e78c0548ca9c72f324e2626ea53648cc4017ca113ea522cc7523c125b9c07ca99196f│
│                                        │40f107a806b4e82ce122fa773e53379894722458355e-f025b36b83a71fd327da3642b95a70cc0e42│
│                                        │fac469ab3a610e2b0a567df2f2140b7a88ed9d9280cb142374c350f461207f785e73869bd9377d62a│
│                                        │3080f832c0da4aad5c653d6e5f8653176779245a6957ab15698f4606f0d8b1622e7032e6db8e9c326│
│                                        │bc2c86740cd4e28b5850995782d584fc26fe0cdaca81cd80dd2d1d289f-98ab44b7fcc60b5acffe13│
│                                        │cde7f1364a91bb263959581c1de6be29856dccff2217be7f700c66a25d454f7f8ca170298877cec52│
│                                        │0d08856ba15d09124162034d9d9951da63bc1e9c9f636bd72f88e7cb74e319639d2962262b912bab5│
│                                        │3691edb83e7d9121881a776ab580d57c99af0339ff70140b09e3f2ed3d23fee08ff0f114-15d16c98│
│                                        │0b7422e1b14168cda76186108ca3ed8983befe38d3674f32d0eaefce896fb05186107c2334e114ece│
│                                        │629530bac377fe5dfd37347113c4b0de7caa84cdd16b29aae4e627fcf0b54c38502dabed553500da7│
│                                        │0d5a777b9d891f059a96cd4fda388bea1df94bc3187a6355e718ac88549b3bc6d2438f4c8a20dbb0c│
│                                        │9e190-2620129bf693bb3831ef74ac382d14428d195efde44b3980d5852a3ad34daef7e76b8cd10d9│
│                                        │fec46755bc412fc959bef4954267c23b3d6fea117c77389e558ff08f6b0a82d0b412a26bf681f2ae3│
│                                        │a888169ca7492fe99761b4494d7ffecd4e46c95fa64f69a29a6e972032f50c49428b2494c778bd3e9│
│                                        │76b9dd455543dde7278-449ac65fe58f26949e5d5888e9400a40a2a951f5c67082dd4e8de616c1f6f│
│                                        │1980a0bbabf6572063eceb60b7df28c9829d996d2fe3de760f364d9c454ea60d6724452e4066a6dae│
│                                        │9c9452160e773ab3fb2b06963d525e064bf6a4d6fdaca6e5cc8d0f1209cc7625d6366efbe160f6323│
│                                        │edfd2b62bf4a79265caf1e9cb3e7a307c-640298e0834b2572fe0cc1b6358565150f8a45b96c034aa│
│                                        │b66e5a4269b0ee9f4b3713d75d4556d3446877952e3b9457108b24b967f35fbd5afd9aeafb583d901│
│                                        │743ae97c39c121187297d5fa50a51a56d4820b896a48fc9a063cec9d1ad57dd77db170d49374e682c│
│                                        │105d24f11c5f868bf690a5eada939c4e5cb39ccafa7b05a-005f2326df40e72da954748f73e36c122│
│                                        │3bf744e5310579256fce54ae3df88accf9f61d5960ded55cb5b8075c10265bcd0fba2186308a2a1c3│
│                                        │7dc233a16d398416819f073515e831bfcf308359d870e0969f81e8dcb4739ae5023aedb1bd0c21b4e│
│                                        │cf5e90961ca482420e18203d7edb52ce10bdc9fe3da268085bc47433d00bf"}]                 │
│system_geo_options\timers\migrate       │true                                                                             │
│msr_registrar\site                      │[{site,<<"local">>,[{site_edge,<<"local">>,0}]}]                                 │
│ecss_cm\system_trace_options\mode       │full_compressed                                                                  │
│aaa_options\interim_interval\migrate    │true                                                                             │
│ecss_cm\system_options\call_limit       │50                                                                               │
│msr_registrar\zone                      │[{zone,<<"default">>}]                                                           │
│ecss_cm\system_trace_options\backend    │trace_tool_dets                                                                  │
│oct_timers\discriptions_property\migrate│true                                                                             │
│licence_parameters\token                │"ddf96ecce552efcee2cdc365f4e6a4bd8a53ec9e971acf07c934f8a26dd9eafe8f2ba4dd651a493d│
│                                        │5c9a863ec5ae46cc62ad27db98cc47a0b29f33b958c8f5ed8dde34eb4c4febb9a58e1e0ec5d9f687a│
│                                        │754daa0959a0a09855a575fea14e5b87b7c090ed6ab1b415e0f1167996c07f0b7ed7d4508bcabca79│
│                                        │e382a7bad37088-8a8a870e066bf835f9ce91ff674b981fd474b1cc5c58cff78dc4ebbf0edba72a4d│
│                                        │2e760cab93719cfd1426df8e6fec9c0573f9474b50a3d22ac13869cc16c98744d57ad845f34fb708e│
│                                        │d81e7b4bc76a969905280d336679819bb191898eebeb1b99945aa74a17dbed1c239f62c3d543e650f│
│                                        │9b48379af8bc3a1ea821a5267a63-3d3011f1296f43413fd0e5dfcdd01dd7968211db6bfdb19cd899│
│                                        │e06463fa298d564a7f0a4f6dc61c83f191c117e5d1ab7696e81600ea03ee5a455506ca8cba3190029│
│                                        │600b19830d81a5fba30ad42ef21c90f27b1912fb8e3ca5699a0cefc107000a15b5d37ada58ce78192│
│                                        │368c9d03ea9845ef24e23ff07bf7e450fc566b8486-7c7ba7df1e45701e86d79532adcb7e282e4177│
│                                        │055550e82924ffd7ebc9df2e90c591d5282b22b71ed3b8b8156bf9c36fe537031734437c2c24577ab│
│                                        │7405dfa825c8557e13f03fc400d08de239477b2cbbe4bdb5c01de358cf4c26f9e29f32b22ea2f4d5b│
│                                        │3e6e8d882358a8e300805982762e04d356c27f787949234fcf11066f"                        │
│ds_data_cleaner\migrated_versions       │["3.11.0","3.9.0","3.9.1"]                                                       │
└────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────┘

[exec at: 19.10.2019 21:03:18, exec time: 109ms, nodes: ds1@ecss1]
admin@mycelium1@ecss1:/$ 

Настройка параметров кластера MEDIATOR

В данном разделе описана подготовка SSL-сертификатов для подключения к HTTP-терминалу. По умолчанию HTTP-терминал работает по протоколу HTTP.

Чтобы использовать более безопасное соединение HTTPS, необходимо использовать SSL-сертификат(по умолчанию уже сгенерированный в системе).
Для создания нового сертификата:

  1. Нужно сгенерировать RSA-ключ, на основе которого будет сгенерирован SSL-сертификат. В консоли ОС Linux необходимо выполнить команды:

    openssl genrsa -des3 -out http_terminal.key 4096
    openssl req -new -x509 -days 365 -key http_terminal.key -out http_terminal.crt

    Генерация ключа может занять до 30 секунд. 

    По завершении генерации ключа будет запущена генерация сертификата. 

    Во время генерации сертификата необходимо указать дополнительную информацию: страна, имя компании и другое.

    Параметр "секретная фраза" используется в качестве пароля для сертификата, параметр потребуется для конфигурирования HTTP-терминала.
  2. Переместить сгенерированные файлы "http_terminal.key" и "http_terminal.crt" в папку /etc/ecss/ssl.

    Нужно проверить, что пользователь ssw имеет права доступа к данным файлам.

  3. Далее нужно подключиться к командной консоли ECSS-10 и выполнить настройку параметров сервиса http terminal кластера mediator.


    Для подключения к командной консоли ECSS-10 используется имя пользователя admin, пароль по умолчанию password.

    Команда для подключения к консоли ECSS-10:

    ssh admin@localhost -p 8023

    Команды настройки параметров сервиса http terminal:

    cluster/mediator/<NODE>/properties/cocon_http_terminal/set * ssl_keyfile /etc/ecss/ssl/http_terminal.key
    cluster/mediator/<NODE>/properties/cocon_http_terminal/set * ssl_certfile /etc/ecss/ssl/http_terminal.crt
    cluster/mediator/<NODE>/properties/cocon_http_terminal/set * ssl_password <PASSWORD>

    где

    <NODE> — имя ноды с ролью mediator;
    <PASSWORD> — секретная фраза.

  4. Для применения настроек необходимо перезапустить службу http terminal кластера mediator командами:

    /node/<NODE>/service http-terminal stop
    /node/<NODE>/service http-terminal start

    где

    <NODE> — имя ноды с ролью mediator.

Пример:

admin@mycelium1@ecss1:/$ cluster/mediator/md1/properties/cocon_http_terminal/set md1@ecss1 http_server_port 9999         
Property "http_server_port" successfully changed from: 
9999
   to
9999.

[exec at: 19.10.2019 20:57:19, exec time: 208ms, nodes: md1@ecss2]

Для более тонкой настройки кластера смотрите раздел Тонкая настройка системы.

Настройка параметров кластера CORE

Для кластеров с ролью CORE все необходимые для работы значения параметров устанавливаются по умолчанию.

Для более тонкой настройки кластера смотрите раздел Тонкая настройка системы.

Настройка параметров кластера PA_SIP

Конфигурирование параметров, необходимых для работы кластера PA_SIP, перенесено на уровень виртуальных АТС.

Для кластер PA_SIP все необходимые для работы значения параметров установлены изначально по умолчанию.

Для тонкой настройки кластера смотрите раздел Тонкая настройка системы.

Запуск и остановка ноды ECSS-10

Запуск должен осуществляться от имени суперпользователя (для этого используется команда sudo) в операционной системе Linux. Сначала нужно выйти из командной консоли управления CLI, используя команду exit.

Данные ноды должны быть уже запущены перед конфигурированием кластеров:

sudo systemctl start ecss-mycelium.service
sudo systemctl start ecss-ds.service

Рекомендуемая последовательность запуска остальных нод:

sudo systemctl start ecss-core.service
sudo systemctl start ecss-pa-sip.service
sudo systemctl start ecss-mediator.service
sudo systemctl start ecss-restfs.service
sudo systemctl start ecss-web-conf.service
sudo systemctl start ecss-media-server.service
sudo systemctl start ecss-subscriber-portal.service
sudo systemctl start ecss-cc-ui.service

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

sudo systemctl start ecss-pa-megaco.service

Остановка запущенных нод выполняется в следующем порядке:

sudo systemctl stop ecss-subscriber-portal.service
sudo systemctl stop ecss-web-conf.service
sudo systemctl stop ecss-media-server.service
sudo systemctl stop ecss-pa-megaco.service
sudo systemctl stop ecss-pa-sip.service
sudo systemctl stop ecss-restfs.service
sudo systemctl stop ecss-core.service
sudo systemctl stop ecss-mediator.service
sudo systemctl stop ecss-ds.service
sudo systemctl stop ecss-mycelium.service
sudo systemctl start ecss-cc-ui.service

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

sudo systemctl status ecss-mycelium.service
sudo systemctl status ecss-ds.service
sudo systemctl status ecss-core.service
sudo systemctl status ecss-pa-sip.service
sudo systemctl status ecss-mediator.service
sudo systemctl status ecss-megaco.service
sudo systemctl status ecss-restfs.service
sudo systemctl status ecss-web-conf.service
sudo systemctl status ecss-media-server.service
sudo systemctl status ecss-subscriber-portal.service
sudo systemctl status ecss-cc-ui.service

Параметры можно настроить как для всех кластеров заданного типа, зарегистрированных на данном кластере хранения долговременных данных (DS), так и выполнить индивидуальные настройки для определенного кластера.

Установка состояния кластера

Для нормальной работы системы используемые кластера должны быть активными. При декларации по умолчанию кластер создается активным. Если нет необходимости изменять статус на "не активен", пропустите данный пункт настройки кластера. Описание команд приведено в разделе Справочник команд CLI.

Проверка вхождения ноды в кластер

После запуска ноды нужно подключиться к командной консоли CLI под пользователем admin.

Пароль по умолчанию: password.

Команда для подключения к командной консоли CLI:

ssh admin@localhost -p 8023

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

/node/check-services

Данная команда показывает ноды, которые удачно запущены на ECSS-10. В одной строке указываются ноды, которые находятся в кластере.

Пример:

admin@mycelium1@ecss1:/$ node/check-services 
Nodes:
    core1@ecss1     core1@ecss2
      ds1@ecss1       ds1@ecss2
      md1@ecss1       md1@ecss2
  megaco1@ecss1   megaco1@ecss2
mycelium1@ecss1 mycelium1@ecss2
     sip1@ecss1      sip1@ecss2

All services are started

[exec at: 19.10.2019 19:17:52, exec time: 1s 751ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,megaco1@ecss1,megaco1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]

В данном примере видно, что каждый кластер содержит по две ноды, которые запущены соответственно на хостах ecss1 и ecss2.

Пример:
Проверить, что ноды "видят" друг друга:

admin@mycelium1@ecss1:/$ node/nodes-info   
┌───────────────┬───────────────────────────────┬───────────────────────────┐
│     Node      │            Erlang             │          Mnesia           │
├───────────────┼───────────────────────────────┼───────────────────────────┤
│core1@ecss1    │core1@ecss1,core1@ecss2        │not running                │
│core1@ecss2    │core1@ecss1,core1@ecss2        │not running                │
│ds1@ecss1      │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │
│ds1@ecss2      │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │
│md1@ecss1      │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │
│md1@ecss2      │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │
│megaco1@ecss1  │megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│
│megaco1@ecss2  │megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│
│mycelium1@ecss1│mycelium1@ecss1,mycelium1@ecss2│not running                │
│mycelium1@ecss2│mycelium1@ecss1,mycelium1@ecss2│not running                │
│sip1@ecss1     │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │
│sip1@ecss2     │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │
└───────────────┴───────────────────────────────┴───────────────────────────┘

[exec at: 19.10.2019 19:16:08, exec time: 1s 895ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,megaco1@ecss1,megaco1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]

или командой system-status:

admin@mycelium1@ecss1:/$ system-status  
Checking...
┌─┬───────────────┬────────────────────────┬───────────────────────────────┬───────────────────────────┬────────┐
│ │     Node      │        Release         │         Erlang nodes          │       Mnesia nodes        │ Uptime │
├─┼───────────────┼────────────────────────┼───────────────────────────────┼───────────────────────────┼────────┤
│ │core1@ecss1    │ecss-core-3.14.2.62     │core1@ecss1,core1@ecss2        │not running                │21h 28m │
│ │core1@ecss2    │ecss-core-3.14.2.62     │core1@ecss1,core1@ecss2        │not running                │5h 7m   │
│ │ds1@ecss1      │ecss-ds-3.14.2.62       │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │21h 28m │
│ │ds1@ecss2      │ecss-ds-3.14.2.62       │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │5h 7m   │
│ │md1@ecss1      │ecss-mediator-3.14.2.62 │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │21h 28m │
│ │md1@ecss2      │ecss-mediator-3.14.2.62 │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │5h 7m   │
│ │megaco1@ecss1  │ecss-pa-megaco-3.14.2.55│megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│3d 4h 8m│
│ │megaco1@ecss2  │ecss-pa-megaco-3.14.2.62│megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│5h 7m   │
│ │mycelium1@ecss1│ecss-mycelium-3.14.2.62 │mycelium1@ecss1,mycelium1@ecss2│not running                │21h 28m │
│ │mycelium1@ecss2│ecss-mycelium-3.14.2.62 │mycelium1@ecss1,mycelium1@ecss2│not running                │5h 7m   │
│ │sip1@ecss1     │ecss-pa-sip-3.14.2.62   │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │21h 28m │
│ │sip1@ecss2     │ecss-pa-sip-3.14.2.62   │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │5h 7m   │
└─┴───────────────┴────────────────────────┴───────────────────────────────┴───────────────────────────┴────────┘

All services are started.

  Active media resource selected list specific:
┌─────────────┬───────┬──────────┬───────────┬───────────┐
│    Node     │  MSR  │   MSR    │ Cc-status │ Cc-uptime │
│             │       │ version  │           │           │
├─────────────┼───────┼──────────┼───────────┼───────────┤
│ core1@ecss1 │ msr_1 │ 3.14.2.7 │ connected │ 08:04:00  │
│             │ msr_2 │ 3.14.2.7 │ connected │ 05:06:26  │
│ core1@ecss2 │ msr_1 │ 3.14.2.7 │ connected │ 05:05:37  │
│             │ msr_2 │ 3.14.2.7 │ connected │ 05:05:34  │
└─────────────┴───────┴──────────┴───────────┴───────────┘

Alarms list on md1:
┌───────────┬────────┬───────────┬─────────────┬────────────────┬───────────┬──────────────────────┐
│   Date    │Severity│ Location  │    Cause    │     Class      │ Instance  │       Message        │
├───────────┼────────┼───────────┼─────────────┼────────────────┼───────────┼──────────────────────┤
│19.10 17:15│critical│core1@ecss1│softwareError│ecss::system::lo│core1@ecss1│Error log data updated│
│:35        │        │           │             │g               │           │                      │
└───────────┴────────┴───────────┴─────────────┴────────────────┴───────────┴──────────────────────┘
Selected: 1
Total: 1

После запуска ноды нужно подключиться к командной консоли CLI под пользователем admin.

Пароль по умолчанию: password.

Команда для подключения к командной консоли CLI:

ssh admin@localhost -p 8023

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

/node/check-services

Данная команда показывает ноды, которые удачно запущены на ECSS-10. В одной строке указываются ноды, которые находятся в кластере.

Пример:

admin@mycelium1@ecss1:/$ node/check-services 
Nodes:
    core1@ecss1     core1@ecss2
      ds1@ecss1       ds1@ecss2
      md1@ecss1       md1@ecss2
  megaco1@ecss1   megaco1@ecss2
mycelium1@ecss1 mycelium1@ecss2
     sip1@ecss1      sip1@ecss2

All services are started

[exec at: 19.10.2019 19:17:52, exec time: 1s 751ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,megaco1@ecss1,megaco1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]

В данном примере видно, что каждый кластер содержит по две ноды, которые запущены соответственно на хостах ecss1 и ecss2.

Пример:
Проверить, что ноды "видят" друг друга:

admin@mycelium1@ecss1:/$ node/nodes-info   
┌───────────────┬───────────────────────────────┬───────────────────────────┐
│     Node      │            Erlang             │          Mnesia           │
├───────────────┼───────────────────────────────┼───────────────────────────┤
│core1@ecss1    │core1@ecss1,core1@ecss2        │not running                │
│core1@ecss2    │core1@ecss1,core1@ecss2        │not running                │
│ds1@ecss1      │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │
│ds1@ecss2      │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │
│md1@ecss1      │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │
│md1@ecss2      │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │
│megaco1@ecss1  │megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│
│megaco1@ecss2  │megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│
│mycelium1@ecss1│mycelium1@ecss1,mycelium1@ecss2│not running                │
│mycelium1@ecss2│mycelium1@ecss1,mycelium1@ecss2│not running                │
│sip1@ecss1     │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │
│sip1@ecss2     │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │
└───────────────┴───────────────────────────────┴───────────────────────────┘

[exec at: 19.10.2019 19:16:08, exec time: 1s 895ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,megaco1@ecss1,megaco1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]

или командой system-status:

admin@mycelium1@ecss1:/$ system-status  
Checking...
┌─┬───────────────┬────────────────────────┬───────────────────────────────┬───────────────────────────┬────────┐
│ │     Node      │        Release         │         Erlang nodes          │       Mnesia nodes        │ Uptime │
├─┼───────────────┼────────────────────────┼───────────────────────────────┼───────────────────────────┼────────┤
│ │core1@ecss1    │ecss-core-3.14.2.62     │core1@ecss1,core1@ecss2        │not running                │21h 28m │
│ │core1@ecss2    │ecss-core-3.14.2.62     │core1@ecss1,core1@ecss2        │not running                │5h 7m   │
│ │ds1@ecss1      │ecss-ds-3.14.2.62       │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │21h 28m │
│ │ds1@ecss2      │ecss-ds-3.14.2.62       │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2        │5h 7m   │
│ │md1@ecss1      │ecss-mediator-3.14.2.62 │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │21h 28m │
│ │md1@ecss2      │ecss-mediator-3.14.2.62 │md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2        │5h 7m   │
│ │megaco1@ecss1  │ecss-pa-megaco-3.14.2.55│megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│3d 4h 8m│
│ │megaco1@ecss2  │ecss-pa-megaco-3.14.2.62│megaco1@ecss1,megaco1@ecss2    │megaco1@ecss1,megaco1@ecss2│5h 7m   │
│ │mycelium1@ecss1│ecss-mycelium-3.14.2.62 │mycelium1@ecss1,mycelium1@ecss2│not running                │21h 28m │
│ │mycelium1@ecss2│ecss-mycelium-3.14.2.62 │mycelium1@ecss1,mycelium1@ecss2│not running                │5h 7m   │
│ │sip1@ecss1     │ecss-pa-sip-3.14.2.62   │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │21h 28m │
│ │sip1@ecss2     │ecss-pa-sip-3.14.2.62   │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2      │5h 7m   │
└─┴───────────────┴────────────────────────┴───────────────────────────────┴───────────────────────────┴────────┘

All services are started.

  Active media resource selected list specific:
┌─────────────┬───────┬──────────┬───────────┬───────────┐
│    Node     │  MSR  │   MSR    │ Cc-status │ Cc-uptime │
│             │       │ version  │           │           │
├─────────────┼───────┼──────────┼───────────┼───────────┤
│ core1@ecss1 │ msr_1 │ 3.14.2.7 │ connected │ 08:04:00  │
│             │ msr_2 │ 3.14.2.7 │ connected │ 05:06:26  │
│ core1@ecss2 │ msr_1 │ 3.14.2.7 │ connected │ 05:05:37  │
│             │ msr_2 │ 3.14.2.7 │ connected │ 05:05:34  │
└─────────────┴───────┴──────────┴───────────┴───────────┘

Alarms list on md1:
┌───────────┬────────┬───────────┬─────────────┬────────────────┬───────────┬──────────────────────┐
│   Date    │Severity│ Location  │    Cause    │     Class      │ Instance  │       Message        │
├───────────┼────────┼───────────┼─────────────┼────────────────┼───────────┼──────────────────────┤
│19.10 17:15│critical│core1@ecss1│softwareError│ecss::system::lo│core1@ecss1│Error log data updated│
│:35        │        │           │             │g               │           │                      │
└───────────┴────────┴───────────┴─────────────┴────────────────┴───────────┴──────────────────────┘
Selected: 1
Total: 1

[exec at: 19.10.2019 19:20:14, exec time: 4s 360ms, nodes: core1@ecss1,core1@ecss2,ds1@ecss1,ds1@ecss2,md1@ecss1,md1@ecss2,megaco1@ecss1,megaco1@ecss2,mycelium1@ecss1,mycelium1@ecss2,sip1@ecss1,sip1@ecss2]

Настройка кластера через web-конфигуратор

Состав и конфигурация кластеров в системе определяется лицензией ECSS-10.
Настройка параметров кластера выполняется в приложении web-конфигуратора "Clusters" ("Кластеры").
Настройка параметров кластеров через web-конфигуратор описана в разделе Кластеры (Clusters).

После выполнения настроек нужно выполнить запуск ноды, описание приведено в разделе Запуск и остановка ноды ECSS-10.

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

Настройка ECSS-10 для производительных систем

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

1. Выделение отдельных ядер процессора для MSR

Для того, чтобы изолировать MSR медиасервер от остальной сиcтемы, необходимо выделить под него отдельные ядра процессора. Для этого нужно выполнить следующие действия:

  1. Открыть файл:

    /etc/default/grub

    привести параметр GRUB_CMDLINE_LINUX="" к следующему виду:

    GRUB_CMDLINE_LINUX="isolcpus=8-11"

    Данный пример изолирует ядра с 8 по 11. Также возможен вариант с перечислением 1,2,4-6 и т.п.

  2. Обновить конфигурацию grub. Для этого выполните команду:

    sudo update-grub
  3. Перезапустить систему.

    Если всё сделано правильно, то после перезагрузки на изолированных ядрах htop будет показывать 0-ую нагрузку.

2. Установка scaling_governor в режим perfomance

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance

По умолчанию в Ubuntu есть пять профилей работы процессора:

Описание профилей:

  • conservative — медленно повышает частоту процессора в зависимости от нагрузки на систему и резко сбрасывает частоту к минимальной при простое.
  • ondemand — быстро повышает частоту процессора при возрастании нагрузки и медленно сбрасывает частоту к минимуму при простое.
  • userspace  позволяет указывать частоту вручную.
  • powersave  соответствует минимальной допустимой частоте CPU.
  • performance — соответствуют максимальной частоте CPU.

Система выдерживает большую нагрузку в режиме perfomance. Для того, чтобы включить данный режим по умолчанию, необходимо привести файл /etc/rc.local к следующему виду:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null
exit 0
Установку необходимо делать через создание дополнительного правила в /etc/udev/rules.d/.

3. Запуск MSR на изолированных ядрах процессора

Для того, чтобы MSR запускался на отдельных ядрах процессора, необходимо привести файл /etc/systemd/system/ecss-media-server.service.d/override.con к следующему виду:

[Service]
CPUAffinity=8-11
CPUSchedulingPolicy=rr

Перед эти нужно включить экзмепляр MSR:

systemctl enable ecss-media-server@msr.service
systemctl edit ecss-media-server@msr.service

Для просмотра того, на каких ядрах запустился сервис, можно воспользоватся htop. В нем нужно добавить колонку Processor.

В данном примере MSR запущен на ядрах 8,9,10,11. CPUSchedulingPolicy нужен только если указан isolcpus.

Сама настройки MSR более подробно описана на этой странице Настройка программного медиасервера.

4. Настройка использования определенных ядер процессора для erlang-based служб

Для того чтобы ядра процессора использовались правильно, необходимо скорректировать параметры запуска erlang-нод на производительных системах.

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

  • использовать более 2х ядер;
  • необходимо, чтобы одна нода не использовала ядра на разных процессорах;
  • для сильно нагруженных нод, таких как core и sip, нужно выделять индивидуальные ядра;
  • ноды, которые не загружены, можно размешать на одном ядре;
  • для core необходимо выделять большее количество ядер.

Распределения ядер на примере 2х-процессорного сервера HP BL660 c двумя процессорами Intel Xeon E5-4657L c 12 ядрами и поддержкой гипертрединга, которые могут образовать 8 виртуальных ядер:

myc  0-3
ds   4-7
core 8-23
sip  24-31
md   32-35
rest 36-39
sp   40-43
msr  44-47

Для того, чтобы сделать такое распределение нужно включить режим использования только необходимого количества ядер на erlang-ноде.
Для этого редактируем файл vm.args каждой ноды, расположенный по пути  /usr/lib/ecss/ECSS-SERVICE-NAME/releases/VERSION/
Например, для ecss-core необходимо отредактировать файл:

sudo mcedit /usr/lib/ecss/ecss-core/releases/3.14.2.29/vm.args

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

Для 16 ядер это:

+sct L0-15c0-15
+sbt db
+S16:16

Для 8-х ядер:

+sct L0-7c0-7
+sbt db
+S8:8

Для 4-х ядер:

+sct L0-3c0-3
+sbt db
+S4:4

Для 2-х ядер:

+sct L0-1c0-1
+sbt db
+S2:2

Следующая задача — установить сервис на выбранные ядра. Делается это аналогично тому, как описано для MSR.

Выполните команду:

sudo systemctl edit ECSS-SERVICE-NAME

Добавление параметров:

[Service]
CPUAffinity=0-3

Где в значении CPUAffinity указываются те ядра, на которых должны запускаться процессы сервиса.

Пример настройки ecss-core по указанной выше схеме:

> sudo systemctl edit ecss-core.service
[Service]
CPUAffinity=8-23

После настройки параметров CPUAffinity для всех сервисов необходимо перезагрузить конфигурацию услуг командой:

sudo systemctl daemon-reload

Перезапустить сервисы:

sudo systemctl restart ecss.slice

Убедиться в корректной привязке сервисов к ядрам можно утилитой htop, включив отображение колонки PROCESSOR.