Перейти к содержанию

Работа с репозиториями SpaceVM

Для каждой версии SpaceVM использует 2 публичных репозитория - основной (base) и дополнительный (extra), включающие пакетную базу с последними патчами.

  1. Основной (base) репозиторий.

    В base репозиториях содержится основная пакетная база SpaceVM.

  2. Дополнительный (extra) репозиторий.

    В extra репозиториях содержатся опциональные дополнительные пакеты, не входящие в базовую установку SpaceVM.

Пример основного и дополнительного репозитория

Например, для релиза SpaceVM 6.3.х основным является prod-630 и дополнительным extra-630.

Для получения списка подключенных репозиториев SpaceVM необходимо выполнить в CLI команду:

system repo get

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

Обновление до версии 6.5.0

При обновлении SpaceVM с версии 6.4.1 на версию 6.5.0 вместо команды синхронизации репозиториев node repo-sync необходимо последовательно выполнять следующие команды в CLI на контроллере:

node nodes-cli "system repo update host https://update.spacevm.ru"
node nodes-cli "system repo update base prod-650"
node nodes-cli "system repo update extra extra-650"

Для обновления сервера источника обновлений используется команда CLI:

system repo update host {host}

Для обновления основного (base) репозитория/ветки:

system repo update base {prod}

Для обновления дополнительного (extra) репозитория/ветки:

system repo update extra {extra}

Где:

  • host - <PROTO>://<FQDN> или <PROTO>://<IP> - адрес сервера обновлений, например: 'https://update.example.com'. Значение по умолчанию: http://update.spacevm.ru
  • prod - базовый репозиторий. Например: 'prod-630'.
  • extra - репозиторий для опционального '3rd-party' ПО. Например: 'extra-630'.

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

node repo-sync
Ошибка автоматической синхронизации репозиториев между контроллером и узлами

В случае невозможности автоматической синхронизации списка репозиториев необходимо вручную выполнить изменение репозиториев на каждом узле SpaceVM.

Пример обновления списка репозиториев

Предположим, что используется SpaceVM версии 6.3.0 и требуется обновить кластер до следующей версии 6.4.0. В CLI заменяем репозиторий на 6.4.0 и последующее обновление синхронизирует SpaceVM, соответствующее версии 6.4.0:

system repo update base prod-640
system repo update extra extra-640
node repo-sync

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

upgrade check

После успешной настройки репозиториев и проверки наличия обновления необходимо перейти к процессу обновления.


Сброс настроек репозиторев

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

system reset apt

Подробная информация по сбросу настроек


Кэширование обновлений SpaceVM

Кэширования обновлений выполняется в CLI контроллера SpaceVM.

При установке обновлений с базовых репозиториев SpaceVM из-за высокой суммарной нагрузки на сеть при одновременном обновлении всех узлов рекомендуется использовать механизм кэширования (сохранение файлов обновлений на локальном диске).

Также рекомендуется использовать механизм кэширования при невозможности обеспечить доступ к базовым или локальным репозиториям SpaceVM во время установки обновлений.

Перед кэшированием необходимо выполнить проверку связи с репозиториями SpaceVM и наличия обновлений, выполнив в CLI команду:

upgrade check

Далее следует выполнить кэширование перед началом обновления на контроллере. Для этого выполнить в CLI команду:

upgrade download

После окончания процесса кэширования рекомендуется проверить соответствие версий кэшированных пакетов с выводом команды upgrade check, выполнив в CLI команду:

upgrade cache
В случае наличия расхождений выполнить кэширование пакетов повторно.

Внимание!

Для кэширования обновлений может потребоваться наличие значительного свободного места на локальном диске.

После успешной настройки репозиториев и проверки наличия обновления необходимо перейти к процессу обновления.