Подготовка к обновлению

Перед началом работ по обновлению кластеров рекомендуется сделать snapshot всех виртуальных машин, на которых установлено программное обеспечение компании IVA Technologies

Для обновления кластера Active/Active/DBStandBy (Active/Active/ExternalDB) необходимы следующие ISO-образы Платформы IVA MCU:

  • установка на сервер с IVA OS (без предустановленной ОС):

    • ivcs-live_<HEAD_VERSION>.iso — для установки головного сервера

    • ivcs-media-live_<MEDIA_VERSION>.iso — для установки медиасервера

  • установка на сервер с установленной ОС Astra Linux:

    • ivcs-deb_<HEAD_VERSION>.iso — для установки головного сервера

    • ivcs-media-deb_<MEDIA_VERSION>.iso — для установки медиасервера

    где

    • <HEAD_VERSION> — версия головного сервера Платформы IVA MCU

    • <MEDIA_VERSION> — версия медиасервера Платформы IVA MCU

Установка на серверы с ОС Astra Linux доступна для Платформы IVA MCU начиная с версии 23.Х
Начиная с версии Платформы IVA MCU 23.0 используется СУБД PostgreSQL 16, версия 9.6 удалена из системы
Если в кластере Active/Active/ExternalDB в качестве базы данных используется сервер базы данных, установленный с помощью ISO-образа iva‑db‑live_<DB_VERSION>.iso или iva‑db‑deb_<DB_VERSION>.iso, то обновление сервера базы данных необходимо проводить аналогично обновлению базы данных для кластера Active/Active/NoDB

ISO-образы Платформы IVA MCU могут быть загружены напрямую с официального файлового хранилища компании IVA Technologies с помощью команды wget.

Загруженные ISO-образы необходимо поместить на соответствующие серверы в папку /tmp

Перед началом работ по обновлению кластера необходимо выполнить следующие действия:

  1. убедиться, что оба головных сервера введены в кластер, выполнив команду:

    sudo crm status

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

    Node List:
      * Online: [ ivcs-main-1 ivcs-main-2 ]
    
    Full List of Resources:
      * Resource Group: db-group:
        * db-ip     (ocf::heartbeat:IPaddr2):        Started ivcs-main-1
      * Resource Group: ivcs-server-group:
        * ivcs-server-ip    (ocf::heartbeat:IPaddr2):        Started ivcs-main-1
      * Resource Group: filestorage-group:
        * filestorage-fs    (ocf::heartbeat:Filesystem):     Started ivcs-main-1
        * filestorage-ip    (ocf::heartbeat:IPaddr2):        Started ivcs-main-1
        * samba     (systemd:smbd):  Started ivcs-main-1
      * Clone Set: ivcs-db-ms [ivcs-db] (promotable):
        * Masters: [ ivcs-main-1 ]
        * Slaves: [ ivcs-main-2 ]
      * Clone Set: drbd-ms [drbd] (promotable):
        * Masters: [ ivcs-main-1 ]
        * Slaves: [ ivcs-main-2 ]
      * Clone Set: monitor-clone [monitor]:
        * Started: [ ivcs-main-1 ivcs-main-2 ]
      * Clone Set: diskspace-clone [diskspace]:
        * Started: [ ivcs-main-1 ivcs-main-2 ]
  2. если используется локальная база данных: убедиться, что на одном из головных серверов база данных master, а на другом головном сервере — база данных HOTSTANDBY, выполнив команду:

    sudo crm_mon -1 -A

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

    Node Attributes:
      * Node: ivcs-main-1:
        * dev_sda1_free                     : 7
        * ivcs-db-backup-master-ip          : 10.10.10.173
        * ivcs-db-backup-status             : SUCCESS
        * ivcs-db-hotstandby                : 1677498950
        * ivcs-db-replication-ip            : 10.10.10.171
        * ivcs-db-status                    : HOTSTANDBY
        * ivcs-db-timeline                  : 4
        * master-ivcs-db                    : 20
        * root_free                         : 1
      * Node: ivcs-main-2:
        * dev_sda1_free                     : 7
        * ivcs-db-replication-ip            : 10.10.10.173
        * ivcs-db-status                    : MASTER
        * ivcs-db-timeline                  : 3
        * master-ivcs-db                    : 100
        * root_free                         : 1
  3. если используется внутреннее файловое хранилище: убедиться, что DRBD синхронизированы на каждом из головных серверов, выполнив команду:

    sudo drbd-overview

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

    • на одном головном сервере:

      0:filestorage/0  Connected Secondary/Primary UpToDate/UpToDate
    • на другом головном сервере:

      0:filestorage/0  Connected Primary/Secondary UpToDate/UpToDate /var/filestorage ext4 7.8G 22M 7.4G 1%
  1. если используется локальная база данных: для каждого головного сервера убедиться, что на жестком диске с операционной системой достаточно места для создания резервной копии базы данных:

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

      sudo du -hs /var/lib/postgresql/<db_version>/main/

      где <db_version> — версия базы данных (9.6 или 16)

    • проверить наличие свободного места на жестком диске с операционной системой на каждом головном сервере, выполнив команду:

      sudo df -h
  1. проверить возможность обновления:

    • если размер базы данных меньше размера свободного места на жестком диске и после создания резервной копии базы данных на жестком диске останется свободное место, то можно проводить обновление

    • если данное условие не соблюдается, то необходимо освободить место на жестком диске с операционной системой либо увеличить размер диска