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

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

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

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

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

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

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

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

Например:

  • Для релиза SpaceVM 6.5.0 основным является prod-650 и дополнительным extra-650.

  • Для релиза SpaceVM 6.5.1 основным является prod-651 и дополнительным extra-651.

  • Для релиза SpaceVM 6.5.2 основным является prod-652 и дополнительным extra-652.

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

system repo get

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

Для обновления сервера источника обновлений используется команда 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.5.0 и требуется обновить кластер до следующей версии 6.5.1. В CLI необходимо заменить репозиторий на 6.5.1. Последующее обновление синхронизирует SpaceVM, соответствующее версии 6.5.1:

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

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

upgrade check

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

Обновление на версию 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"

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

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

system reset apt

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


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

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

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

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

Внимание

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

Для кэширования обновления SpaceVM необходимо выполнить в CLI контроллера команды:

  1. Проверить связь с репозиториями SpaceVM и наличие обновлений:

    upgrade check
    
  2. Выполнить кэширование перед началом обновления:

    upgrade download
    
  3. Проверить соответствие версий кэшированных пакетов и пакетов, находящихся в официальном репозитории. Для этого необходимо сравнить выводы команд:

    upgrade check
    
    upgrade cache
    

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

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