Работа с репозиториями SpaceVM
Для каждой версии SpaceVM использует 2 публичных репозитория - основной (base) и дополнительный (extra), включающие пакетную базу с последними патчами.
-
Основной (base) репозиторий.
В base репозиториях содержится основная пакетная база SpaceVM.
-
Дополнительный (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.ruprod
- базовый репозиторий. Например: '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 контроллера команды:
-
Проверить связь с репозиториями SpaceVM и наличие обновлений:
upgrade check
-
Выполнить кэширование перед началом обновления:
upgrade download
-
Проверить соответствие версий кэшированных пакетов и пакетов, находящихся в официальном репозитории. Для этого необходимо сравнить выводы команд:
upgrade check
upgrade cache
В случае наличия расхождений необходимо выполнить кэширование пакетов повторно.
После успешной настройки репозиториев и проверки наличия обновления необходимо перейти к процессу обновления.