3.14.3 Первоначальная установка системы без резервирования с одним сервером
Исходные данные
Исходные данные
В данном разделе использованы специфичные для данного продукта термины, ознакомиться с ними можно здесь.
Требуется интеграция программного коммутатора 5 класса ECSS - 10 (SSW) на 1 физическом сервере с поддержкой SIP со следующими параметрами на нагрузку:
- Максимальное количество абонентов 15000 (MUL - Max user limit)
- Максимальное количество одновременных соединений 2000 (MCL - Max call limit)
- Резервирование системы не требуется.
- Количество сетевых интерфейсов ethernet - 4.
По техническому заданию требуется определить аппаратную платформу
Таблица 1. Рекомендуемые аппаратные решения
№ | Требования к серверам SSW | Серия аппаратного продукта | ||||
---|---|---|---|---|---|---|
Light | Light+ | Midi | Heavy | Super Heavy | ||
1 | Характеристики системы | |||||
1.1 | Максимальное количество абонентов | 3000 | 5000 | 10000 | 20000 | 40000 |
1.2 | Максимальная нагрузка одновременных соединений class 5 | 500 | 800 | 1500 | 3000 | 6000 |
1.3 | Максимальная нагрузка одновременных соединений class 4 | 1500 | 2400 | 4500 | 9000 | 20000 |
2 | Характеристики сервера | |||||
2.1 | Марка | HP (Lenovo) | HP (Lenovo) | HP (Lenovo) | HP (Lenovo) | HP (Lenovo) |
2.2 | Серия | DL20 Gen10 (SR250) | DL20 Gen10 (SR250)/DL 360 Gen10 (SR530) | DL360 Gen10 (SR530/SR630) | DL360 Gen10 (SR630) | DL 360 Gen10 (SR630) |
2.3 | Процессор | Intel Xeon E-2236 | Intel Xeon E-2276G/Intel Xeon 4214 | Intel Xeon 5220 | Intel Xeon 6240 | Intel Xeon 8268 |
2.4 | Количество процессоров | 1 | 1 | 1 | 2 | 2 |
2.5 | Объем ОЗУ | 8 Gb | 12 Gb | 16 Gb | 24 Gb | 64Gb |
2.6 | HDD | От 3X500 SATA | От 3X500 SATA | От 3x300 Gb SAS (от 10000 rpm) | От 3x600 Gb SAS | От 6x800 Gb SSD, 2x300 Gb M.2 SSD |
2.7 | RAID | No raid board | No raid board | HW Raid, от 1Gb cache+battery | HW Raid, от 1Gb cache+battery | HW Raid, от 2Gb Flash cache, поддержка RAID-5 |
3 | Дополнительные комплектующие сервера (в базовых комплект не входят) | |||||
3.1 | Лицензия на удалённое управление | по желанию | по желанию | + | + | + |
3.2 | Резервный источник питания | по желанию | по желанию | + | + | + |
3.3 | Организация хранилища записей разговоров | Дополнительные HDD объединенные в RAID-5 | Дополнительные HDD объединенные в RAID-5 | Лицензия на HW Raid с поддержкой RAID-5, дополнительные HDD для хранения записей | Лицензия на HW Raid с поддержкой RAID-5, дополнительные HDD для хранения записей | Лицензия на HW Raid с поддержкой RAID-5, дополнительные HDD для хранения записей |
Таблица 2. Пример составления аппаратных требований
№ | Устройство | Требуемый ресурс | Серия аппаратного продукта | |
---|---|---|---|---|
MCL | MUL | |||
1 | Сервер 1 | 2500 | 15000 | Heavy |
После определения по требованиям проекта составляем предварительную сетевую карту
Таблица 3. Пример разнесения составляющих по адресному пространству для одной ноды
№ | Имя сервера (хоста) | Роль | Интерфейс | Адрес | Порт |
---|---|---|---|---|---|
Внешние адреса программного коммутатора | |||||
1 | ecss1 | Адрес сервера | bond2_ecss1_mgm | 10.0.3.237/24 | - |
2 | ecss1 | Адрес протокольного адаптера | bond1_ecss1_pa | 10.0.3.238/24 | - |
Внутренние адреса программного коммутатора | |||||
3 | ecss1 | Адрес ядра (ecss-core) | lo | 127.0.0.1/24 | 5000 |
4 | ecss1 | Адрес медиа - сервера (ecss-media-server (MSR)) | lo | 127.0.0.1/24 | 5040 |
5 | ecss1 | Адрес базы данных MySQL (ecss-mysql) | lo | 127.0.0.1/24 | 3034 |
Рисунок 1 - Схема организации связи
Программный коммутатор устанавливается на базе одной серверной платформы или их группы , у каждого отдельно взятого хоста должен быть задан внешний адрес для возможности обращения и управления в рамках обслуживаемой программным коммутатором сети. Адресный диапазон формируется исходя из количества серверов. В случае, когда программный коммутатор используется на одном хосте ему присваивается один сетевой адрес (например: 10.0.3.237 / 24). Затем планируется адресное пространство под протокольные адаптеры программного коммутатора. Адреса адаптеров являются внешними и следуют после назначенных адресов всех серверов. Например: 10.0.3.237 /24 — адрес сервера, тогда адрес адаптера - 10.0.3.238 /24. 4 сетевых интерфейса объединяются попарно в bonding интерфейсы, другими словами выполняется агрегирование интерфейсов по протоколу LACP. Таким образом интерфейсы eth0 и eth1 объединяются в интерфейс bond1_ecss1_pa.
Внутри серверной платформы существует адресная структура и используются внутренние адреса для взаимодействия между подсистемами (нодами) в кластере. Например: внутренний адрес для кластера на одном сервере: 127.0.0.1 при этом ядро (ecss-core) взаимодействует с сервером обработки мультимедиа данных (ecss-media-server), и их взаимодействие происходит с использованием одного и того же адреса, но у каждой программной части свой транспортный порт: ecss-core — 5000, ecss-msr — 5040.
Для всех нод кластера определяется единый адрес для обращения к базе данных MySQL. Например адрес ecss-mysql 127.0.0.1 Таким образом выполняется условие единообразия, при котором все ноды кластера имеют полностью одинаковые данные о текущем состоянии динамических составляющих программного коммутатора (например история вызовов).
Установка и настройка программного коммутатора
Согласно заданных параметров в техническом задании выполним установку программного коммутатора. В данном примере считается, что уже установлена необходимая операционная система. О том как это сделать, смотрите здесь.
Подготовка сетевых интерфейсов системы
Согласно ТЗ система имеет 4 сетевых интерфейса. О их состоянии можно посмотреть с помощью команды ifconfig или ip a:
eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500 ether 36:10:28:73:63:01 txqueuelen 1000 (Ethernet) eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500 ether 36:10:28:73:63:01 txqueuelen 1000 (Ethernet) eth2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500 ether be:77:ea:52:4d:39 txqueuelen 1000 (Ethernet) eth3: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500 ether be:77:ea:52:4d:39 txqueuelen 1000 (Ethernet) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 |
Настройка начинается с настройки сетевых интерфейсов. В Ubuntu18 для настройки используется утилита netplan.
Данная утилита позволяет настроить сетевую конфигурацию и затем загрузить ее в систему с помощью сетевого менеджера networkd или NetworkManager.
sudo nano /etc/netplan/ecss_netplan.yaml |
Пример настройки файла ecss-netplan.yaml:
Netplan для интерфейсов сервера ecss1 (/etc/netpla/ecss_netplan.yaml) |
---|
# Netplan для хоста ecss1 тестового программного коммутатора |
В конфигурациях для каждого хоста, в первую очередь мы объявляем секцию ethernets, в которой описываются ethernet интерфейсы, существующие в системе, и, которые, будут использоваться в дальнейшем. Важно для каждого интерфейса отключить использование динамического распределения адресов (DHCP).
Следующим разделом описываются агрегированные каналы - bonds. В нашем случае используется режим резрва 1 к 1 (active - backup) при котором второй интерфейс находится в резерве и не используется. Опционально определеяются шлюзы для связи с внешним миром и адреса DNS серверов, а так же непосредственно IP адреса для каждого интерфейса.
ВАЖНО
Обратите внимание, что во время редактирования netplan необходимо соблюдать правила разметки YAML:
- Обязательное наличие двух пробелов перед каждой строкой (кроме network).
- Каждая подсекция дополнительно сдвигается на 2 пробела :
→ Секция |network
→ Подсекция |_'_'bonds:
→ Подсекция описания секции bonds |_'_'_'_'bonded_one:
→ и.т.д |_'_'_'_'...
- Перед знаком ":" нет пробела, после - один пробел.
- Перед знаком "-" количество пробелов такое, как будто начинается новый подраздел, после - один пробел.
Применим установленные параметры командой:
sudo netplan apply |
Выведем настроенные интерфейсы с помощью ifconfig / ip a:
Вывод ifconfig для ecss1 |
---|
bond1_ecss1_pa: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500 |
Обновление программного обеспечения операционной системы
Для установки системы ECSS-10 необходимо добавить репозиторий ЭЛТЕКС:
sudo sh -c "echo "deb [arch=amd64] http://archive.eltex.org/ssw/bionic/3.14 stable main extras external" > /etc/apt/sources.list.d/eltex-ecss10-stable.list" |
Обратите внимание, что требуется указать верную версию операционной системы при добавлении репозитория Eltex. Если установка происходит на Ubuntu 18.04, то необходимо указать bionic как приведено в примере. Однако, если ECSS-10 устанавливается на Astra Linux необходимо указать соответствующие репозитории smolensk:
sudo sh -c "echo "deb [arch=amd64] http://archive.eltex.org/ssw/smolensk/3.14 stable main extras external" > /etc/apt/sources.list.d/eltex-ecss10-stable.list"
sudo sh -c "echo "http://archive.eltex.org astra smolensk smolensk-extras" > /etc/apt/sources.list.d/eltex-ecss10-stable.list"
Далее необходимо выполнить импорт ключа командой:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 33CB2B750F8BB6A5 |
Для обновления ОС необходимо выполнить команды:
sudo aptitude update |
Установка и настройка программного обеспечения
Устанавливаем все предложенные пакеты:
sudo aptitude install dnsmasq ntp tcpdump ssh vlan ethtool htop iotop mc minicom mtr-tiny nmap pptpd pv screen tftpd vim tshark cpanminus gnuplot |
Установка пакета ecss-mysql
Установка начинается с развертывания MySQL сервера и интеграции базы данных ecss-mysql.
Для установки выполняем команду:
sudo aptitude install ecss-mysql |
При инсталляции пакеты будут запрошены следующие данные:
Вопросы | Ответы |
---|---|
Адресная маска для MySQL (IP pattern for MySQL permission) | 127.0.0.% |
Логин пользователя (Login for MySQL root) | root |
Пароль пользователя MySQL (Password for MySQL root) | PASSWORD |
Изменение пути по умолчанию - согласиться с изменением конфигурационного файла для внесения пути до баз данных ecss-mysql введя "Y".
Базы данных mysql, используемых системой ECSS-10, после установки, будут храниться по пути /var/lib/ecss-mysql. Проверяем наличие файлов в папке:
ls -l /var/lib/ecss-mysql/ |
Проверяем, что сервер запущен:
sudo systemctl status mysql ● mysql.service - MySQL Community Server |
Установка пакета ecss-node
Устанавливаем пакет ecss-node
|
При его установке будет предложено настроить конфигурацию:
Вопросы | Ответы |
---|---|
Выключить ежедневные обновления (Do you want turn off apt-daily update ?) | Yes |
Установить настройки по умолчанию для БД (Set DB config to default ?) | Yes |
Использовать настройки NTP для кластера (NTP: Do you want use settings for cluster ?) | No |
Внешний NTP сервер (External NTP servers through a space ) | ntp.ubuntu.com |
Использовать локальный сервер? (NTP: Do you want use local server ? ) | No |
Адреса и маски адресов которые должны иметь доступ к NTP (NTP: Addresses and Masks of Network, which must have access to the ntp through a space) | |
Установить приоритет NTP локального сервера ( NTP: Set stratum for local server) | 5 |
Входной порт для портала абонента (Input port for subscriber portal) | 8080 |
Введите адрес MySQL БД (Input host for MySQL DB) | 127.0.0.1 |
Хост или имя хоста для доступа к данным в бд порталу абонентов (Input host or hostname for ecss_subscribers DB) | sp.mysql.ecss |
Имя пользователя для базы данных портала абонентов (Input username for ecss_subscribers DB) | subscribers |
Пароль для базы данных портала абонентов (Input password for ecss_subscribers DB) | subscribers |
Введите имя домена (виртуальной АТС) по умолчанию (Input default domain name) | d.local |
Введите адрес для доступа из портала абонента (Input IP address or hostname for SSW with http_terminal to connect from subscribers_portal) | 127.0.0.1 |
Порт WEB терминала (Input port SSW http_terminal) | 9999 |
Логин для доступа к WEB терминалу (Input login for SSW http_terminal) | admin |
Пароль для доступа к WEB терминалу (Input password for SSW http_terminal) | PASSWORD |
Адрес входного взаимодействия (Input trike cowboy url) | 127.0.0.1:8086 |
Адрес ecss-core (IP address of core) | 127.0.0.1 |
Установить утилиты для работы с cdr | No |
Установка пакетов ecss-media-server, ecss-restf, ecss-web-conf
Далее устанавливаются пакеты ecss-media-server, ecss-restf, ecss-web-conf и.др в любом порядке:
|
При его установке будет предложено настроить конфигурацию:
Вопросы | Ответы |
---|---|
Создать конфигурацию? ("Create configure") | No |
|
При его установке будет предложено настроить конфигурацию:
Вопросы | Ответы |
---|---|
Использование функции TTS (Use TTS service) | No |
Настройка телефонной книги (Configure phone book) | No |
Настроить сервис определения речи (Configure speech recognition service) | No |
Включить полное логирование restfs (Turn on full debug log restfs) | No |
|
При его установке будет предложено настроить конфигурацию:
Вопросы | Ответы |
---|---|
Указать доменное имя или адрес для базы данных MySQL WEB интерфейса (Input IP address or hostname of MySQL db for web-conf DB) | 127.0.0.1 |
Указать порт для базы данных MySQL WEB интерфейса (Input port of MySQL db for web-conf DB | 3306 |
Указать доменное имя или адрес для подключения к WEB интерфейсу (Input IP address or hostname for ECSS-10 with http_terminal) | 127.0.0.1 |
Указать порт для WEB терминала программного коммутатора (Input port SSW http_terminal) | 9999 |
Указать логин для WEB терминала(Input login for SSW http_terminal) | admin |
Указать пароль для WEB терминала(Input password for SSW http_terminal) | password |
Настройка snpmd.
Настройка snmp описана здесь.
Настройка безопасности. SSH.
Выполняем настройку сервера SSH:
sudo nano /etc/ssh/sshd_config |
Укажем в конфигурационном файле порт и адрес по которому можно обратиться к серверу:
Настройка ssh для ecss1(/etc/ssh/sshd_config) |
---|
# This is the sshd server system-wide configuration file. See # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with Port 2000 <...> |
Перезапустим ssh.
systemctl restart ssh.service |
Настройка начальной конфигурации
Запускаем необходимые сервисы.
ВАЖНО
Перед началом работы проверьте наличие Token в системе.Запускаем пакеты ecss-mycelium и ecss-ds на первом хосте:
sudo systemctl start ecss-mycelium |
Переходим в CLI:
ssh admin@localhost -p 8023 |
Проверяем состояние системы
system-status
|
Далее необходимо установить паспорт и лицензии в систему:
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/licence/set-passport <passport> |
Выходим из cocon выполняем перезагрузку подсистем ecss-mycelium и ecss-ds, а затем подключаем оставшиеся в порядке ecss- core, ecss-pa-sip, ecss-media-server, ecss-restfs, ecss-mediator, ecss-web-conf.
sudo systemctl start ecss-core ecss-pa-sip ecss-mediator ecss-media-server ecss-restfs ecss-web-conf |
Возвращаемся в CoCon.
После устанавливается связь MSR и Core подсистем. Для этого прописывается команда:
admin@[mycelium1@ecss1]:/$ /system/media/resource/declare core1@ecss1 iface MSR.ecss1 localhost default local true |
Для проверки выполняем команду system-status и видим вывод:
admin@[mycelium1@ecss1]:/$ system-status |
Производим настройку адаптера SIP согласно техническому заданию. Определяем группу IP адресов (IP-set)
admin@[mycelium1@ecss1]:/$ /cluster/adapter/sip1/sip/network/set ip_set test_set node-ip node = sip1@ecss1 ip = 10.0.3.238 |
Далее создаем домен и присваиваем ему созданную группу (IP-set) настроек SIP адапетера:
admin@[mycelium1@ecss1]:/$ domain/declare test_domain --add-domain-admin-privileges --add-domain-user-privileges |
После создания домена настраиваем: