Обновление с версии 3.14.15 на 3.14.16
1 Подготовительные действия на ecss2
- Выполнить полный «бэкап» (см. «Регламентное обслуживание и резервное копирование»).
- Если нужны последние данные биллинга, то необходимо финализировать текущую cdr и скачать CDR файлы на удаленный сервер:
/domain/test_domain/cdr/make_finalize_cdr Created file(s): cdr_20250822_11_51_16_1_c.csv
- Включить настройку для автоматической синхронизации файлов, находящихся в сплите (по большему размеру). Подробнее см. "Проблемы связанные с возникновением split-brain" .на ecss1
sudo gluster volume set ecss_volume cluster.favorite-child-policy size
- Остановить репликации MySQL.
Убедитесь, что значения параметровSlave_IO_RunningиSlave_SQL_RunningравныNo.на ecss1/ecss2sudo mysql -uroot -p -e 'STOP SLAVE;'
на ecss1/ecss2sudo mysql -uroot -p -e 'SHOW SLAVE STATUS \G;' | grep -E "Slave_IO_Running:|Slave_SQL_Running:"
примерsudo mysql -uroot -p -e 'SHOW SLAVE STATUS \G;' | grep -E "Slave_IO_Running:|Slave_SQL_Running:" . . . Slave_IO_Running: No Slave_SQL_Running: No . . . - При обновлении кластера следует обновлять сервера по очереди. Таким образом, при обновлении один из серверов будет всегда запущен и работа сервисов не будет прервана. Для разделения кластера следует использовать инструмент ecss-control на обоих серверах (Описание команд утилиты приведено в «Приложении Н»).
Обмен sip сигнализацией происходит через SIP-VRRP IP адрес. Аналогичным образом, через MySQL-VRRP IP адрес, происходит подключение к MySQL. Этот функционал реализован для возможности миграции Ip адреса на другой хост в случае падения/отключения/техобслуживания основного хоста. Контроль миграции IP адресов осуществляется сервисом keepalive на каждом хосте. Для перевода трафика на первый сервер (ecss1), необходимо выключить keepalive на втором хосте (ecss2). В этом случае оба SIP-VRRP IP адреса, а так же MySQL-VRRP IP адрес, будут находится на первом хосте (ecss1). Выполнить следующую команду:на ecss2sudo systemctl disable --now keepalived.service
- Командой ifconfig проверить, что все VRRP IP-адреса находятся на ecss1 (VRRP-mysql/VRRP-SIP1/VRRP-SIP2).на ecss1
ifconfig
- На ecss1 выполнить разделение SSW на два независимых сервера следующей командой:
Команда ecss-control работает со стандартными именами хостов : ecss1/ecss2.
Проверить статус:на ecss1sudo ecss-control detach
на ecss1sudo ecss-control status
Результат:sudo ecss-control detach detach host: ecss2, ip: 10.0.10.82 complete sudo ecss-control status locked ip: 10.0.10.82
Если после разделения на первом хосте при попытке вызова/регистрации появляется ошибка "503 Service Unavailable". То на проблемном хосте выполните следующие команды: ecss-attach ecss-pa-sip
ecss-attach ecss-pa-sip ********************************************************************************* ! You attached to systemd-service ecss-pa-sip: sip1@ecss1. ! ! To exit, press Ctrl+C, Ctrl+C. ! ********************************************************************************* Erlang/OTP 21 [erts-10.3.5.10] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] Eshell V10.3.5.10 (abort with ^G) (sip1@ecss1)1> sip_config:tring_is_connected(). false (sip1@ecss1)2> sip_config:tring_is_connected(true). ok (sip1@ecss1)3> sip_config:tring_is_connected(). true
- После разделения кластера необходимо замаскировать все ноды на сервере, который будет обновляться первым:на ecss2
sudo systemctl mask --now ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
Нода sorm идет одна на кластер. В случае её работы на ecss1, при выполнении приложенной команды будет уведомление.
Unit /etc/systemd/system/ecss-sorm.service is masked, ignoring.
Данное сообщение не является ошибкой. Продолжать выполнение процедуры.
- Выполнить резервное копирование баз данных.
ВАЖНО! Корректность данных в резервной копии
Перед созданием резервной копии убедитесь, что в вашей БД таблица tolltickets не содержит устаревших полей командой:
sudo mysql -uroot -p -e "SHOW CREATE TABLE ecss_calls_db.tolltickets\G;" | grep 'ss_info' || echo "Поле не найдено"
Если команда показала "`ss_info` text COLLATE latin1_general_ci,", то приведите таблицу к актуальному состоянию командой:
sudo mysql -uroot -p -e "ALTER TABLE ecss_calls_db.tolltickets DROP COLUMN ss_info;"
на ecss2sudo mysqldump -uroot -p --verbose --single-transaction --quote-names --complete-insert --extended-insert --routines --events --triggers --databases ecss_address_book ecss_audit ecss_calls_db ecss_dialer_db ecss_meeting_db ecss_numbers_db ecss_statistics ecss_subscribers ecss_system web_conf history_db > ./all_dump.sql
- Добавить в конфигурацию mysql параметры skip-log-bin и skip-slave-start на ecss2 (чтобы избежать записи в бинарные логи процесса удаления БД), выполнив команду :на ecss2
sudo sed -i '40i\skip-log-bin\nskip-slave-start' /etc/mysql/mysql.conf.d/mysqld.cnf
- Удалить резервный файл конфигурации (чтобы при удалении, ecss-mysql не загрузил конфигурацию из него):на ecss2
sudo rm /var/lib/ecss/ecss-mysql/backup/mysqld.cnf
- Перезапустить ecss-mysql с новой конфигурацией:на ecss2
sudo systemctl restart mysql.service
- Для корректной работы репликации после обновления необходимо сохранить конфигурационные файлы ecss-mysql, поэтому делаем отдельный backup для файлов до обновления:на ecss2
sudo cp -a /etc/ecss/ecss-mysql ~/ecss-mysql-etc-backup
- Удалить ecss-web-conf и ecss-mysql, вместе с конфигурационными файлами (чтобы не было ошибок конфигураций при обновлении):
В вопросах измените IP MySQL на локальный IP БД
на ecss2sudo dpkg-reconfigure ecss-web-conf
на ecss2sudo apt purge ecss-web-conf
На вопросы об удалении БД → положительно отвечаем на вопросы - удалить все базы данных
на ecss2sudo apt purge ecss-mysql
- Проверьте, что БД удалены, выполнив команду, в выводе не должно быть других БД кроме системных ('information_schema','mysql','performance_schema','sys'):на ecss2
sudo mysql -uroot -p -e "SHOW DATABASES;"
- Если используется ecss-call-api и ecss-elph-api, то их нужно удалить (чтобы не было конфликтов зависимостей при обновлении).на ecss2
sudo apt-get remove ecss-call-api sudo apt-get remove ecss-elph-api
- Удалить skip-log-bin из файла конфигурации:на ecss2
sudo sed -i '/skip-log-bin/d' /etc/mysql/mysql.conf.d/mysqld.cnf
- Зафиксировать пакеты mysql (чтобы пакетный менеджер при обновлении системы не удалил mysql):на ecss2
sudo apt-mark hold mysql-*
- Установить версию пакета nodejs (чтобы корректно было выполнено обновление дистрибутива):на ecss2
sudo apt install nodejs=8.10.*
2 Обновление операционной системы Ubuntu 18.04 на ecss2
- Обновление с Ubuntu 18.04 (Bionic) до Ubuntu 20.04 (Focal)на ecss2
do-release-upgrade -m server
на ecss2
В случае получения сообщения:
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.выполните следующие команды:
на ecss2sudo apt update
на ecss2sudo apt upgrade
на ecss2sudo apt dist-upgrade
так же может потребоваться обновить пакет ecss-user следующей командой:
на ecss2sudo apt install ecss-user
и затем повторить команду do-release-upgrade -m server:
на ecss2do-release-upgrade -m server
Ответы на вопросы во время обновления
Во время обновления принять все новые конфигурации пакетов ecss.
В процессе выполнения обновления, система может предложить выполнить перезагрузку. Нужно согласится.
- Проверка сервиса dnsmasq.
Если после обновления сервис dnsmasq не находится в активном состоянии :на ecss2systemctl is-active dnsmasq
Выполнить следующие команды:примерsystemctl is-active dnsmasq failed
Удалить оставшийся конфигурационный файл:Перезапустить сервис dnsmasq :на ecss2sudo rm /etc/dnsmasq.d/lxd
Проверить статус сервиса:на ecss2sudo systemctl restart dnsmasq
примерsystemctl is-active dnsmasq active
После этих действий, сервис должен быть активным и работать без ошибок.
- Обновление пакетов mysql.
Отключить фиксацию пакетов:Обновить mysql до версии 8.0:на ecss2sudo apt-mark unhold mysql-*
на ecss2sudo apt install mysql-server
После обновления необходимо актуализировать настройки mysql для версии 8.0:Ответы на вопросы пакетного менеджера
Важно! Во время обновления mysql необходимо оставить старую конфигурацию файла /etc/mysql/mysql.conf.d/mysqld.conf, чтобы не потерять выставленные флаги.
на ecss2sudo sed -i -e 's/^max_allowed_packet.*/max_allowed_packet = 64M/' \ -e 's/^thread_stack.*/thread_stack = 256K/' /etc/mysql/mysql.conf.d/mysqld.cnf - Закончить обновление хоста следующей командой:Проверить версию Ubuntu следующей командой:на ecss2
sudo apt full-upgrade
на ecss2lsb_release -a
Результат:lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal
- Обновление c Ubuntu 20.04 (Focal) до Ubuntu 22.04 (Jammy)на ecss2
do-release-upgrade -m server
При сообщении системы:
do-release-upgrade -m server Checking for a new Ubuntu release You have not rebooted after updating a package which requires a reboot. Please reboot before upgrading.
выполнить перезагрузку следующей командой:
на ecss2sudo reboot
а затем повторить команду:
на ecss2do-release-upgrade -m server
Ответы на вопросы во время обновления
Во время обновления принять все новые конфигурации пакетов ecss.
В процессе выполнения обновления система может предложить выполнение перезагрузки. Нужно согласится.
- После завершения обновления выполнить команду:на ecss2
sudo apt autoremove
Данный шаг может выполняться достаточно долго
- Обновление с Ubuntu 18.04 (Bionic) до Ubuntu 20.04 (Focal)
3 Подготовка к обновлению сервисов SSW на ecss2
- Выполнить сплит на ecss2:
Команда ecss-control работает со стандартными именами хостов : ecss1/ecss2.
на ecss2sudo ecss-control detach
- Актуализировать репозиторий ssw:на ecss2
sudo sh -c "echo deb [arch=amd64] http://archive.eltex.org/ssw/jammy/3.14.16.1 stable main extras external > /etc/apt/sources.list.d/eltex-ecss10-stable.list"
- Временно зафиксировать версию пакетов ecss-*, на которые надо будет обновиться:на ecss2
sudo sh -c "echo 'Package: ecss-*\nPin: version 14.16.1.*\nPin-Priority: 1001\n\nPackage: erlang*\nPin: version 2:24.3.10*\nPin-Priority: 1001' >> /etc/apt/preferences.d/eltex-ecss10"
- Выполнить обновление пакетов:на ecss2
sudo apt update
- Выключаем nginx сервис:на ecss2
sudo systemctl disable --now nginx
- Выполнить сплит на ecss2:
4 Обновление сервисов SSW на ecss2
- Обновление пакета ecss-dns-env:на ecss2
sudo apt install ecss-dns-env
При обновлении нужно применить новые конфигурационные файлы (подтверждением -Y)
После обновления, нужно актуализировать конфигурацию, выполнив команду. Ответы на вопросы аналогичны процедуре инсталляции:на ecss2sudo dpkg-reconfigure ecss-dns-env
Выполнить обновление пакета ecss-user:
на ecss2sudo apt install ecss-user
Обновление пакета ecss-mysql:
Перед обновлением пакета ecss-mysql для сохранения совместимости с mysql v5.7, надо включить в конфигурации mysql, по умолчанию, устаревший плагин :
на ecss2sudo sh -c "echo '[mysqld]\ndefault_authentication_plugin = mysql_native_password' >> /etc/mysql/conf.d/plugin.cnf"
Перезапустить MySQL:
на ecss2sudo systemctl restart mysql
Установить пакет ecss-mysql:
на ecss2sudo apt install ecss-mysql
При установке на вопрос "Path for external data-directory, where will be created tables of databases" надо указать внешнюю директорию хранения таблиц баз данных, либо принять значение по умолчанию.
ответы на вопросы конфигураторa
Обратно переместить backup конфигурационных файлов ecss-mysql (сохраненный ранее):на ecss2sudo rm -rf /etc/ecss/ecss-mysql && sudo cp -a ~/ecss-mysql-etc-backup /etc/ecss/ecss-mysql
Проверьте и при необходимости актуализируйте параметры в "/etc/ecss/ecss-mysql/mysql-checker.conf".
Переменная "MASTER_HOST_IP" - это VRRP-адрес для MySQL, определенный в конфигурации keepalived .
- Включите ecss-mysql-checker.timer:на ecss2
sudo systemctl enable --now ecss-mysql-checker.timer
- Загрузка резервной копии баз данных:
Перед загрузкой резервной копии необходимо модифицировать его, указав внешнюю директорию хранения таблиц баз данных. Так как таблицы баз данных ecss-mysql устанавливаются в отдельной директории (/var/lib/ecss-mysql), необходимо для всех таблиц в резервной копии указать внешнюю директорию, иначе они будут создаваться в стандартной data-директории (/var/lib/mysql). Также при загрузке резервной копии отключаем запись бинарных логов.После загрузки резервной копии сделайте реконфигурирование пакета ecss-mysql, чтобы прошли необходимые миграции v3.14.16, которые отсутствуют в резервной копии.на ecss2sudo sed -E "s/(ENGINE=(MyISAM|InnoDB))/\1 DATA DIRECTORY = '\/var\/lib\/ecss-mysql'/g" all_dump.sql | (echo "SET sql_log_bin = 0;"; cat -) | sudo mysql -uroot -p
Перезапустить репликацию командой и убедится, что slave сервер подтянул все изменения от мастера (дождаться, пока переменная "Seconds_Behind_Master" не станет равна 0, а значение Relay_Master_Log_File должно сойтись со значением Master_Log_File).на ecss2sudo dpkg-reconfigure ecss-mysql
на ecss2sudo mysql -uroot -p -e "START SLAVE;"
на ecss2sudo mysql -e 'SHOW SLAVE STATUS \G;' | grep -E "Seconds_Behind_Master|Relay_Master_Log_File|Master_Log_File"
примерsudo mysql -e 'SHOW SLAVE STATUS \G;' | grep -E "Seconds_Behind_Master|Relay_Master_Log_File|Master_Log_File" [sudo] password for abf: Master_Log_File: server-mysql-bin.001152 Relay_Master_Log_File: server-mysql-bin.001152 Seconds_Behind_Master: 0
Удалить параметр skip-slave-start из конфигурации mysql и резервного файла:на ecss2sudo sed -i '/skip-slave-start/d' /etc/mysql/mysql.conf.d/mysqld.cnf sudo sed -i '/skip-slave-start/d' /var/lib/ecss/ecss-mysql/backup/mysqld.cnf
Перезапускать mysql не обязательно - данная опция влияет только на состояние SLAVE при старте mysql, а его запустили напрямую.
- Обновление Erlang и SSW.
Перед обновлением включить сервисы ssw следующими командами:на ecss2sudo systemctl unmask ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
на ecss2sudo systemctl enable ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
Перед обновлением, удалить устаревшую версию Erlang. Команда ниже обновит Erlang до версии 24.3, а также обновит до новейшей версии пакеты ecss-node и ecss-utils:на ecss2sudo apt remove erlang-base-hipe
После обновления Erlang демаскировать сервис, который был маскирован при удалении erlang-base-hipe:Если Erlang не обновился, удалением старого пакета, то сначала обновить ecss-node и ecss-utils, а затем обновить весь Erlang:
на ecss2sudo apt install ecss-node ecss-utils
на ecss2sudo apt install erlang
на ecss2sudo systemctl unmask epmd.socket epmd.service
- Запуск SSW на ecss2.
Перед запуском изменить имя кластера на отличное от имени кластера указанном на ecss1. Например, добавьте постфикс upd в имя кластера:Требуется по причине того, что mycelium1 и mycelium2 находят друг друга и в случае разных версий - mycelium на ecss2 падает.
на ecss2sudo nano /etc/ecss/ecss-mycelium/mycelium1.config
Так же меняем значение таймера для ds сервиса:на ecss2{mycelium_broker, [ {cluster_name, 'test_cluster_upd'},запустить следующие сервисы:на ecss2sed -i 's/{cluster_timeout, 60000}/{cluster_timeout, 10800000}/g' /etc/ecss/ecss-ds/ds1.config
ecss-myceliumecss-dsна ecss2sudo systemctl start ecss-mycelium
ecss-coreна ecss2sudo systemctl start ecss-ds
на ecss2sudo systemctl start ecss-core
ecss-mediator!!!ПОКА НЕ ЗАПУСКАЕМ PA-SIP!!!
на ecss2sudo systemctl start ecss-mediator
Если лицензия поддерживает СОРМ3, то запустить также сервис ecss-sorm.
на ecss2sudo systemctl start ecss-sorm
Если сервис ecss-sorm оказался замаскирован, то выполнить следующие команды:
на ecss2sudo systemctl unmask ecss-sorm sudo systemctl start ecss-sorm
Для корректной работы SORM3 необходимо выполнить коррекцию команды для sorm экстрактора. Данную команду необходимо выполнить для каждого домена в SSW.
выполняется в CoCon/domain/<Имя_домена>/sorm3/set extractor_node sorm1@ecss2
Для примера:/domain/test_domain/sorm3/info┌──────────────────┬───────────┬───────────┐│ Property │ Domain │ Value │├──────────────────┼───────────┼───────────┤│adaptation │test_domain│undefined ││enabled │test_domain│false ││entrypoint_profile│test_domain│ ││extractor_ip │test_domain│127.0.0.1 ││extractor_node │test_domain│sorm1@ecss1│└──────────────────┴───────────┴───────────┘/domain/test_domain/sorm3/set extractor_node sorm1@ecss2Property "extractor_node" successfully changed from:sorm1@ecss1tosorm1@ecss2./domain/test_domain/sorm3/info┌──────────────────┬───────────┬───────────┐│ Property │ Domain │ Value │├──────────────────┼───────────┼───────────┤│adaptation │test_domain│undefined ││enabled │test_domain│false ││entrypoint_profile│test_domain│ ││extractor_ip │test_domain│127.0.0.1 ││extractor_node │test_domain│sorm1@ecss2│└──────────────────┴───────────┴───────────┘Команду повторить для всех доменов в SSW
- Проверить статус сервисов, для этого выполнить в CoCon команду system-status:выполняется в CoCon
/system-status Checking... ┌─┬───────────────┬────────────────────────────┬───────────────┬────────────┬──────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes│Uptime│ ├─┼───────────────┼────────────────────────────┼───────────────┼────────────┼──────┤ │ │core1@ecss2 │ecss-core-3.14.16.1.130 │core1@ecss2 │not running │2m 27s│ │ │ds1@ecss2 │ecss-ds-3.14.16.1.130 │ds1@ecss2 │ds1@ecss2 │2m 32s│ │ │md1@ecss2 │ecss-mediator-3.14.16.1.130 │md1@ecss2 │md1@ecss2 │2m 16s│ │ │mycelium1@ecss2│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss2│not running │2m 39s│ │ │sorm1@ecss2 │ecss-sorm-3.14.16.1.130 │sorm1@ecss2 │not running │1m 56s│ └─┴───────────────┴────────────────────────────┴───────────────┴────────────┴──────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────────┬─────────────┬───────────┬───────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────────┼─────────────┼───────────┼───────────┤ │ core1@ecss2 │ msr.ecss1 │ 3.14.15.243 │ connected │ 00:00:10 │ │ │ msr.ecss2 │ 3.14.15.243 │ connected │ 00:00:10 │ └─────────────┴───────────┴─────────────┴───────────┴───────────┘
- Обновление пакета ecss-restfs.Принять все новые конфигурационные файлы, выбирая Y.на ecss2
sudo apt install ecss-restfs
- Обновление пакета ecss-media-server.
Предварительно отключить регистрацию на рабочий хост ecss1. Для этого надо закомментировать в конфигурационном файле строку с realm рабочего хоста (в примере realm="sip:10.0.20.81:5000"), следующей командой (добавив <!- - вначале строки , и - -> в конце строки ), следующей командой:на ecss2sudo nano /etc/ecss/ecss-media-server/conf.d/default.xml
Выполнить обновление:пример<?xml version="1.0"?> <config> <accounts> <!--<dynamic msr_name="msr.ecss2" realm="sip:10.0.20.81:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/>--> <dynamic msr_name="msr.ecss2" realm="sip:10.0.20.82:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/> </accounts> </config>Актуализировать конфигурацию:на ecss2sudo apt install ecss-media-server
Выполнить проверку, и при необходимости отредактировать файл командой :на ecss2sudo dpkg-reconfigure ecss-media-server
на ecss2sudo nano /etc/ecss/ecss-media-server/config.xml
- Обновление пакета ecss-media-resources:на ecss2
sudo apt install ecss-media-resources
Обновление пакета ecss-web-conf
на ecss2sudo apt install ecss-web-conf
- Перед переводом keepalived на обновленный хост необходимо скопировать актуальную базу ds с ecss1 (иначе база регистраций будет пустая). Поэтому сначала делаем backup БД Mnesia на ecss1:выполняется в CoCon
/node/ds1@ecss1/oasys/backup
Останавливаем ecss-ds на ecss2:/node/ds1@ecss1/oasys/backup Backup was successfully created at the path: "/var/lib/ecss/oasys/Mnesia.ds1@ecss1_20250930081517"
Командой scp копируем backup c ecss1 на ecss2.на ecss2sudo systemctl stop ecss-ds
Выполняем локальную копию текущей конфигурации:на ecss2scp -r ecss@ecss1:/var/lib/ecss/oasys/Mnesia.ds1@ecss1_20250930081517 /var/lib/ecss/oasys
Заменяем локальную конфигурацию на конфигурацию backup c ecss1:на ecss2sudo cp -a /var/lib/ecss/oasys/Mnesia.ds1@ecss2 /var/lib/ecss/oasys/Mnesia.ds1@ecss2-bkp
на ecss2sudo mv /var/lib/ecss/oasys/Mnesia.ds1@ecss1_20250930081517 /var/lib/ecss/oasys/Mnesia.ds1@ecss2
Запустить ecss-ds и ecss-pa-sip (чтобы подгрузились актуальные регистрации абонентов):на ecss2sudo chown -R ssw:ssw /var/lib/ecss/oasys
на ecss2sudo systemctl start ecss-ds
Проверить статус сервисов командой /system-status :на ecss2sudo systemctl start ecss-pa-sip
выполняется в CoCon/system-status Checking... ┌─┬───────────────┬────────────────────────────┬───────────────┬────────────┬──────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes│Uptime│ ├─┼───────────────┼────────────────────────────┼───────────────┼────────────┼──────┤ │ │core1@ecss2 │ecss-core-3.14.16.1.130 │core1@ecss2 │not running │2m 27s│ │ │ds1@ecss2 │ecss-ds-3.14.16.1.130 │ds1@ecss2 │ds1@ecss2 │2m 32s│ │ │md1@ecss2 │ecss-mediator-3.14.16.1.130 │md1@ecss2 │md1@ecss2 │2m 16s│ │ │mycelium1@ecss2│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss2│not running │2m 39s│ │ │sip1@ecss2 │ecss-pa-sip-3.14.16.1.130 │sip1@ecss2 │sip1@ecss2 │2m 22s│ │ │sorm1@ecss2 │ecss-sorm-3.14.16.1.130 │sorm1@ecss2 │not running │1m 56s│ └─┴───────────────┴────────────────────────────┴───────────────┴────────────┴──────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────────┬─────────────┬───────────┬───────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────────┼─────────────┼───────────┼───────────┤ │ core1@ecss2 │ msr.ecss1 │ 3.14.15.243 │ connected │ 00:00:10 │ │ │ msr.ecss2 │ 3.14.16.1.0 │ connected │ 00:00:10 │ └─────────────┴───────────┴─────────────┴───────────┴───────────┘
- Запуск сервиса keepalivedна ecss2
sudo systemctl enable --now keepalived
- После обновления сервисов удалить файл фиксации версии ssw:на ecss2
sudo rm /etc/apt/preferences.d/eltex-ecss10
- Обновление пакета ecss-dns-env:
5 Подготовительные действия на ecss1
- Выполнить полный «бэкап» (см. «Регламентное обслуживание и резервное копирование»).
- Остановка репликации MySQL (на ecss2). Убедится, что значения параметров Slave_IO_Running и Slave_SQL_Running равны No. на ecss2
sudo mysql -uroot -p -e 'STOP SLAVE;'
на ecss2sudo mysql -uroot -p -e 'SHOW SLAVE STATUS \G;' | grep -E "Slave_IO_Running:|Slave_SQL_Running:"
примерsudo mysql -uroot -p -e 'SHOW SLAVE STATUS \G;' | grep -E "Slave_IO_Running:|Slave_SQL_Running:" . . . Slave_IO_Running: No Slave_SQL_Running: No . . . - Подготовить ecss1 к обновлению, для этого, перевести весь трафик на ecss2 (команда выполняется на ecss1):на ecss1
sudo systemctl disable --now keepalived.service
- Командой ifconfig проверьте, что все VRRP адреса (VRRP IP-mysql / VRRP IP-SIP1 / VRRP IP-SIP2) находятся на ecss2.на ecss2
ifconfig
Если после переключения на ecss2, при попытке вызова/регистрации появляется ошибка "503 Service Unavailable". То на проблемном хосте выполните следующие команды: ecss-attach ecss-pa-sip
ecss-attach ecss-pa-sip ********************************************************************************* ! You attached to systemd-service ecss-pa-sip: sip1@ecss1. ! ! To exit, press Ctrl+C, Ctrl+C. ! ********************************************************************************* Erlang/OTP 21 [erts-10.3.5.10] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] Eshell V10.3.5.10 (abort with ^G) (sip1@ecss1)1> sip_config:tring_is_connected(). false (sip1@ecss1)2> sip_config:tring_is_connected(true). ok (sip1@ecss1)3> sip_config:tring_is_connected(). true
- После разделения кластера необходимо выключить все ноды на сервере ecss1:на ecss1
sudo systemctl mask --now ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
- Резервное копирование баз данных (на ecss1):
ВАЖНО! Корректность данных в резервной копии
Перед созданием резервной копии убедитесь, что в вашей БД таблица tolltickets не содержит устаревших полей командой:
sudo mysql -uroot -p -e "SHOW CREATE TABLE ecss_calls_db.tolltickets\G;" | grep 'ss_info' || echo "Поле не найдено"
Если команда показала "`ss_info` text COLLATE latin1_general_ci,", то приведите таблицу к актуальному состоянию командой:
sudo mysql -uroot -p -e "ALTER TABLE ecss_calls_db.tolltickets DROP COLUMN ss_info;"
на ecss1sudo mysqldump -uroot -p --verbose --single-transaction --quote-names --complete-insert --extended-insert --routines --events --triggers --databases ecss_address_book ecss_audit ecss_calls_db ecss_dialer_db ecss_meeting_db ecss_numbers_db ecss_statistics ecss_subscribers ecss_system web_conf history_db > ./all_dump.sql
- Добавить в конфигурацию mysql параметры skip-log-bin и skip-slave-start на ecss1 (чтобы избежать записи в бинарные логи процесса удаления БД):на ecss1
sudo sed -i '40i\skip-log-bin\nskip-slave-start' /etc/mysql/mysql.conf.d/mysqld.cnf
- Удалить резервный файл конфигурации (чтобы при удалении, ecss-mysql не загрузил конфигурацию из него):на ecss1
sudo rm /var/lib/ecss/ecss-mysql/backup/mysqld.cnf
- Перезапустить mysql с новой конфигурацией:на ecss1
sudo systemctl restart mysql.service
- Для корректной работы репликации после обновления необходимо сохранить конфигурационные файлы ecss-mysql, поэтому создать отдельный backup для файлов до обновления:на ecss1
sudo cp -a /etc/ecss/ecss-mysql ~/ecss-mysql-etc-backup
- Удалить ecss-web-conf и ecss-mysql вместе с конфигурационными файлами (чтобы не было ошибок конфигураций при обновлении):
В вопросах измените IP MySQL на локальный IP БД
на ecss1sudo dpkg-reconfigure ecss-web-conf
на ecss1sudo apt purge ecss-web-conf
На вопросы об удалении БД → положительно отвечаем на вопросы - удалить все базы данных
на ecss1sudo apt purge ecss-mysql
- Проверьте, что БД удалены командой:
В выводе не должно быть других БД кроме системных ('information_schema','mysql','performance_schema','sys').
на ecss1sudo mysql -uroot -p -e "SHOW DATABASES;"
- Если используется ecss-call-api и ecss-elph-api, то удалите (чтобы не было конфликтов зависимостей при обновлении):на ecss1
sudo apt remove ecss-call-api sudo apt remove ecss-elph-api
- Удалить skip-log-bin из файла конфигурации:на ecss1
sudo sed -i '/skip-log-bin/d' /etc/mysql/mysql.conf.d/mysqld.cnf
- Зафиксировать пакеты mysql (чтобы пакетный менеджер при обновлении системы не удалил mysql):на ecss1
sudo apt-mark hold mysql-*
- Установить версию пакета nodejs (чтобы корректно было выполнено обновление дистрибутива):на ecss1
sudo apt install nodejs=8.10.*
6 Обновление операционной системы Ubuntu 18.04 на ecss1
- Обновление c Ubuntu 18.04 (Bionic) до Ubuntu 20.04 (Focal)на ecss1
do-release-upgrade -m server
В случае получения сообщения:
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.выполните следующие команды:
на ecss1sudo apt update
на ecss1sudo apt upgrade
на ecss1sudo apt dist-upgrade
так же может потребоваться обновить пакет ecss-user следующей командой:
на ecss1sudo apt install ecss-user
и затем повторить команду do-release-upgrade -m server:
на ecss1do-release-upgrade -m server
Ответы на вопросы во время обновления
Во время обновления принять все новые конфигурации пакетов ecss.
- Проверка сервиса dnsmasqПроверка сервиса dnsmasq
- Если после обновления сервис dnsmasq не находится в активном состоянии :на ecss1
systemctl is-active dnsmasq
Обновление пакетов mysql.
Убрать фиксацию пакетов: - Если после обновления сервис dnsmasq не находится в активном состоянии :
- Обновить mysql до версии 8.0:на ecss1
sudo apt-mark unhold mysql-*
на ecss1sudo apt install mysql-server
После обновления необходимо актуализировать настройки mysql для версии 8.0:Ответы на вопросы пакетного менеджера
Важно! Во время обновления mysql необходимо оставить старую конфигурацию файла /etc/mysql/mysql.conf.d/mysqld.conf, чтобы не потерять выставленные флаги.
на ecss1sudo sed -i -e 's/^max_allowed_packet.*/max_allowed_packet = 64M/' \ -e 's/^thread_stack.*/thread_stack = 256K/' /etc/mysql/mysql.conf.d/mysqld.cnf - Закончить обновление хоста командой:на ecss1
sudo apt full-upgrade
- Обновление с Ubuntu 20.04 (Focal) до Ubuntu 22.04 (Jammy)на ecss1
do-release-upgrade -m server
Ответы на вопросы во время обновления
Во время обновления принять все новые конфигурации пакетов ecss.
- После завершения обновления выполните:на ecss1
sudo apt autoremove
Данный шаг может выполняться достаточно долго
- Обновление c Ubuntu 18.04 (Bionic) до Ubuntu 20.04 (Focal)
7 Подготовка к обновлению сервисов SSW на ecss1
- Перед обновлением актуализировать репозиторий ssw:на ecss1
sudo sh -c "echo deb [arch=amd64] http://archive.eltex.org/ssw/jammy/3.14.16.1 stable main extras external > /etc/apt/sources.list.d/eltex-ecss10-stable.list"
- Временно зафиксировать версию пакетов ecss-*, на которые надо будет обновиться:на ecss1
sudo sh -c "echo 'Package: ecss-*\nPin: version 14.16.1.*\nPin-Priority: 1001\n\nPackage: erlang*\nPin: version 2:24.3.10*\nPin-Priority: 1001' >> /etc/apt/preferences.d/eltex-ecss10"
- Обновить пакеты командой:на ecss1
sudo apt update
- Перед обновлением актуализировать репозиторий ssw:
8 Обновление сервисов SSW на ecss1
- Обновление пакета ecss-dns-env.на ecss1
sudo apt install ecss-dns-env
При обновлении принимать новые конфигурационные файлы -Y.
После обновления актуализировать конфигурацию командой:на ecss1sudo dpkg-reconfigure ecss-dns-env
- Обновление пакета ecss-user:на ecss1
sudo apt install ecss-user
- Обновление пакета ecss-mysql:
Т.к. оба хоста обновятся до mysql v8.0, надо отключить плагин по умолчанию в конфигурации mysql и поменять плагин пользователей на ecss2.на ecss2sudo rm /etc/mysql/conf.d/plugin.cnf
на ecss2sudo mysql -uroot -p -N -e "SELECT CONCAT('ALTER USER \`', user, '\`@\`', host, '\` IDENTIFIED WITH caching_sha2_password;') FROM mysql.user WHERE plugin='mysql_native_password' AND user NOT IN ('root','replica','debian-sys-maint','mysql.session','mysql.sys');" | sudo mysqlДалее установить пакет ecss-mysql:Ни в коем случае не делать рестарт MySQL сервиса!
ответы на вопросы конфигураторaна ecss1sudo apt install ecss-mysql
Обратно переместить backup конфигурационных файлов ecss-mysql (сохраненный ранее):При установке на вопрос "Path for external data-directory, where will be created tables of databases" надо указать внешнюю директорию хранения таблиц баз данных, либо принять значение по умолчанию.
Проверьте и при необходимости актуализируйте параметры в "/etc/ecss/ecss-mysql/mysql-checker.conf":на ecss1sudo rm -rf /etc/ecss/ecss-mysql && sudo cp -a ~/ecss-mysql-etc-backup /etc/ecss/ecss-mysql
Переменная "MASTER_HOST_IP" - это VRRP-адрес для MySQL, определенный в конфигурации keepalived.
- Включить ecss-mysql-checker.timerна ecss1
sudo systemctl enable --now ecss-mysql-checker.timer
- Загрузка резервной копии баз данных. Перед загрузкой резервной копии необходимо модифицировать еe, указав внешнюю директорию хранения таблиц баз данных. Так как таблицы баз данных ecss-mysql устанавливаются в отдельной директории (/var/lib/ecss-mysql), необходимо для всех таблиц в резервной копии указать внешнюю директорию, иначе они будут создаваться в стандартной data-директории (/var/lib/mysql). Также при загрузке резервной копии отключаем запись бинарных логов.После загрузки резервной копии сделайте реконфигурирование пакета ecss-mysql, чтобы прошли необходимые миграции v3.14.16, которые отсутствуют в резервной копии.на ecss1
sed -E "s/(ENGINE=(MyISAM|InnoDB))/\1 DATA DIRECTORY = '\/var\/lib\/ecss-mysql'/g" all_dump.sql | (echo "SET sql_log_bin = 0;"; cat -) | sudo mysql -uroot -p
После этого запустить репликацию командой и убедится, что slave подтянул все изменения от мастера (Seconds_Behind_Master - должна быть равна 0, а значение Relay_Master_Log_File должно сойтись со значением Master_Log_File).на ecss1sudo dpkg-reconfigure ecss-mysql
на ecss1sudo mysql -uroot -p -e "START SLAVE"
на ecss1sudo mysql -e 'SHOW SLAVE STATUS \G;' | grep -E "Seconds_Behind_Master|Relay_Master_Log_File|Master_Log_File"
примерsudo mysql -e 'SHOW SLAVE STATUS \G;' | grep -E "Seconds_Behind_Master|Relay_Master_Log_File|Master_Log_File" Master_Log_File: server-mysql-bin.001152 Relay_Master_Log_File: server-mysql-bin.001152 Seconds_Behind_Master: 0
Удалить параметр skip-slave-start из конфигурации mysql и резервного файла:на ecss1sudo sed -i '/skip-slave-start/d' /etc/mysql/mysql.conf.d/mysqld.cnf
на ecss1sudo sed -i '/skip-slave-start/d' /var/lib/ecss/ecss-mysql/backup/mysqld.cnf
Перезапускать mysql не обязательно - данная опция влияет только на состояние SLAVE при старте mysql, а его запустили напрямую. - Восстановить репликацию master-master, запустив репликацию на ecss2 и убедится, что slave подтянул все изменения от мастера (Seconds_Behind_Master - должна быть равна 0, а значение Relay_Master_Log_File должно сойтись со значением Master_Log_File):на ecss2
sudo mysql -uroot -p -e "START SLAVE;"
на ecss2sudo mysql -e 'SHOW SLAVE STATUS \G;' | grep "Seconds_Behind_Master"
примерsudo mysql -e 'SHOW SLAVE STATUS \G;' | grep -E "Seconds_Behind_Master|Relay_Master_Log_File|Master_Log_File" Master_Log_File: server-mysql-bin.001152 Relay_Master_Log_File: server-mysql-bin.001152 Seconds_Behind_Master: 0 - Обновление Erlang и SSW.
Перед обновлением включить сервисы ssw:
на ecss1sudo systemctl unmask ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
на ecss1sudo systemctl enable ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
Для обновления удалить устаревшую версию Erlang. Команда ниже обновит Erlang до версии 24.3, а также обновит до новейшей версии пакеты ecss-node и ecss-utils:
на ecss1sudo apt remove erlang-base-hipe
Если erlang не обновился удалением старого пакета, то сначала обновить ecss-node и ecss-utils и далее обновить весь erlang командами:
на ecss1sudo apt install ecss-node ecss-utils
на ecss1sudo apt install erlang
После обновления Erlang демаскировать сервис, который был маскирован при удалении erlang-base-hipe:
на ecss1sudo systemctl unmask epmd.socket epmd.service
- Запуск SSW на первом хосте.
Перед запуском изменить имя кластера на то же, которое было установлено на ecss2 на предыдущем шаге.на ecss1sudo nano /etc/ecss/ecss-mycelium/mycelium1.config
Так же меняем значение таймера для ds сервиса:на ecss1{mycelium_broker, [ {cluster_name, 'test_cluster_upd'},на ecss1sed -i 's/{cluster_timeout, 60000}/{cluster_timeout, 10800000}/g' /etc/ecss/ecss-ds/ds1.config - Сервис ecss-sorm на ecss1 сразу замаскировать, т.к. у нас заявлена работа ecss-sorm на одном хосте в кластере. на ecss1
sudo systemctl mask ecss-sorm
- Выполнить на ecss2 объединение в кластер:на ecss2
sudo ecss-control attach
- Активация сервиса Keepalived.на ecss1
sudo systemctl enable --now keepalived
- На ecss1 запустите сервис mycelium и в CoCon проверьте, что сервис поднялся и видно ноды mycelium хостов ecss1/ ecss2:на ecss1
sudo systemctl start ecss-mycelium
выполняется в CoCon/system-status Checking... ┌─┬───────────────┬────────────────────────────┬───────────────────────────────┬────────────┬───────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes│Uptime │ ├─┼───────────────┼────────────────────────────┼───────────────────────────────┼────────────┼───────┤ │ │core1@ecss2 │ecss-core-3.14.16.1.130 │core1@ecss2 │not running │3h 5m │ │ │ds1@ecss2 │ecss-ds-3.14.16.1.130 │ds1@ecss2 │ds1@ecss2 │3h 5m │ │ │md1@ecss2 │ecss-mediator-3.14.16.1.130 │md1@ecss2 │md1@ecss2 │3h 5m │ │ │mycelium1@ecss1│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss1,mycelium1@ecss2│not running │10m 42s│ │ │mycelium1@ecss2│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss1,mycelium1@ecss2│not running │3h 5m │ │ │sip1@ecss2 │ecss-pa-sip-3.14.16.1.130 │sip1@ecss2 │sip1@ecss2 │3h 5m │ │ │sorm1@ecss2 │ecss-sorm-3.14.16.1.130 │sorm1@ecss2 │not running │3h 5m │ └─┴───────────────┴────────────────────────────┴───────────────────────────────┴────────────┴───────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────────┬───────────────┬───────────┬───────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────────┼───────────────┼───────────┼───────────┤ │ core1@ecss2 │ msr.ecss1 │ 3.14.15.243 │ connected │ 00:21:09 │ │ │ msr.ecss2 │ 3.14.16.1.0 │ connected │ 00:00:59 │ └─────────────┴───────────┴───────────────┴───────────┴───────────┘
- Перед запуском ecss-ds на ecss1 необходимо сделать backup директории /var/lib/ecss/oasys и удалить ее, для того чтобы с другого хоста загрузить актуальную БД. Сделать это можно переименовав существующую директорию:
После этого ecss-ds на хосте ecss1 загрузит БД с хоста ecss2.
на ecss1sudo mv /var/lib/ecss/oasys /var/lib/ecss/oasys-$(date +%Y%m%d-%H_%M)
- На ecss1 запустите сервис ds и в CoCon проверить, что сервис ds доступен на обоих хостах ecss1/ ecss2:на ecss1
sudo systemctl start ecss-ds
выполняется в CoCon/system-status Checking... ┌─┬───────────────┬────────────────────────────┬───────────────────────────────┬───────────────────┬───────┐ │ │ Node │ Release │ Erlang nodes │ Mnesia nodes │Uptime │ ├─┼───────────────┼────────────────────────────┼───────────────────────────────┼───────────────────┼───────┤ │ │core1@ecss2 │ecss-core-3.14.16.1.130 │core1@ecss2 │not running │3h 13m │ │ │ds1@ecss1 │ecss-ds-3.14.16.1.130 │ds1@ecss1,ds1@ecss2 │ds1@ecss1,ds1@ecss2│12s │ │ │ds1@ecss2 │ecss-ds-3.14.16.1.130 │ds1@ecss1,ds1@ecss2 │ds1@ecss1,ds1@ecss2│3h 13m │ │ │md1@ecss2 │ecss-mediator-3.14.16.1.130 │md1@ecss2 │md1@ecss2 │3h 13m │ │ │mycelium1@ecss1│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss1,mycelium1@ecss2│not running │18m 33s│ │ │mycelium1@ecss2│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss1,mycelium1@ecss2│not running │3h 13m │ │ │sip1@ecss2 │ecss-pa-sip-3.14.16.1.130 │sip1@ecss2 │sip1@ecss2 │3h 13m │ │ │sorm1@ecss2 │ecss-sorm-3.14.16.1.130 │sorm1@ecss2 │not running │3h 12m │ └─┴───────────────┴────────────────────────────┴───────────────────────────────┴───────────────────┴───────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────────┬───────────────┬───────────┬───────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────────┼───────────────┼───────────┼───────────┤ │ core1@ecss2 │ msr.ecss1 │ 3.14.15.243 │ connected │ 00:29:01 │ │ │ msr.ecss2 │ 3.14.16.1.0 │ connected │ 00:08:50 │ └─────────────┴───────────┴───────────────┴───────────┴───────────┘
- Далее такими же действиями запустить сервисы: ecss-mediator, ecss-pa-sip, ecss-core следующими командами:на ecss1
sudo systemctl start ecss-mediator
на ecss1sudo systemctl start ecss-pa-sip
Проверить статус в CoCom:на ecss1sudo systemctl start ecss-core
Результат:/system-status Checking... ┌─┬───────────────┬────────────────────────────┬───────────────────────────────┬─────────────────────┬──────┐ │ │ Node │ Release │ Erlang nodes │ Mnesia nodes │Uptime│ ├─┼───────────────┼────────────────────────────┼───────────────────────────────┼─────────────────────┼──────┤ │ │core1@ecss1 │ecss-core-3.14.16.1.130 │core1@ecss1,core1@ecss2 │not running │3m 50s│ │ │core1@ecss2 │ecss-core-3.14.16.1.130 │core1@ecss1,core1@ecss2 │not running │3h 22m│ │ │ds1@ecss1 │ecss-ds-3.14.16.1.130 │ds1@ecss1,ds1@ecss2 │ds1@ecss1,ds1@ecss2 │9m 42s│ │ │ds1@ecss2 │ecss-ds-3.14.16.1.130 │ds1@ecss1,ds1@ecss2 │ds1@ecss1,ds1@ecss2 │3h 22m│ │ │md1@ecss1 │ecss-mediator-3.14.16.1.130 │md1@ecss1,md1@ecss2 │md1@ecss1,md1@ecss2 │5m 22s│ │ │md1@ecss2 │ecss-mediator-3.14.16.1.130 │md1@ecss1,md1@ecss2 │md1@ecss1,md1@ecss2 │3h 22m│ │ │mycelium1@ecss1│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss1,mycelium1@ecss2│not running │28m 4s│ │ │mycelium1@ecss2│ecss-mycelium-3.14.16.1.130 │mycelium1@ecss1,mycelium1@ecss2│not running │3h 23m│ │ │sip1@ecss1 │ecss-pa-sip-3.14.16.1.130 │sip1@ecss1,sip1@ecss2 │sip1@ecss1,sip1@ecss2│4m 40s│ │ │sip1@ecss2 │ecss-pa-sip-3.14.16.1.130 │sip1@ecss1,sip1@ecss2 │sip1@ecss1,sip1@ecss2│3h 22m│ │ │sorm1@ecss2 │ecss-sorm-3.14.16.1.130 │sorm1@ecss2 │not running │3h 22m│ └─┴───────────────┴────────────────────────────┴───────────────────────────────┴─────────────────────┴──────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────────┬───────────────┬───────────┬───────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────────┼───────────────┼───────────┼───────────┤ │ core1@ecss1 │ msr.ecss1 │ 3.14.15.243 │ connected │ 00:02:37 │ │ core1@ecss2 │ msr.ecss1 │ 3.14.15.243 │ connected │ 00:38:31 │ │ │ msr.ecss2 │ 3.14.16.1.0 │ connected │ 00:18:20 │ └─────────────┴───────────┴───────────────┴───────────┴───────────┘
- Обновление пакета ecss-restfs:на ecss1
sudo apt install ecss-restfs
- Обновление пакета ecss-media-server:Актуализировать конфигурацию:на ecss1
sudo apt install ecss-media-server
Проверить и при необходимости исправить вручную файл → /etc/ecss/ecss-media-server/config.xmlна ecss1sudo dpkg-reconfigure ecss-media-server
Так же, для регистрации media-server`a с ecss2 на ecss1 надо убрать ранее добавленные комментирование из файла /etc/ecss/ecss-media-server/conf.d/default.xml на ecss2:После чего перезапустить сервис:на ecss2sudo systemctl restart ecss-media-server.service
- Обновление пакета ecss-media-resources:на ecss1
sudo apt install ecss-media-resources
- Обновление пакета ecss-web-conf:на ecss1
sudo apt install ecss-web-conf
- После обновления сервисов удалить файл фиксации версии ssw:на ecss1
sudo rm /etc/apt/preferences.d/eltex-ecss10
- Обновление пакета ecss-dns-env.
9 Проверка обновления
- После выполнения обновления проверить работу всех сервисов SSW.