Общие сведения об обновлении SpaceVM
Внимание
Обновление с версии 6.5.х на версию 7.0.1 на данный момент недоступно. Версию 7.0.1 необходимо устанавливать самостоятельно.
Процедуру установки обновлений рекомендуется выполнять на контроллере после проверки доступности всех узлов SpaceVM.
При запуске установки обновлений на контроллере SpaceVM происходит синхронное обновление всех доступных контроллеру узлов SpaceVM.
Требуется руководствоваться той версией программной документации (встроенной или с официального сайта), которая соответствует установленной версии ПО.
В случае отсутствия доступа к репозиториям SpaceVM, расположенным по адресу http://update.spacevm-service.ru, необходимо обеспечить доступ или использовать собственный сервер обновлений с репозиториями SpaceVM.
Контроль и учет версий SpaceVM
Релизы имеют семантическую систему нумерации релизов, в которой каждый номер версии состоит из трех чисел, разделенных точками, например, 7.0.2.
При каждом обновлении номер версии ПО увеличивается по следующим правилам:
-
Первое число (х, мажорный релиз) — при значительных изменениях архитектуры ПО, возможно, без сохранения обратной совместимости.
-
Второе число (y, минорный релиз) — при добавлении большого объема новых возможностей ПО.
-
Третье число (z, патч релиз) — внесение исправлений в предыдущую версию ПО, с сохранением обратной совместимости.
Порядок обновлений
Все обновления выполняются последовательно, начиная снизу вверх. Сначала обновляется версия патча X.Y.Z, далее минорная версия X.Y.Z, далее мажорная версия X.Y.Z.
В общем случае порядок действий следующий:
-
Обновить текущую версию ПО до последней версии патча.
-
Обновить текущую версию ПО до следующей минорной версии.
-
Обновить мажорную версии ПО до следующей мажорной версии.
Повторить действия необходимое количество раз и последовательно.
Стабильность обновлений
Каждый последующий релиз стабильнее предыдущего, рекомендуется ознакомиться с изменениями перед обновлением.
Определение версии SpaceVM
Версию установленной SpaceVM можно узнать через Web-интерфейс или при помощи CLI.
Определение версии в Web-интерфейсе контроллера
Определить версию установленного SpaceVM можно несколькими способами:
-
В правом нижнем углу Web-интерфейса указана версия SpaceVM.
-
Перейти в раздел Настройки - Контроллер основного меню, далее выбрать пункт ПО и Сервисы - ПО. В открывшемся окне указаны версия контроллера SpaceVM и версии основных модулей.
-
Перейти в раздел Серверы основного меню, выбрать сервер, версию которого необходимо узнать. В открывшемся окне выбрать пункт ПО и Сервисы - ПО. В данном разделе будут указаны версия SpaceVM и версии основных модулей.
Определение версии в CLI
Определить версию SpaceVM можно, выполнив в CLI следующую команду:
version
Описание пакетов
utils — базовый пакет со всеми основными зависимостями, необходимыми для работы основных компонентов SpaceVM. По нему определяется базовая версия и от него зависят все остальные пакеты. Обновляется всегда первый. Включает систему автотестирования узла.
docs — документация в Web-интерфейсе. Есть только на контроллере. На официальный сайт выкладывается последняя документация из общей ветки разработки каждый раз при сборке пакета.
cli-env — зависимости CLI.
cli-app — CLI.
node-env — зависимости узла.
node-app — супервизор и Web-сервер узла.
node-ui — Web-интерфейс узла.
controller-env — зависимости контроллера.
controller-app — супервизор и Web-сервер контроллера.
controller-ui — Web-интерфейс контроллера.
Механизм обновления SpaceVM
Во время обновления SpaceVM выполняет следующие действия:
- Блокируется Web-интерфейс с выводом сообщения о том, что идет процесс обновления.
- Происходит повторная проверка наличия обновлений.
- Если происходит обновление контроллера, то останавливаются все сервисы. Также перестают работать Высокая доступность и Динамическое распределение ресурсов между серверами.
- Обновляется пакетная база SpaceVM.
- Происходит автотестирование системы.
- После завершения обновления контроллера запускаются все сервисы. Высокая доступность и Динамическое распределение ресурсов работают в штатном режиме.
- Возобновляется штатная работа Web-интерфейса SpaceVM.
Предварительные условия для успешного обновления
Перед обновлением необходимо убедиться, что все локальные и сетевые хранилища, подключенные к узлам, функционируют исправно.
В случае, если на каких-то узлах присутствуют недоступные каталоги сетевых хранилищ или пулов данных (каталоги, которые не отвечают при обращении, например, по команде ls), установка на этом узле может остановиться до решения проблемы. Остановка процесса обновления обычно происходит на стадии или после загрузки пакетов. Например, такое возможно при смонтированных ресурсах NFS и недоступном NFS-сервере или при неисправной кластерной ФС типа GFS2.
Необходимо убедиться, что причиной остановки обновления является недоступность каталогов, а не прерванное интернет-соединение.
Характерный признак — это множество процессов на узле в D-state (можно увидеть из shell командой ps -ax | grep \ D).
Необходимо определить каталоги, которые не отвечают, и устранить проблему.
Безопасность обновлений
Для обеспечения безопасности используется проверка целостности пакетов в репозиториях SpaceVM на основе хеш-суммы, а также файл, содержащий контрольные суммы, подписан закрытым ключом с алгоритмом шифрования RSA 4096.
При обновлении производится сверка хеш-сумм и проверка подписи с использованием открытого ключа, который поставляется в комплекте с SpaceVM.
При повреждении пакета или его подмены установка выполнена не будет.