Обновление программного обеспечения системы
В данном разделе рассматривается процедура обновления программного обеспечения (ПО) системы ECSS-10.
Обновление ПО ECSS-10 производится из под ОС Linux из репозитория ООО "Предприятие "ЭЛТЕКС"".
В данном подразделе указаны команды, которые выполняются из командной консоли управления операционной системы Linux (shell) непосредственно хоста, на котором производится обновление ПО системы ECSS-10.
При обновлении с версий менее, чем 3.14.3.12 (включая 3.11) важно остановить все процессы ssw. Требуется для обновления прав пользователя.
Обновление ПО нод системы
При обновлении до версии 3.14.7 и выше происходит удаление устаревших сертификатов: http_terminal.{crt, key}, call_api.{crt, key}, teleconference_api.{crt, key}. В системе автоматически заменяется сертификат http_terminal.{crt, key} на ecss10.{crt, key}. Для администратора системы будет взведена авария с информацией о замене сертификата.
Для полного обновления системы выполните команды:
Команда для обновления ПО нод системы:
sudo aptitude update
Команда для установки ПО нод системы:
sudo aptitude upgrade
Для обновления ПО системы определенных нод выполните команды:
- Команда для обновления ПО нод системы:
sudo aptitude update
Команда для установки ПО нод системы:
sudo aptitude upgrade <NODE>
где <NODE> — имя ноды: ecss-ds, ecss-core, ecss-pa_sip, ecss-pa_megaco, ecss-mycelium, ecss-mediator.
Перезапуск ноды
Для перезапуска ноды используются команды:
Если на хосте запущена одна нода определенного типа:
Для остановки ноды:sudo systemctl stop ecss-<SOME_ROLE>.service
Для запуска ноды:
sudo systemctl start ecss-<SOME_ROLE>.service
- Если на хосте запущено несколько нод определенного типа:
Для остановки ноды:sudo systemctl stop ecss-<SOME_ROLE> <NODE>
Для запуска ноды:
sudo systemctl start ecss-<SOME_ROLE> <NODE>
где
<SOME_ROLE> — роль кластера: ds, core, pa-sip, pa-megaco, mycelium, mediator;
<NODE> — имя ноды.
Остановку ноды необходимо выполнять, если статус ее работы — "запущена" (Active).
Примеры
Перезапуск ноды DS:
sudo systemctl stop ecss-ds.service sudo systemctl start ecss-ds.service
CODEПерезапуск ноды CORE:
sudo systemctl stop ecss-core.service sudo systemctl start ecss-core.service
CODEПерезапуск ноды PA-SIP:
sudo systemctl stop ecss-pa-sip.service sudo systemctl start ecss-pa-sip.service
CODEПерезапуск ноды PA-MEGACO:
sudo systemctl stop ecss-pa-megaco.service sudo systemctl start ecss-pa-megaco.service
CODEПерезапуск ноды MEDIATOR:
sudo systemctl stop ecss-mediator.service sudo systemctl start ecss-mediator.service
CODEПерезапуск ноды MYCELIUM:
sudo systemctl stop ecss-mycelium.service sudo systemctl start ecss-mycelium.service
CODE
В случае необходимости остановки/запуска всех сервисов ecss используются следующие команды:
Для остановки всех сервисов ecss:
sudo systemctl stop ecss.service
Для запуска всех сервисов ecss:
sudo systemctl start ecss.service
Проверка статуса работы ноды
Для проверки статуса работы ноды используются команды:
- Если на хосте запущена одна нода определенного типа:
sudo systemctl status ecss-<SOME_ROLE>.service
- Если на хосте запущено несколько нод определенного типа:
sudo systemctl status ecss-<SOME_ROLE> <NODE>
где
<SOME_ROLE> — роль кластера: ds, core, pa-sip, pa-megaco, mycelium, mediator;
<NODE> — имя ноды.
Если нода запущена, то в результате выполнения команды будет выведено сообщение: "Active: active (running)".
Если нода не запущена, то — "Active: inactive (dead)".
Проверка статуса работы ноды DS: sudo systemctl status ecss-ds.service.
Проверка статуса работы ноды CORE: sudo systemctl status ecss-core.service.
Проверка статуса работы ноды PA_SIP: sudo systemctl status ecss-pa-sip.service.
Проверка статуса работы ноды PA_MEGACO: sudo systemctl status ecss-pa-megaco.service.
Проверка статуса работы ноды MEDIATOR: sudo systemctl status ecss-mediator.service.
Проверка статуса работы ноды MYCELIUM: sudo systemctl status ecss-mycelium.service.
Примеры
Проверка статуса работы ноды PA-SIP с именем sip1:
ssw@ecss1:~/ssw_3.14$ systemctl status ecss-pa-sip.service
● ecss-pa-sip.service — daemon ecss-pa-sip-3.14.2.0 of ecss-10
Loaded: loaded (/lib/systemd/system/ecss-pa-sip.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-12-25 13:08:55 +07; 1 weeks 4 days ago
Main PID: 13185 (beam.smp)
CGroup: /ecss.slice/ecss-erlang.slice/ecss-pa-sip.service
├─13185 ecss-pa-sip -pc unicode -K true -A 8 -t 2097152 -- -root /usr/lib/ecss/ecss-pa-sip -progname erl -- -home /var/lib/ecss -- -no
├─13332 erl_child_setup 1024
├─13452 inet_gethost 4
├─13453 inet_gethost 4
├─13926 inet_gethost 4
├─13927 inet_gethost 4
├─14615 sh -s disksup
└─14619 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
Проверка статуса работы всех нод(будут показаны только сервисы, которые в работе):
ssw@ecss1:~/ssw_3.14$ systemctl status ecss.slice | more
● ecss.slice - ecss slice
Loaded: loaded (/lib/systemd/system/ecss.slice; static; vendor preset: enabled)
Active: active since Wed 2018-12-19 14:02:19 +07; 2 weeks 3 days ago
Tasks: 222
Memory: 2.0G
CPU: 2d 1h 5min 57.038s
CGroup: /ecss.slice
├─ecss-cc-ui-api.service
│ └─13299 /usr/bin/nodejs /usr/lib/share/ecss-cc-ui-api/dist/websockets/src/main.js
├─ecss-web-socket.service
│ └─13859 /usr/bin/python3 provider/websocket.py
├─ecss-media-server.service
│ └─11973 /usr/bin/ecss-media-server --noinput
├─ecss-erlang.slice
│ ├─ecss-ds.service
│ │ ├─12812 ecss-ds -pc unicode -K true -A 8 -t 2097152 -e 100000 -- -root /usr/lib/ecss/ecss-ds -progname erl -- -home /var/lib/ecss
-- -noshell -noinput -mode embedded -config /tmp/ds1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-ds -b
oot /usr/lib/ecss/ecss-ds/releases/3.14.2.0/ecss-ds -mnesia core_dir "/var/log/ecss/ds/crashdumps" -sname ds1 -setcookie ecss-ds
│ │ ├─12935 erl_child_setup 1024
│ │ ├─13022 inet_gethost 4
│ │ ├─13023 inet_gethost 4
│ │ ├─13034 inet_gethost 4
│ │ ├─13040 sh -s disksup
│ │ ├─13041 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
│ │ └─18915 inet_gethost 4
│ ├─ecss-core.service
│ │ ├─12850 ecss-core -pc unicode -K true -A 2 -e 65536 -P 4194304 -sfwi 500 -scl false -zdbbl 64MB -- -root /usr/lib/ecss/ecss-core -
progname erl -- -home /var/lib/ecss -- -noshell -noinput -mode embedded -config /tmp/core1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boo
t_var ROOTDIR /usr/lib/ecss/ecss-core -boot /usr/lib/ecss/ecss-core/releases/3.14.2.0/ecss-core -mnesia core_dir "/var/log/ecss/core/crashdumps
" -sname core1 -setcookie ecss_core_cookie
│ │ ├─12979 erl_child_setup 1024
│ │ ├─13049 inet_gethost 4
│ │ ├─13050 inet_gethost 4
│ │ ├─13390 inet_gethost 4
│ │ ├─13391 inet_gethost 4
│ │ ├─13409 sh -s disksup
│ │ └─13410 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
│ ├─ecss-pa-sip.service
│ │ ├─13185 ecss-pa-sip -pc unicode -K true -A 8 -t 2097152 -- -root /usr/lib/ecss/ecss-pa-sip -progname erl -- -home /var/lib/ecss --
-noshell -noinput -mode embedded -config /tmp/sip1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-pa-sip
-boot /usr/lib/ecss/ecss-pa-sip/releases/3.14.2.0/ecss-pa-sip -mnesia core_dir "/var/log/ecss/pa-sip/crashdumps" -sname sip1 -setcookie ecss_p
a_sip_cookie
│ │ ├─13332 erl_child_setup 1024
│ │ ├─13452 inet_gethost 4
│ │ ├─13453 inet_gethost 4
│ │ ├─13926 inet_gethost 4
│ │ ├─13927 inet_gethost 4
│ │ ├─14615 sh -s disksup
│ │ └─14619 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
│ ├─ecss-mediator.service
│ │ ├─ 7498 inet_gethost 4
│ │ ├─13128 ecss-mediator -K true -A 8 -pc unicode -- -root /usr/lib/ecss/ecss-mediator -progname erl -- -home /var/lib/ecss -- -noshe
ll -noinput -mode embedded -config /tmp/md1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-mediator -boot
/usr/lib/ecss/ecss-mediator/releases/3.14.2.0/ecss-mediator -mnesia core_dir "/var/log/ecss/mediator/crashdumps" -sname md1 -setcookie mediato
r-cluster
│ │ ├─13204 erl_child_setup 1024
│ │ ├─13467 inet_gethost 4
│ │ ├─13468 inet_gethost 4
│ │ ├─13511 inet_gethost 4
│ │ ├─13691 sh -s disksup
│ │ └─13692 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
│ └─ecss-mycelium.service
│ ├─12653 ecss-mycelium -pc unicode -e 65536 -- -root /usr/lib/ecss/ecss-mycelium -progname erl -- -home /var/lib/ecss -- -noshell -
noinput -mode embedded -config /tmp/mycelium1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-mycelium -bo
ot /usr/lib/ecss/ecss-mycelium/releases/3.14.2.0/ecss-mycelium -mnesia core_dir "/var/log/ecss/mycelium/crashdumps" -sname mycelium1 -setcookie
mycelium
│ ├─12725 erl_child_setup 1024
│ ├─12767 inet_gethost 4
│ ├─12768 inet_gethost 4
│ ├─12777 sh -s disksup
│ └─12778 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
└─ecss-web-conf.service
├─13861 /usr/bin/uwsgi_python3 --ini uwsgi.ini
└─13879 /usr/bin/uwsgi_python3 --ini uwsgi.ini
Обновление нод при работе в кластере
При наличии кластера обновление лучше проводить с помощью инструментов разделения кластера, описанных в разделе Методика разделения (split) кластера.