...
| Раскрыть | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
Network configuration We will configure the network according to the parameters specified in the technical specifications. In this example, we assume that the required operating system is already installed. It is recommended to separate traffic used for different purposes – for example, management traffic and VoIP traffic. To do this, create two or more VLANs. With a light load, you can get by with a single VLAN for simplicity, but this will cause inconvenience in the future when capturing and analyzing traffic dumps. In accordance with the technical specifications, the host’s IP addresses, gateways, DNS, and routing to other networks are configured on the VLANs. In this example, according to the technical specifications, we will use the following addresses:
Within the server platform, there is an addressing structure, and internal addresses are used for communication between subsystems (nodes) in the cluster. For example, the internal address for a cluster on a single server is 127.0.0.1, and the core (ecss-core) communicates with the multimedia data processing server (ecss-media-server). They communicate using the same address, but each software component has its own transport port: 5000 for ecss-core, 5040 for ecss-msr. A single address is defined for all cluster nodes to access the database, for example, 127.0.0.1. This ensures consistency, whereby all cluster nodes have exactly the same data about the current state of the software switch’s dynamic components (for example, call history). Preparing system's network interfacesAccording to technical specifications, the system has 4 network interfaces. Information about their state can be looked up using the ifconfig or ip a command:
First, configure the network interfaces. In Ubuntu 22, the netplan utility is used to configure them. This utility makes it possible to configure the network settings and then load them into the system using the "networkd" or "NetworkManager" network manager.
In the configurations for each host, we first define the ethernets section, which describes the Ethernet interfaces present in the system that will be used later. For each interface, you must disable dynamic address assignment (DHCP). Next, configure the VLANs, where you can optionally specify gateways for communication with the outside world and DNS server addresses, as well as the IP addresses for each interface.
Example of configuring the ecss_netplan.yaml file for the “active-backup” option
The following bonds settings are required for the ECSS server to ensure that configuration works correctly: mode: active-backup – specifies the operating mode in which one of the links is selected as active, while the others remain in standby;
Apply the configured settings using the following commandПрименим установленные параметры командой:
На серверах системы необходимо настроить параметр "hostname". На всех серверах системы желательно указать одинаковое имя пользователя (любое, кроме ssw). Лицензия ECSS-10 привязывается к ключу eToken/ruToken и к имени компьютера (hostname), поэтому необходимо использовать стандартные значения. Системный пользователь ssw создается при инсталляции пакета ecss-user.
On the system’s servers, you must configure the “hostname” parameter. It is recommended to use the same username (any name except ssw) on all system servers. The ECSS-10 license is tied to the eToken/ruToken key and the computer name (hostname), so you must use the standard values. The ssw system user is created during installation of the ecss-user package.
Specify the hostname as ecss1 in the /etc/hostname fileУказать имя хоста: ecss1 в файле /etc/hostname:
Указать реальный Ipadd и имя хоста используемое в настоящий момент (для примера Specify the actual IP address and the hostname currently in use (for example, 10.0.10.51 ecss1) в файле in the /etc/hosts file:
|
"
...
Optimization" of the operating system
Set the OS settings to performance mode
Use the cpufrequtils utility
...
Выставить параметры ОС в режим производительности
Используем утилиту cpufrequtils.
| Блок кода | ||
|---|---|---|
| ||
sudo apt install cpufrequtils |
по умолчанию после установки Ubuntu используется режим "ondemand" - "по запросу" (производительность CPU по запросу приложений, экономит электроэнергию, но снижает производительностьBy default, after installing Ubuntu, the “ondemand” mode is used (CPU performance is adjusted based on application requests, which saves power but reduces performance):
| Блок кода |
|---|
cat /etc/init.d/cpufrequtils | grep GOVERNOR= |
в выходном сообщении системы режим работы по умолчанию после установки - "ondemand" The system output shows that the default mode after installation is “ondemand”:
| Без форматирования |
|---|
GOVERNOR="ondemand" |
Установить режим результативности/производительности - в файле To set the performance mode, in the /etc/init.d/cpufrequtils значение "ondemand" заменить на "performance" file, replace ondemand with performance
| Блок кода | ||
|---|---|---|
| ||
sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils |
Перезапустить утилитуRestart the utility:
| Блок кода | ||
|---|---|---|
| ||
sudo /etc/init.d/cpufrequtils restart |
Затем выполнить командуThen run the following command:
| Блок кода | ||
|---|---|---|
| ||
sudo systemctl daemon-reload |
...
Disable SWAP
The Ubuntu сервер SSW работает в реальном масштабе времени , поэтому все необходимые данные должны находится в оперативной памяти, использование файла подкачки (swap-файл - SSW server operates in real time, so all necessary data must be stored in RAM; using a swap file (/swap.img) может привести к увеличению времени обработки вызовов приложения can increase the processing time for SSW ECSS10 , что недопустимо. Swap - отключаем.
Выполнить последовательно три команды:application calls, which is unacceptable. Disable swap.
Execute the following three commands one by one:
Disable Отключение Swap:
| Блок кода | ||
|---|---|---|
| ||
sudo swapoff -a |
Удалить файл swapDelete the swap.img file.
| Блок кода | ||
|---|---|---|
| ||
sudo rm /swap.img |
Закомментировать строку - Comment out the line — /swap.img none swap sw 0 0 - в файле — in the /etc/fstab - выполнив команду "file by running the sudo nano /etc/fstab" command
or change it to # привести её к виду # /swap.img none swap sw 0 0
либо удалить эту строчку or delete this string (/swap.img none swap sw 0 0)
| Блок кода | ||
|---|---|---|
| ||
sudo nano /etc/fstab |
Для проверки выполните команду To verify, run the free -h command:
| Блок кода | ||
|---|---|---|
| ||
free -h |
...
| Без форматирования | ||
|---|---|---|
| ||
free -h
total used free shared buff/cache available
Mem: 3,9G 110M 3,2G 820K 535M 3,5G
Swap: 0B 0B 0B
|
Установка часового пояса
Setting the timezone
During the installation of Ubuntu 22, you are not prompted to set a time zone (the default is UTC). You must set it manually (to ensure the billing system, scheduled tasks, etc., function correctly), for exampleПри инсталляции Ubuntu-22 не предлагается установить часовой пояс (по умолчанию — UTC). Его нужно установить вручную (для корректной работы системы тарификации, работ по расписанию и т. д.), например:
| Блок кода | ||
|---|---|---|
| ||
sudo timedatectl set-timezone Asia/Novosibirsk |
Улучшение работы высоконагруженных серверов
Улучшить работу высоконагруженных серверов можно увеличив лимит открытых файлов.
Для установки лимита открытых файлов необходимо:
Improving the performance of high-load servers
You can improve the performance of high-load servers by increasing the open file limit.
To set the open file limit, do the following:
Check the current limit using the commandПроверить текущий лимит командой:
| Блок кода |
|---|
ulimit -a |
результат The output:
| Без форматирования |
|---|
eltex@ecss1:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15515 max locked memory (kbytes, -l) 65536 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 15515 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited |
Данного лимита This limit (open files 1024 ) недостаточно для нормальной работы высоконагруженных серверов.files 1024) is not enough for normal operation of high-load servers.
Set the open file limit for each userУстановить лимит открытых файлов для каждого пользователя:
| Блок кода |
|---|
sudo sed -i '55i\* soft nproc 65536\n* hard nproc 131072\n* soft nofile 65536\n* hard nofile 131072\nroot - memlock unlimited' /etc/security/limits.conf |
| Раскрыть | ||
|---|---|---|
| ||
|
| Предупреждение | ||
|---|---|---|
| ||
| Установку пакетов требуется делать НЕ из-под пользователя ssw. |
Обновление программного обеспечения операционной системы
| |
Packages must NOT be installed as the ssw user. |
Updating operating system software
- To install the ECSS-10 system, you must add the Eltex repository:Для установки системы ECSS-10 необходимо добавить репозиторий ELTEX:
Блок кода language bash title на новом on a new 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"
Далее необходимо выполнить импорт ключа командойNext, import the key using the following command::
Блок кода language bash title на новом on a new ssw sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 33CB2B750F8BB6A5
Перед началом установки необходимо обновить ОСBefore the installation, update the OS:
Блок кода language bash title на новом on a new ssw sudo apt update
Примечание Если вы видите такое сообщение системыIf you see the following system message::
Без форматирования 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.
Выполните следующую командуRun the following command:
Блок кода title на новом on a new ssw sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d
Блок кода language bash title на новом on a new ssw sudo apt upgrade
...
Installing and configuring the software
| Предупреждение | ||
|---|---|---|
| ||
┌ версияECSS ПОsoftware ECSSversion. It Сейчасis вcurrently заявкеlisted наas сертификацию3 онаin заявленаthe какcertification 3application.. | Мы её менять не будем до следующей сертификации или │ выпуска принципиально новой версии системы We will not change it until the next certification or │ the release of a fundamentally new version of the system. │ │ ┌ версия System Release version. The common Общаяversion версияfor дляall всехcomponents компонентincluded входящихin вa конкретныйspecific релизrelease. | | We Меняемchange еёit централизовано,centrally когдаwhen │ │ we принимаемdecide решениеto оrelease выпускеa новогоnew релизаversion. Releases Релизыare typically междуnot собойcompatible обычноwith неone совместимыanother. ┌─┴┐ ┌──┴─┐ ECSS.SysRel.SubMaj.SubMin └──┬─┘ └──┬─┘ │ └ версия Subsystem minor. Минорную версию подсистемы устанавливает разработчик подсистемы version. The subsystem minor version is set by the subsystem developer. | Минорную версию | │ меняем при добавлении патча. Как правило, минорные версии в рамках одной мажорной версии │ совместимы между собой и отличаются в рамках конкретных патчей. │ The minor version │ is updated when a patch is added. As a rule, minor versions within a single major version │ are compatible with each other and differ only within specific patches. │ └ версия Subsystem major version. МажорнаяThe версияmajor устанавливаетсяversion разработчикомis подсистемы.set by the subsystem developer. The subsystem’s major version Мажорнуюmust версиюbe подсистемыchanged необходимоwhen менятьsignificant приchanges внесенииare вmade подсистемуto существенныхthe измененийsubsystem. Утилита установки пакетов APT анализирует версию пакета слева направо, для примера мы имеем пакет The APT package installation utility analyzes the package version from left to right; for example, if we have package 14.14.7.7 , If, in a specific situation, you need to upgrade from version 14В случае если для конкретной ситуации требуется перейти с версии 14.14.7.7 на версию 14to version 14.14.7.9, стандартная команда the standard command → sudo apt upgrade , нам не поможет, так как будет выбран самый новый пакет, в данной ситуации нам необходимо в явном виде указать какую версию пакета мы хотим установить, в данном примере мы должны выбрать команду → sudo apt install имя пакета won’t work, since it will select the newest package. In this situation, we need to explicitly specify which version of the package we want to install; in this example, we should use the command → sudo apt install package_name=14.14.7.9. Обычно это необходимо для тестирования определенного патча, для стандартных обновлений достаточно выбора привычной команды установки /обновления пакетаThis is usually necessary for testing a specific patch; for standard updates, simply using the usual command to install or update the package is sufficient. |
Устанавливаем все предложенные пакетыInstall all the offered packages:Якорь Доп_пакеты Доп_пакеты
| Блок кода | ||
|---|---|---|
| ||
sudo apt install ntp ntpdate tcpdump vlan dnsmasq aptitude atop ethtool htop iotop mc minicom mtr-tiny nmap pptpd pv screen ssh tftpd vim sngrep tshark cpanminus gnuplot libgraph-easy-perl debconf-utils wget rsync ncdu |
| Раскрыть | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
List of required service softwareСписок обязательного сервисного программного обеспечения:
List of recommended diagnostic and utility softwareСписок рекомендуемого диагностического и вспомогательного программного обеспечения:
|
| Примечание | |||||
|---|---|---|---|---|---|
Before installing the ecss packages, you must ensure that the SPD bandwidth meets the necessary requirements. | |||||
| Примечание | |||||
Перед началом установки пакетов ecss , нужно убедиться в соответствии полосы пропускания СПД необходимым требованиям.
Проверить значение следующих параметровCheck the values of the following parameters: |
...
Configuring the ecss-dns-env
...
package
Execute the following commandВыполнить следующую команду:
| Блок кода |
|---|
sudo apt install -y ecss-dns-env |
...