Оглавление
...
Update options
Using a single server for the SSD does not provide redundancy. Therefore, upgrading to a new version without interrupting traffic is not possible.
There are two ways to upgrade.
...
| Без форматирования |
|---|
/domain/test_domain/cdr/make_finalize_cdr Created file(s): cdr_20260522_11_51_16_1_c.csv |
| Якорь | ||||
|---|---|---|---|---|
|
Предупреждение title Внимание Perform a full backup - You need to mask all nodes on the server and disable node autostart:
Блок кода title на ecss1 sudo systemctl mask --now ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
Информация When the attached command is executed, a notification will be displayed.
Без форматирования Warning: The unit file, source configuration file or drop-ins of ecss-ds.service changed on disk. Run 'systemctl daemon-reload' to reload units. Warning: The unit file, source configuration file or drop-ins of ecss-mycelium.service changed on disk. Run 'systemctl daemon-reload' to reload units. Warning: The unit file, source configuration file or drop-ins of ecss-mediator.service changed on disk. Run 'systemctl daemon-reload' to reload units. Warning: The unit file, source configuration file or drop-ins of ecss-core.service changed on disk. Run 'systemctl daemon-reload' to reload units. Warning: The unit file, source configuration file or drop-ins of ecss-pa-sip.service changed on disk. Run 'systemctl daemon-reload' to reload units.
These messages are not errors. Continue with the procedure.
- Update the ssw repository:
Блок кода title на ecss1 sudo sh -c "echo deb [arch=amd64] http://archive.eltex.org/ssw/jammy/3.18 stable main extras external > /etc/apt/sources.list.d/eltex-ecss10-stable.list"
- Perform package update:
Блок кода title на ecss1 sudo apt update
Примечание If you see this system message:
Без форматирования W: http://archive.eltex.org/ssw/jammy/3.18/dists/unstable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Run the following command:
Блок кода title на обоих хостах sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d
- Updating PostgreSQL:
- Turn off the Docker container:
Блок кода title на ecss2 sudo docker compose -f /srv/ecss/ecss-postgres-bdr-ssw/docker-compose.container.yml down
Без форматирования title Пример: sudo docker compose -f /srv/ecss/ecss-postgres-bdr-ssw/docker-compose.container.yml down [+] down 2/2 ✔ Container ecss-postgres-bdr-ssw-postgres-container-1 Removed ✔ Network ecss-postgres-bdr-ssw_default Removed
- Remove the old deb package, since the upgrade option is not supported:
Блок кода title на ecss2 sudo apt remove ecss-postgres-bdr-ssw
Предупреждение title !!Важно!! Run remove, not purge, because remove preserves the volumes directory with our database tables.
Без форматирования title Пример: sudo apt remove ecss-postgres-bdr-ssw Reading package lists... Done . . . The following packages will be REMOVED: ecss-postgres-bdr-ssw . . . Do you want to continue? [Д/н] y Deleting ecss-postgres-bdr-ssw (17.1.0.59+ssw) …
- Установить новый deb-пакет:
Блок кода title на ecss2 sudo apt install ecss-postgres-bdr-ssw
Предупреждение title !!IMPORTANT!! During installation, you will be asked the same questions as during the initial installation:
The answers must exactly match those specified in the procedure, otherwise an attempt will be made to create a new database and the installation will fail.
Информация Question Reply Example The current IP address of the network interface.
10.0.10.41 (select) Install on a cluster?
Select <Yes> if the package is installed on a cluster node.
No (select) Блок кода title If the installation is successful, at the stage of raising replication we will see: sudo apt install ecss-postgres-bdr-ssw . . . ================== Create databases ================== Database ecss_storekeeper_db already exists, skipping... Database web_conf already exists, skipping... Extension btree_gist already exists, skipping... Extension bdr already exists, skipping... =================================== Creating Postgres Exporter Schema =================================== Node IP: localhost psql:/srv/ecss/ecss-postgres-bdr-ssw/schema.sql:1: NOTICE: schema "postgres_exporter" already exists, skipping CREATE SCHEMA GRANT CREATE FUNCTION CREATE VIEW GRANT CREATE FUNCTION CREATE VIEW GRANT psql:/srv/ecss/ecss-postgres-bdr-ssw/schema.sql:28: NOTICE: extension "pg_stat_statements" already exists, skipping CREATE EXTENSION CREATE FUNCTION CREATE VIEW GRANT . . . ======================================================= ======================================================= ecss-postgres-bdr-ssw successfully installed/updated! ======================================================= ======================================================= ┏┓┏┓┏┓┏┳┓┏┓┳┓┏┓┏┓ ┳┓┳┓┳┓ ┏┓┏┓┓ ┏ ┃┃┃┃┗┓ ┃ ┃┓┣┫┣ ┗┓ ┣┫┃┃┣┫ ┗┓┗┓┃┃┃ ┣┛┗┛┗┛ ┻ ┗┛┛┗┗┛┗┛ ┻┛┻┛┛┗ ┗┛┗┛┗┻┛
- After installation, check that the new image has been pulled in and Docker has started by running the command:
Блок кода title на ecss2 sudo docker ps
Блок кода title example: sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bf73743d3e09 git.eltex.loc:4567/ecss/ecss-postgresbdr:3.18 "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:5439->5432/tcp, [::]:5439->5432/tcp ecss-postgres-bdr-ssw-postgres-container-1
- Turn off the Docker container:
- Updating the ecss-dns-env package:
Блок кода title на ecss1 sudo apt install ecss-dns-env
After the update, you need to update the configuration by running the command. The answers to the questions are similar to the installation procedure:Блок кода title на ecss1 sudo dpkg-reconfigure ecss-dns-env
- Update the ecss-user package:
Подсказка When updating, you need to apply new configuration files (confirm with -Y).
Блок кода title на ecss1 sudo apt install ecss-user
- Update the ecss-utils package:
Блок кода title на ecss1 sudo apt install ecss-utils
Раскрыть title In case of using ELM licensing Install the License Provider package:
Блок кода title на ecss2 sudo apt install ecss-license-provider
При установке пакета ecss-license-provider будут заданы вопросы:
Вопросы Ответы Примеры Адрес для соединения с License Provider:
License Provider listen ip:0.0.0.0 (значение по умолчанию) Порт для соединения c License Provider:
License Provider listen port:4321 (значение по умолчанию) Выберите уровень логирования:
Log level:info (значение по умолчанию),
возможные варианты: debug, error, infoКлюч-имя кластера резервирования:
License Provider cluster key:указать уникальное имя
ecss-lm-cluster (значение по умолчанию)Подсказка Менеджеры с одинаковыми именами попытаются собраться в кластер и резервировать друг друга. Какие службы должны быть перезапущены? ecss-license-provider.service (значение по умолчанию)
Данные сохраняются в файле /etc/ecss/ecss-license-provider/config.env:
Без форматирования ECSS_LM_HOST=0.0.0.0 ECSS_LM_PORT=4321 ECSS_LM_LOG_LEVEL=info RELEASE_COOKIE=ecss-abf-lm-cluster
Конфигурация License Provider (LP)
Сервис ecss-license-provider использует два конфигурационных файла: /etc/ecss/ecss-license-provider/config.env и /etc/ecss/ecss-license-provider/config.yaml.
В файл config.env информация сохраняется в момент установки пакета ecss-license-provider.
Config.yaml файл содержит основные настройки для подключения к ELM-серверу, откуда брать лицензии, какие лицензии, и куда их потом передавать, все это нужно сконфигурировать вручную.
Для заполнения данных полей откройте файл конфигурации ecss-elm-adapter используемого в версии 3.17 /etc/ecss/ecss-elm-adapter/config.env:Блок кода title информация в файле после установки elm_addresses: [] licenses: [] ecss_nodes: []
Блок кода title на ecss2 сat /etc/ecss/ecss-elm-adapter/config.env ELM_HOST=elm.eltex-co.ru ELM_PORT=8099 ECSS_PRODUCT_ID=ECSS2000000 ECSS_LICENSE_KEY=ssw987654 LOG_LEVEL=info LICENCE_FAIL_TIMER_SECONDS=10 LICENCE_PULL_TIMER_SECONDS=360
В поле elm_adresses нужно прописать список серверов ELM, к которым мы хотим подключаться для получения лицензий. Первый адрес в списке используется как основной. Дополнительные строки с адресами работают как резерв.
пример:
- "elm.eltex-co.ru:8099"
- "192.168.111.22:8099"
- "elm-3.eltex.loc:8099"
Дальше задаются сами лицензии в поле licenses.- id может быть любой, главное чтоб был уникальный у каждой лицензии. Влияет только на адрес лицензии на самом License Provider (например 0, 1, 2, 3).
- kind. Для SSW поддерживается только SSW (заглавными буквами).
- type выбирается как elm, если запрашивать данную лицензию нужно с ELM-сервера. Если нужно использовать файловую лицензию SSW, то тип выбирается как ecss_license.
- при elm типе необходимо задать поля license_key и product_id для идентификации лицензии.
- при ecss_license типе задается поле license, содержащее ключ статичной лицензии.
Примечание Параметры license_key = ECSS_LICENSE_KEY и product_id = ECSS_PRODUCT_ID должны быть согласованы с данными, ранее загруженными на ELM-сервере.
Блок ecss_nodes.
В нем нужно задать данные сервисов, которые будут получать лицензию. Сервис задается тремя параметрами:
- id - идентификатор сервиса. В случае с SSW должен совпадать с ECSS_ID лицензируемого SSW.
- kind - тип лицензируемого сервиса. По аналогии с блоком лицензий, поддерживаются типы SSW и AUP. Для SSW поддерживается только SSW.
- license_id - идентификатор лицензии, которая будет отправляться на данный сервис. Соответствует идентификаторам лицензии из блока licenses.
Примечание Два SSW с разными ECSS_ID не могут получить одну и ту же лицензию, конфигурация с таким распределением будет помечена некорректной.
Кроме того, два SSW с одинаковыми ECSS_ID не смогут одновременно получать одну и ту же лицензию с одного License Provider, поэтому крайне важно корректно устанавливать свой ECSS_ID и делать его уникальным как минимум в зоне видимости используемого License Provider.Подсказка Формат ECSS_ID:
Начинается и заканчивается обязательно латинской буквой или цифрой, в теле же могут использоваться точки и тире.Без форматирования [A-Za-z0-9][A-Za-z0-9.-][A-Za-z0-9]
Блок кода title Пример: файла config.yaml на основе данных из файла /etc/ecss/ecss-elm-adapter/config.env elm_addresses: - "elm.eltex-co.ru:8099" licenses: - id: 0 kind: SSW type: elm license_key: "ssw987654" product_id: "ECSS2000000" ecss_nodes: - id: eltex1.test kind: ssw license_id: 0
Выполнить перезагрузку сервиса ecss-license-provider.service для обновления конфигурации из файла /etc/ecss/ecss-license-provider/config.yaml следующей командой:
Блок кода title если кластер, то на обоих хостах sudo systemctl restart ecss-license-provider.service
- Выполните обновление пакета ecss-node:
Блок кода title на ecss1 sudo apt install ecss-node
Во время установки будет предложено настроить параметры, необходимые для формирования конфигурационных файлов, примеры ответов следует ниже.
Вопросы ecss-node Ответы для ecss1 Пример Cookie для ноды core:
ecss-core (значение по умолчанию)
Подсказка Рекомендуется заменить на уникальное значение
Cookie для ноды ds:
ecss-ds (значение по умолчанию)
Подсказка Рекомендуется заменить на уникальное значение
Cookie для ноды mediator:
ecss-mediator (значение по умолчанию)
Подсказка Рекомендуется заменить на уникальное значение
Cookie для ноды pa-sip:
ecss-pa-sip (значение по умолчанию)
Подсказка Рекомендуется заменить на уникальное значение
Cookie для ноды mycelium:
ecss-mycelium (значение по умолчанию)
Подсказка Рекомендуется заменить на уникальное значение
Cookie для ноды sorm:
ecss-sorm (значение по умолчанию)
Подсказка Рекомендуется заменить на уникальное значение
Использовать текущую версию файла настройки?
No (значение по умолчанию)
Подсказка При обновлении нужно применить новые конфигурационные файлы (подтверждением -Y).
- Включите ноды.
Включить сервисы ssw следующими командами:Блок кода title на ecss1 sudo systemctl unmask ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
Блок кода title на ecss1 sudo systemctl enable ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
- Запуск SSW на ecss1. Запустите следующие сервисы:
ecss-mycelium
ecss-dsБлок кода title на ecss1 sudo systemctl start ecss-mycelium
ecss-coreБлок кода title на ecss1 sudo systemctl start ecss-ds
ecss-mediatorБлок кода title на ecss1 sudo systemctl start ecss-core
Блок кода title на ecss1 sudo systemctl start ecss-mediator
Подсказка Если лицензия поддерживает СОРМ3, то запустить также сервис ecss-sorm.
Блок кода title на ecss1 sudo systemctl start ecss-sorm
Предупреждение Пока не следует запускать PA-SIP!
- Проверьте статус сервисов, для этого выполните в CoCon команду system-status:
Без форматирования title выполняется в CoCon /system-status Checking... ┌─┬───────────────┬────────────────────────┬───────────────┬────────────┬──────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes│Uptime│ ├─┼───────────────┼────────────────────────┼───────────────┼────────────┼──────┤ │ │core1@ecss1 │ecss-core-3.18.0.271 │core1@ecss1 │not running │14m 4s│ │ │ds1@ecss1 │ecss-ds-3.18.0.271 │ds1@ecss1 │ds1@ecss1 │14m 4s│ │ │md1@ecss1 │ecss-mediator-3.18.0.271│md1@ecss1 │md1@ecss1 │14m 4s│ │ │mycelium1@ecss1│ecss-mycelium-3.18.0.271│mycelium1@ecss1│not running │14m 4s│ │ │sorm1@ecss1 │ecss-sorm-3.18.0.271 │sorm1@ecss1 │not running │14m 5s│ └─┴───────────────┴────────────────────────┴───────────────┴────────────┴──────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────────┬────────────┬───────────┬───────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────────┼────────────┼───────────┼───────────┤ │ core1@ecss1 │ msr.ecss1 │ 3.17.1.1.7 │ connected │ 00:43:03 │ └─────────────┴───────────┴────────────┴───────────┴───────────┘
- Режимы лицензирования.
Раскрыть title В случае использования файлового лицензирования Информация title В случае использования файлового лицензирования Никаких дополнительных действий выполнять не требуется.
Без форматирования /cluster/storage/ds1/licence/list-licence ┌──┬───────────────────┬────────────────┬──────┬────────────────────────────────────────────┬────────────────────┬────────────┐ │Id│Creation date(UTC) │ SSW ID │Active│ Description │Expiration date(UTC)│ Time left │ ├──┼───────────────────┼────────────────┼──────┼────────────────────────────────────────────┼────────────────────┼────────────┤ │1 │31.10.2025 14:16:00│ECSS 010070 │* │Eltex SC softswitch │31.12.2026 23:59:59 │224d 21h 31m│ │0 │ │ECSS DEFAULT │ │Default licence │ │ │ └──┴───────────────────┴────────────────┴──────┴────────────────────────────────────────────┴────────────────────┴────────────┘
Раскрыть title В случае использования ELM лицензирования Выполнить конфигурацию подключения SSW к License Provider следующей командой в CoCon, (в примере License Provider установлен на хосте ecss1, IPadd хостов 10.0.10.41. Значение порта из файла /etc/ecss/ecss-license-provider/config.env по умолчанию 4321):
Блок кода title выполняется в CoCon /system/licence/manager/set --hosts [https://10.0.10.41:4321]
После выполнения проверить статус подключения командой:
Блок кода title выполняется в CoCon /system/licence/manager/show-status ┌───────────────────────┬───────┬─────┐ │ Host │Current│Alive│ ├───────────────────────┼───────┼─────┤ │https://10.0.10.41:4321│* │true │ └───────────────────────┴───────┴─────┘
Хост должен иметь статус alive=true. И быть «current».
- Current - отображает к какому хосту подключён SSW. Если есть подключение, указывается *, если нет - ничего не указано.
- Alive - отображает статус доступности хоста (healthcheck).
Информация title Подключение к License Manager Отсутствие подключения к License Provider \ ELM будет равноценно отсутствию доступа к токену, что приведёт к критическим авариям, переходу в аварийный режим по истечении которого, если связь не будет восстановлена, система перейдёт на Default-лицензию.
Данное поведение применимо только при работе в elm-режиме.
Если статус к одному из хостов License Provider показан current, можно посылать запрос на загрузку лицензии на SSW командой:
Блок кода title выполняется в CoCon /cluster/storage/ds1/licence/request
Блок кода title type=elm /cluster/storage/ds1/licence/request Licence received [******* ] 6s 2ms Success: Licence parameters applied
Блок кода title type=elm /cluster/storage/ds1/licence/list-licence ┌──┬───────────────────┬────────────┬──────┬────────────────┬────────────────────┬────────────────────┬─────────┐ │Id│Creation date(UTC) │ SSW ID │Active│ Description │Comm. Exp. Date(UTC)│Expiration date(UTC)│Time left│ ├──┼───────────────────┼────────────┼──────┼────────────────┼────────────────────┼────────────────────┼─────────┤ │1 │14.04.2026 11:18:34│ECSS2000000 │* │ECSS ELM License│09.04.2027 16:26:34 │06.06.2026 10:49:12 │1d 6h 59m│ │0 │01.01.1990 00:00:00│ECSS DEFAULT│ │Default licence │ │ │ │ └──┴───────────────────┴────────────┴──────┴────────────────┴────────────────────┴────────────────────┴─────────┘
- Обновление пакета ecss-restfs.
Подсказка Принять все новые конфигурационные файлы, выбирая Y. Блок кода title на ecss1 sudo apt install ecss-restfs
- Обновление пакета ecss-media-server.
Выполните обновление:Предупреждение Media Server анализирует конфигурацию в файлах находящихся в директории /etc/ecss/ecss-media-server/. В версии 3.17 реализована новая функция контроля приоритетности кодеков. Если по какой то причине в нескольких файлах присутствует секция "codec", в которой несколько раз прописывается один и тот же кодек, то после обновления возникнет конфликт, и Media Server работать не будет.
Поэтому в конфигурационных файлах одного Media Server не должно быть конфликтов по приоритетам кодеков (запись об одном кодеке должна быть одна и не повторяться в других файлах). Решение, на какие именно фалы требуется сконфигурировать, остается на усмотрение администратора системы.
Подсказка Принять все новые конфигурационные файлы, выбирая Y.
Актуализируйте конфигурацию:Блок кода title на ecss1 sudo apt install ecss-media-server
Блок кода title на ecss1 sudo dpkg-reconfigure ecss-media-server
- Обновление пакета ecss-media-resources:
Блок кода title на ecss1 sudo apt install ecss-media-resources
- Обновление пакета ecss-web-conf
Блок кода title на ecss1 sudo apt install ecss-web-conf
Раскрыть title Обновление пакетов опциональных сервисов Обновление пакета ecss-teleconference-ui
Блок кода title на ecss1 sudo apt install ecss-teleconference-ui
Обновление пакета ecss-crm-server
Блок кода title на ecss1 sudo apt install ecss-crm-server
Обновление пакета ecss-cc-ui
Блок кода title на ecss1 sudo apt install ecss-cc-ui
Обновление пакета ecss-call-api
Блок кода title на ecss1 sudo apt install ecss-call-api
Обновление пакета ecss-peeper-client
Блок кода title на ecss1 sudo apt install ecss-peeper-client
- Запустите ecss-pa-sip :
Проверьте статус сервисов командой /system-status :Блок кода title на ecss1 sudo systemctl start ecss-pa-sip
Выполните проверку переезда активных регистраций на обновленный хост. Для этого выполните контроль зарегистрированных абонентов на SSW. Выполните команду в CoCon:Блок кода title выполняется в CoCon /system-status Checking... ┌─┬───────────────┬────────────────────────┬───────────────┬────────────┬───────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes│Uptime │ ├─┼───────────────┼────────────────────────┼───────────────┼────────────┼───────┤ │ │core1@ecss1 │ecss-core-3.18.0.271 │core1@ecss1 │not running │54m 27s│ │ │ds1@ecss1 │ecss-ds-3.18.0.271 │ds1@ecss1 │ds1@ecss1 │54m 27s│ │ │md1@ecss1 │ecss-mediator-3.18.0.271│md1@ecss1 │md1@ecss1 │54m 27s│ │ │mycelium1@ecss1│ecss-mycelium-3.18.0.271│mycelium1@ecss1│not running │54m 27s│ │ │sip1@ecss1 │ecss-pa-sip-3.18.0.271 │sip1@ecss1 │sip1@ecss1 │54m 27s│ │ │sorm1@ecss1 │ecss-sorm-3.18.0.271 │sorm1@ecss1 │not running │54m 27s│ └─┴───────────────┴────────────────────────┴───────────────┴────────────┴───────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────────┬──────────┬───────────┬───────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────────┼──────────┼───────────┼───────────┤ │ core1@ecss1 │ msr.ecss1 │ 3.18.0.7 │ connected │ 00:01:17 │ └─────────────┴───────────┴──────────┴───────────┴───────────┘
Блок кода title выполняется в CoCon /domain/test_domain/sip/user/registered sip * 450 make users list ... [**********************************************************************] 28mks 450 users information read ... [**********************************************************************] 1ms Executed on the sip1@ecss1 ┌───────────────┐ │ elements: 436 │ └───────────────┘
- После выполнения обновления проверьте работу всех сервисов SSW.
Якорь Второй вариант Второй вариант
Второй вариант
| Второй вариант | |
| Второй вариант |
Исходные данные
На момент установки использовать временные IP адреса (в примере 10.0.10.51/10.0.20.51). На последних шагах временные адреса будут заменены на реальные IP адреса SSW версии 3.17 (в примере 10.0.10.41/10.0.20.41).
| Раскрыть | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
По техническому заданию требуется определить аппаратную платформу.
Включение в сеть Топологию включения сервера в сеть для обеспечения резервирования рекомендуется делать с использованием 2-х коммутаторов.
Рисунок 1 — Схема организации связи Вариант 1. Схема active-backup Коммутаторы связаны между собой в erps-кольцо. Все 4 физических сетевых интерфейса объединяются в 1 агрегированный линк (bond). Агрегация портов сервера настраивается в режиме active-backup, т.е. в работе всегда находится только 1 сетевой интерфейс. Сетевые интерфейсы сервера попарно включены в коммутаторы, на которых агрегация портов (port-channel) также настраивается в режиме active-backup. Например, eth1 и eth2 включаются в первый коммутатор, а eth3 и eth4 — во второй. Вариант 2. Схема LACP Коммутаторы связаны между собой в стек. Стек должен логически работать как один коммутатор, способный обеспечивать агрегацию портов в режиме LACP между разными физическими коммутаторами. Пример — коммутаторы MES3124 со специализированной прошивкой. Все 4 физических сетевых интерфейса также объединяются в 1 агрегированный линк (bond). Агрегация портов сервера настраивается в режиме 802.3ad. Создаются агрегированные группы сетевых карт с одинаковой скоростью и дуплексом. При таком объединении передача задействует все каналы в активной агрегации согласно стандарту IEEE 802.3ad. Выбор, через какой интерфейс отправлять пакет, определяется политикой. По умолчанию это XOR-политика, можно использовать «xmit_hash» политику. Подробнее в разделе Приложение Е. Netplan. Требования:
Сетевые интерфейсы сервера также попарно включены в коммутаторы, на которых агрегация портов (port-channel) настраивается в режиме LACP. Например, eth1 и eth2 включаются в первый коммутатор (port-channel 1), а eth3 и eth4 — во второй (port-channel 2). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Установка ОС
| Раскрыть | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Установка SSW ECSS10 состоит из 2-х основных частей :
Подготовительный этапВ этом разделе приведено описание инсталляции операционной системы, а также необходимых и дополнительных пакетов. Система ECSS-10 версии 3.17 работает под управлением ОС Ubuntu 22.04. Предварительные требования
Для установки ОС необходимо выполнить следующее:
Для работы системы необходимо как минимум 256 Gb свободного пространства. На серверах системы необходимо настроить параметр "hostname". На всех серверах системы желательно указать одинаковое имя пользователя (любое, кроме ssw). Лицензия ECSS-10 привязывается к ключу eToken/ruToken и к имени компьютера (hostname). Системный пользователь ssw создается при инсталляции пакета ecss-user.
|
...
| Раскрыть | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||
Настройка сети Согласно параметрам, заданным в техническом задании, выполним сетевые настройки. В данном примере считается, что необходимая операционная система уже установлена. Рекомендуется разделять трафик, используемый в разных целях. Например, трафик управления и трафик VoIP. Для этого создаются 2 или более vlan. При небольшой нагрузке для простоты можно обойтись и одним vlan, но это будет в будущем доставлять неудобства при снятии дампов трафика и его анализе. В соответствии с техническим заданием на vlan настраиваются IP-адреса самого хоста, шлюзы, DNS и маршрутизация в другие сети. В данном примере согласно ТЗ будем использовать адреса:
Внутри серверной платформы существует адресная структура и используются внутренние адреса для взаимодействия между подсистемами (нодами) в кластере. Например, внутренний адрес для кластера на одном сервере 127.0.0.1, при этом ядро (ecss-core) взаимодействует с сервером обработки мультимедиа-данных (ecss-media-server). Их взаимодействие происходит с использованием одного и того же адреса, но у каждой программной части свой транспортный порт: ecss-core — 5000, ecss-msr — 5040. Для всех нод кластера определяется единый адрес для обращения к базе данных, например адрес 127.0.0.1. Таким образом, выполняется условие единообразия, при котором все ноды кластера имеют полностью одинаковые данные о текущем состоянии динамических составляющих программного коммутатора (например, история вызовов). Подготовка сетевых интерфейсов системыСогласно ТЗ, система имеет 4 сетевых интерфейса. Информацию об их состоянии можно посмотреть с помощью команды ifconfig или ip a:
Сначала настраиваются сетевые интерфейсы. В Ubuntu 22 для их настройки используется утилита netplan. Данная утилита позволяет настроить сетевую конфигурацию и затем загрузить ее в систему с помощью сетевого менеджера networkd или NetworkManager.
В конфигурациях для каждого хоста в первую очередь мы объявляем секцию ethernets, в которой описываются существующие в системе ethernet-интерфейсы, используемые в дальнейшем. Для каждого интерфейса необходимо отключить использование динамического распределения адресов (DHCP). Далее настраиваются vlan, на которых опционально определяются шлюзы для связи с внешним миром и адреса DNS-серверов, а также непосредственно IP-адреса для каждого интерфейса.
Пример настройки файла ecss_netplan.yaml для варианта включения active-backup
Следующие настройки bonds обязательны для сервера ECSS, чтобы схема работала верно: mode: active-backup - задаёт режим работы, когда один из линков выбирается активным, а остальные остаются в резерве;
Применим установленные параметры командой:
На серверах системы необходимо настроить параметр "hostname". На всех серверах системы желательно указать одинаковое имя пользователя (любое, кроме ssw). Лицензия ECSS-10 привязывается к ключу eToken/ruToken и к имени компьютера (hostname), поэтому необходимо использовать стандартные значения. Системный пользователь ssw создается при инсталляции пакета ecss-user.
Указать имя хоста: ecss1 в файле /etc/hostname:
Указать реальный Ipadd и имя хоста используемое в настоящий момент (для примера 10.0.10.51 ecss1) в файле /etc/hosts:
|
"Оптимизация" операционной системы
Выставить параметры ОС в режим производительности
Используем утилиту cpufrequtils.
...
| Блок кода | ||
|---|---|---|
| ||
sudo systemctl daemon-reload |
Отключить SWAP
Ubuntu сервер SSW работает в реальном масштабе времени , поэтому все необходимые данные должны находится в оперативной памяти, использование файла подкачки (swap-файл - /swap. img) может привести к увеличению времени обработки вызовов приложения SSW ECSS10 , что недопустимо. Swap - отключаем.
Выполнить последовательно три команды:
...
| Без форматирования | ||
|---|---|---|
| ||
free -h
total used free shared buff/cache available
Mem: 3,9G 110M 3,2G 820K 535M 3,5G
Swap: 0B 0B 0B
|
Установка часового пояса
При инсталляции Ubuntu-22 не предлагается установить часовой пояс (по умолчанию — UTC). Его нужно установить вручную (для корректной работы системы тарификации, работ по расписанию и т. д.), например:
| Блок кода | ||
|---|---|---|
| ||
sudo timedatectl set-timezone Asia/Novosibirsk |
Улучшение работы высоконагруженных серверов
Улучшить работу высоконагруженных серверов можно увеличив лимит открытых файлов.
...
| Предупреждение | ||
|---|---|---|
| ||
| Установку пакетов требуется делать НЕ из-под пользователя ssw. |
Обновление программного обеспечения операционной системы
- Для установки системы ECSS-10 необходимо добавить репозиторий ELTEX:
Блок кода language bash title на новом ssw sudo sh -c "echo 'deb [arch=amd64] http://archive.eltex.org/ssw/jammy/3.18 stable main extras external' > /etc/apt/sources.list.d/eltex-ecss10-stable.list"
Далее необходимо выполнить импорт ключа командой:
Блок кода language bash title на новом ssw sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 33CB2B750F8BB6A5
Перед началом установки необходимо обновить ОС:
Блок кода language bash title на новом ssw sudo apt update
Примечание Если вы видите такое сообщение системы:
Без форматирования W: http://archive.eltex.org/ssw/jammy/3.18/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Выполните следующую команду:
Блок кода title на новом ssw sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d
Блок кода language bash title на новом ssw sudo apt upgrade
Установка и настройка программного обеспечения
| Предупреждение | ||
|---|---|---|
| ||
┌ версия ПО ECSS. Сейчас в заявке на сертификацию она заявлена как 3. | Мы её менять не будем до следующей сертификации или │ выпуска принципиально новой версии системы. │ │ ┌ версия System Release. Общая версия для всех компонент входящих в конкретный релиз. | | Меняем её централизовано, когда
│ │ принимаем решение о выпуске нового релиза. Релизы между собой обычно не совместимы.
┌─┴┐ ┌──┴─┐
ECSS.SysRel.SubMaj.SubMin
└──┬─┘ └──┬─┘
│ └ версия Subsystem minor. Минорную версию подсистемы устанавливает разработчик подсистемы. | Минорную версию
│ меняем при добавлении патча. Как правило, минорные версии в рамках одной мажорной версии
│ совместимы между собой и отличаются в рамках конкретных патчей.
│
└ версия Subsystem major. Мажорная версия устанавливается разработчиком подсистемы. Мажорную версию подсистемы необходимо менять при внесении в подсистему существенных изменений. Утилита установки пакетов APT анализирует версию пакета слева направо, для примера мы имеем пакет 14.14.7.7 , В случае если для конкретной ситуации требуется перейти с версии 14.14.7.7 на версию 14.14.7.9 , стандартная команда → sudo apt upgrade , нам не поможет, так как будет выбран самый новый пакет, в данной ситуации нам необходимо в явном виде указать какую версию пакета мы хотим установить, в данном примере мы должны выбрать команду → sudo apt install имя пакета=14.14.7.9 . Обычно это необходимо для тестирования определенного патча, для стандартных обновлений достаточно выбора привычной команды установки /обновления пакета |
...
| Примечание | |||||
|---|---|---|---|---|---|
Перед началом установки пакетов ecss , нужно убедиться в соответствии полосы пропускания СПД необходимым требованиям.
Проверить значение следующих параметров: |
Настройка пакета ecss-dns-env
Выполнить следующую команду:
...
| Предупреждение | |||||
|---|---|---|---|---|---|
| |||||
В случае последующей коррекции IP-адресов следует использовать команду:
|
Установка Postgres
| Предупреждение | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
Перед установкой
|
...
| Раскрыть | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Установить пакет License Provider:
При установке пакета ecss-license-provider будут заданы вопросы:
Данные сохраняются в файле /etc/ecss/ecss-license-provider/config.env:
Конфигурация License Provider (LP) Сервис ecss-license-provider использует два конфигурационных файла: /etc/ecss/ecss-license-provider/config.env и /etc/ecss/ecss-license-provider/config.yaml. В файл config.env информация сохраняется в момент установки пакета ecss-license-provider. Config.yaml файл содержит основные настройки для подключения к ELM-серверу, откуда брать лицензии, какие лицензии, и куда их потом передавать, все это нужно сконфигурировать вручную.
В поле elm_adresses нужно прописать список серверов ELM, к которым мы хотим подключаться для получения лицензий. Первый адрес в списке используется как основной. Дополнительные строки с адресами работают как резерв.
Блок ecss_nodes. В нем нужно задать данные сервисов, которые будут получать лицензию. Сервис задается тремя параметрами:
Выполнить перезагрузку сервиса ecss-license-provider.service для обновления конфигурации из файла /etc/ecss/ecss-license-provider/config.yaml следующей командой:
|
Установка ecss-node
Установка обязательного пакета ecss-node включает в себя установку и первоначальную настройку основных подсистем.
...
| Без форматирования | ||
|---|---|---|
| ||
/system-status Checking... ┌─┬───────────────┬─────────────────────────┬───────────────┬────────────┬──────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes│Uptime│ ├─┼───────────────┼─────────────────────────┼───────────────┼────────────┼──────┤ │ │core1@ecss1 │ecss-core-3.18.0.271 │core1@ecss1 │not running │3m 55s│ │ │ds1@ecss1 │ecss-ds-3.18.0.271 │ds1@ecss1 │ds1@ecss1 │4m 40s│ │ │md1@ecss1 │ecss-mediator-3.18.0.271 │md1@ecss1 │md1@ecss1 │3m 50s│ │ │mycelium1@ecss1│ecss-mycelium-3.18.0.271 │mycelium1@ecss1│not running │5m 28s│ │ │sip1@ecss1 │ecss-pa-sip-3.18.0.271 │sip1@ecss1 │sip1@ecss1 │3m 45s│ │ │sorm1@ecss1 │ecss-sorm-3.18.0.271 │sorm1@ecss1 │not running │1m 55s│ └─┴───────────────┴─────────────────────────┴───────────────┴────────────┴──────┘ |
Режимы лицензирования.
Лицензирование с использованием файловой лицензии
| Раскрыть | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
|
Лицензирование с использованием ELM сервиса
| Раскрыть | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
Выполнить конфигурацию подключения SSW к License Provider следующей командой в CoCon, (в примере License Provider установлен на хосте ecss1, IPadd хостов 10.0.10.51. Значение порта из файла /etc/ecss/ecss-license-provider/config.env по умолчанию 4321):
После выполнения проверить статус подключения командой:
Хост должен иметь статус alive=true. И быть «current».
Если статус к одному из хостов License Provider показан current, можно посылать запрос на загрузку лицензии на SSW командой:
|
Установка пакетов ecss-restfs, ecss-media-server, ecss-web-conf
Далее устанавливаются пакеты ecss-restf затем ecss-media-server, ecss-media-resources, , ecss-web-conf и другие в любом порядке:
ecss-restfs
| Блок кода | ||||
|---|---|---|---|---|
| ||||
sudo apt install -y ecss-restfs |
...
| Блок кода | ||
|---|---|---|
| ||
abf@ecss1:/var/lib/ecss/restfs/domain$ ls -la /var/lib/ecss/restfs/domain итого 8 drwxr-xr-x 2 www-data www-data 4096 апр 22 18:21 . drwxr-xr-x 7 www-data www-data 4096 мая 28 15:07 .. abf@ecss1:/var/lib/ecss/restfs/domain$ sudo rsync -a abf@10.0.10.10:/var/lib/ecss/restfs/domain/ /var/lib/ecss/restfs/domain/ abf@ecss1:/var/lib/ecss/restfs/domain$ ls -la test_domain/records/2026_05_28 итого 610 drwxrwxrwx 2 www-data www-data 4096 мая 28 14:56 . drwxrwxrwx 3 www-data www-data 4096 мая 28 14:27 .. -rw-r--r-- 1 www-data www-data 71892 мая 28 14:27 2026-05-28_14-27-02_t_42009-42007.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:27 2026-05-28_14-27-02_t_42009-42007.pcm.meta -rw-r--r-- 1 www-data www-data 71892 мая 28 14:31 2026-05-28_14-31-19_o_42007-42009.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:31 2026-05-28_14-31-19_o_42007-42009.pcm.meta -rw-r--r-- 1 www-data www-data 63904 мая 28 14:55 2026-05-28_14-55-24_o_42007-42009.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:55 2026-05-28_14-55-24_o_42007-42009.pcm.meta -rw-r--r-- 1 www-data www-data 39940 мая 28 14:55 2026-05-28_14-55-31_o_42007-42009.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:55 2026-05-28_14-55-31_o_42007-42009.pcm.meta -rw-r--r-- 1 www-data www-data 15976 мая 28 14:55 2026-05-28_14-55-37_o_42007-42009.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:55 2026-05-28_14-55-37_o_42007-42009.pcm.meta -rw-r--r-- 1 www-data www-data 79880 мая 28 14:55 2026-05-28_14-55-48_o_42007-42009.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:55 2026-05-28_14-55-48_o_42007-42009.pcm.meta -rw-r--r-- 1 www-data www-data 55916 мая 28 14:56 2026-05-28_14-55-59_o_42007-42009.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:55 2026-05-28_14-55-59_o_42007-42009.pcm.meta -rw-r--r-- 1 www-data www-data 47928 мая 28 14:56 2026-05-28_14-56-04_o_42007-42009.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:56 2026-05-28_14-56-04_o_42007-42009.pcm.meta -rw-r--r-- 1 www-data www-data 31952 мая 28 14:56 2026-05-28_14-56-28_t_42009-42007.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:56 2026-05-28_14-56-28_t_42009-42007.pcm.meta -rw-r--r-- 1 www-data www-data 31952 мая 28 14:56 2026-05-28_14-56-37_t_42009-42007.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:56 2026-05-28_14-56-37_t_42009-42007.pcm.meta -rw-r--r-- 1 www-data www-data 95856 мая 28 14:56 2026-05-28_14-56-42_t_42009-42007.pcm -rw-rw-rw- 1 www-data www-data 86 мая 28 14:56 2026-05-28_14-56-42_t_42009-42007.pcm.meta |
ecss-media-server
| Блок кода | ||||
|---|---|---|---|---|
| ||||
sudo apt install -y ecss-media-server |
...
| Подсказка | ||
|---|---|---|
Вы увидите сообщение:
Мы указали рабочие IP адреса для media сервиса, а они пока закреплены за старым ecss1. После переключения IP адресов сервис запустится автоматически. |
ecss-web-conf
| Блок кода | ||
|---|---|---|
| ||
sudo apt install ecss-web-conf |
...
Проверьте возможность подключения к веб-интерфейсу http://10.0.10.51, пользователь/пароль — admin/password. В настоящий момент не все функции будут доступны, но веб-интерфейс должен работать, а вход в систему — быть успешным.
Отключение SSW версии 3.17
Для отключения старого SSW версии 3.17 выполнить следующие команды:
Отключение сервисов
| Блок кода | ||
|---|---|---|
| ||
sudo systemctl mask --now ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm |
Копирование БД Postgres
Скопировать БД Postgres со старого ecss1, для этого выполнить команду:
...
| Блок кода | ||
|---|---|---|
| ||
sudo docker compose -f /srv/ecss/ecss-postgres-bdr-ssw/docker-compose.container.yml start |
Замена IP адресов на старом ecss1
Изменить IP адреса 10.0.10.41/10.0.20.41 на неиспользуемые на сети (для примера на 10.0.10.61/10.0.20.61):
...
| Блок кода | ||
|---|---|---|
| ||
sudo netplan apply |
Переключение нового SSW на рабочие IP адреса
После освобождения рабочих IP адресов со старого SSW можно подключить их к новому SSW. Выполнить команду:
...




