Stronghold Enterprise Edition (EE) можно обновить до Stronghold Certified Security Edition (CSE) одним из следующих способов:

Поддерживается обновление с Stronghold EE 1.15.x до Stronghold CSE 1.16.0. Если используется версия Stronghold EE ниже 1.15.x, сначала обновитесь до последней версии ветки.

При обновлении до Stronghold CSE возможна временная недоступность сервиса.

Обновление в исполнении Standalone

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

  1. Проверьте текущую версию Stronghold:

    stronghold version
  2. Сохраните unseal-ключи и root-токен в защищённое хранилище.

  3. Создайте снимок (snapshot) кластера Stronghold. Пример:

    stronghold operator raft snapshot save stronghold-$(date +%F_%H-%M).snap
    ls -lh stronghold-*.snap

    Проверьте, что снапшот создан:

    ls -lh ./stronghold-*.snap

    Полученные файлы храните вне кластера Stronghold и вне узлов, на которых он запущен.

  4. Подготовьте пакет или бинарный файл Stronghold CSE 1.16.0 на каждом узле.

Обновление кластера с одним узлом

Для обновления кластера с одним узлом выполните следующие действия:

  1. Проверьте состояние кластера перед обновлением:

    stronghold status

    Необходимо наличие следующих значений:

    Initialized             true
    Sealed                  false
    Version                 1.15.0+ee
    HA Mode                 active
  2. Остановите сервис stronghold:

    sudo systemctl stop stronghold
  3. Замените бинарный файл Stronghold EE на бинарный файл Stronghold CSE 1.16.0.

  4. Убедитесь, что права на бинарный файл остались прежними, либо выполните:

    sudo chmod 511 /opt/stronghold/stronghold
    sudo chown stronghold:stronghold /opt/stronghold/stronghold
  5. Запустите сервис stronghold:

    sudo systemctl start stronghold
    sudo systemctl status stronghold --no-pager
  6. Проверьте, что узел запустился корректно:

    stronghold status
    stronghold version

    Проверьте, что:

    • сервис stronghold находится в состоянии Running;
    • ошибки запуска отсутствуют;
    • версия соответствует 1.16.0 (CSE).
  7. При необходимости распечатайте Stronghold.

Обновление кластера с несколькими узлами

Обновление кластера с несколькими узлами выполняется поочерёдно, чтобы кластер оставался доступным.

  1. Определите текущий leader-узел:

    stronghold status

    В выводе будет указан адрес текущего leader-узла в поле HA Cluster:

    ...
    HA Cluster              https://10.241.32.36:8201
    ...
    

    Зафиксируйте leader-узел.

  2. Поочерёдно обновите все follower-узлы. На каждом follower-узле:

    • Остановите сервис:

      sudo systemctl stop stronghold
    • Замените бинарный файл Stronghold EE на Stronghold CSE 1.16.0. При необходимости восстановите права:

      sudo chmod 511 /opt/stronghold/stronghold
      sudo chown stronghold:stronghold /opt/stronghold/stronghold
    • Запустите сервис:

      sudo systemctl start stronghold
      sudo systemctl status stronghold --no-pager
    • При необходимости распечатайте узел Stronghold.

    • Проверьте состояние узла:

      stronghold status
      stronghold version
    • Проверьте, что:

      • сервис stronghold находится в состоянии Running;
      • ошибки запуска отсутствуют;
      • версия соответствует 1.16.0 (CSE).
    • Переходите к следующему follower-узлу только после успешной проверки текущего.

  3. После обновления всех follower-узлов выполните смену leader-узла:

    stronghold operator step-down
    # Подождите некоторое время.
    stronghold status

    Ожидаемый результат: leader-узел сменился, в поле HA Cluster указано другое значение.

  4. Обновите прежний leader-узел:

    sudo systemctl stop stronghold
    # Замените бинарный файл Stronghold EE на Stronghold CSE 1.16.0.
    # При необходимости восстановите права:
    # sudo chmod 511 /opt/stronghold/stronghold
    # sudo chown stronghold:stronghold /opt/stronghold/stronghold
    sudo systemctl start stronghold
    sudo systemctl status stronghold --no-pager
    stronghold status
    stronghold version

    Проверьте, что:

    • сервис stronghold находится в состоянии Running;
    • ошибки запуска отсутствуют;
    • версия соответствует 1.16.0 (CSE).
  5. При необходимости распечатайте последний узел Stronghold.

  6. Выполните финальную проверку кластера:

    stronghold status
    stronghold version

    Проверьте, что:

    • все узлы кластера доступны;
    • отсутствуют ошибки репликации и проблемы с кворумом;
    • на узлах установлена версия 1.16.0 (CSE).