Обновление кластера

Для обновления кластера Active/Active/NoDB с помощью утилиты iva-cli необходимо обновить следующие компоненты:

  1. обновить базу данных, если она была установлена с помощью ISO-образа iva‑db‑live_<DB_VERSION>.iso или iva‑db‑deb_<DB_VERSION>.iso, выполнив следующие действия:

    • поместить необходимый ISO-образ (iva‑db‑live_<DB_VERSION>.iso или iva‑db‑deb_<DB_VERSION>.iso) на сервер базы данных в папку /tmp

    • выполнить команду обновления системы на сервере базы данных:

      sudo iva-cli system update /tmp/<iva-db>

      где <iva-db> — название ISO-образа для сервера базы данных: iva‑db‑live_<DB_VERSION>.iso или iva‑db‑deb_<DB_VERSION>.iso

    • сохранить изменения, выполнив на сервере базы данных команду:

      sudo iva-cli live save-changes
      Если программное обеспечение компании IVA Technologies установлено на сервере с ОС Astra Linux, то команду sudo iva-cli live save-changes выполнять не требуется
    • перезагрузить сервер базы данных, выполнив команду:

      sudo reboot now
  1. обновить медиасерверы, выполнив следующие действия:

    Выполнение команд необходимо проводить поочередно на каждом медиасервере
    • поместить необходимый ISO-образ (ivcs-media-live_<MEDIA_VERSION>.iso или ivcs-media-deb_<MEDIA_VERSION>.iso) на каждый медиасервер в папку /tmp

    • выполнить команду обновления системы на медиасервере:

      sudo iva-cli system update /tmp/<iva-media>

      где <iva-media> — название ISO-образа для медиасервера: ivcs‑media‑live_<MEDIA_VERSION>.iso или ivcs‑media‑deb_<MEDIA_VERSION>.iso

    • сохранить изменения, выполнив команду:

      sudo iva-cli live save-changes
      Если программное обеспечение компании IVA Technologies установлено на сервере с ОС Astra Linux, то команду sudo iva-cli live save-changes выполнять не требуется
    • перезагрузить медиасервер, выполнив команду:

      sudo reboot now
  1. обновить головные серверы, выполнив следующие действия:

    • поместить необходимый ISO-образ (ivcs-live_<HEAD_VERSION>.iso или ivcs‑deb_<HEAD_VERSION>.iso) на каждый головной сервер в папку /tmp

    • остановить службу ivcs-server на всех головных серверах, выполнив команду:

      sudo systemctl stop ivcs-server
    • определить, какой головной сервер имеет плавающий IP-адрес (vip — Virtual IP), выполнив команду:

      ip a

      Пример вывода команды:

      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 00:50:56:af:f9:d1 brd ff:ff:ff:ff:ff:ff
          altname enp2s1
          altname ens33
          inet 10.0.206.41/24 brd 10.0.206.255 scope global eth0
             valid_lft forever preferred_lft forever
          inet 10.0.206.40/32 scope global eth0:vip
             valid_lft forever preferred_lft forever
      Сервер, имеющий плавающий IP-адрес (vip), в дальнейшем будет называться первым головным сервером
    • обновить первый головной сервер, выполнив команду:

      sudo iva-cli system update /tmp/<iva-head>

      где <iva-head> — название ISO-образа для головного сервера: ivcs‑live_<HEAD_VERSION>.iso или ivcs‑deb_<HEAD_VERSION>.iso

    • сохранить изменения на первом головном сервере, выполнив команду:

      sudo iva-cli live save-changes
      Если программное обеспечение компании IVA Technologies установлено на сервере с ОС Astra Linux, то команду sudo iva-cli live save-changes выполнять не требуется
    • перезагрузить первый головной сервер, выполнив команду:

      sudo reboot now
  1. выполнить проверку:

    • убедиться, что один из головных серверов имеет плавающий IP-адрес, выполнив команду:

      ip a

      Пример вывода команды:

      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 00:50:56:af:f9:d1 brd ff:ff:ff:ff:ff:ff
          altname enp2s1
          altname ens33
          inet 10.0.206.41/24 brd 10.0.206.255 scope global eth0
             valid_lft forever preferred_lft forever
          inet 10.0.206.40/32 scope global eth0:vip
             valid_lft forever preferred_lft forever
    • убедиться, что на обновленном головном сервере подключено внешнее файловое хранилище, выполнив команду:

      df -h

      Пример вывода команды:

      Filesystem                 Size  Used Avail Use% Mounted on
      udev                       3.9G     0  3.9G   0% /dev
      tmpfs                      795M  2.1M  793M   1% /run
      /dev/sda2                   16G  7.3G  7.4G  50% /run/live/medium
      /dev/loop0                 2.6G  2.6G     0 100% /run/live/rootfs/filesystem.squashfs
      /dev/loop1                 128K  128K     0 100% /run/live/rootfs/user.squashfs
      tmpfs                      1.6G  2.4M  1.6G   1% /run/live/overlay
      overlay                    1.6G  2.4M  1.6G   1% /
      tmpfs                      3.9G     0  3.9G   0% /dev/shm
      tmpfs                      5.0M     0  5.0M   0% /run/lock
      10.0.206.19:/nfs/share/aa   15G  2.1G   12G  15% /var/filestorage
      //127.0.0.1/filestorage     15G  2.1G   12G  15% /mnt/filestorage/conversion
      //127.0.0.1/filestorage     15G  2.1G   12G  15% /mnt/filestorage/ivcs-server
      tmpfs                      795M     0  795M   0% /run/user/1000
    • убедиться, что на обновленном головном сервере запущена служба ivcs‑server, с помощью команды:

      sudo tail -f -n 500 /var/log/ivcs-server/ivcs-server.log | grep "(IVCSService) - 'ivcs-server' service is ready"
      Выполнение команды может занимать длительное время: от 5 до 10 минут
    • пример вывода команды:

      2024-12-16 10:00:26,510 [main] INFO  (IVCSService) - 'ivcs-server' service is ready in 26636ms
    • проверить статус выполнения службы ivcs-server на обновленном головном сервере, выполнив команду:

      sudo systemctl status ivcs-server.service

      Пример вывода команды:

      ivcs-server.service - Service dedicated to provides video conference services
          Loaded: loaded (/lib/systemd/system/ivcs-server.service; enabled; vendor preset: enabled)
          Active: active (running) since Tue 2025-01-21 15:40:55 MSK; 20h ago
        Main PID: 1459 (java)
           Tasks: 173 (limit: 9477)
          Memory: 1.0G
             CPU: 12min 736ms
          CGroup: /system.slice/ivcs-server.service
                  └─1459 ivcs-server -Djava.library.path=/usr/share/ivcs-server/native -Djava.net.preferIPv4Stack=true -Dzookeeper.sas>
      Прежде чем приступать к обновлению каждого следующего головного сервера, необходимо дождаться окончания перезагрузки текущего обновляемого головного сервера и выполнить все пункты проверки
    • повторить действия обновления, сохранения изменений, перезагрузки и проверки поочередно на всех головных серверах