Обновление
|
ВНИМАНИЕ
Общие рекомендации и ограничения
Ограничения версий при обновлении
|
|
ВАЖНО
Версия ADCM 3.0.0 является обязательной для установки и не может быть пропущена при обновлении. Начиная с версии ADCM 3.0.0 все процессы внутри Docker-контейнера запускаются от имени непривилегированного пользователя При обновлении без использования ADCM Installer с версии ADCM ниже 3.0.0 перед первым запуском контейнера с новой версией необходимо изменить владельца каталога /adcm/data. В противном случае Docker-контейнер не сможет получить доступ к существующим данным и завершит работу. Если для хранения данных используется Docker volume, выполните следующие шаги:
|
Процесс обновления ADCM зависит от способа установки ADCM.
Обновление при использовании ADCM Installer
Если ADCM был развернут с использованием ADCM Installer, обновление выполняется путем изменения конфигурации и применения изменений с помощью утилиты adi.
Для обновления ADCM до нужной версии выполните следующие шаги:
-
Откройте файл конфигурации adcm.yaml, использовавшийся при установке. Пример файла конфигурации приведен в статье Использование ADCM Installer.
-
В секции, соответствующей ADCM, в параметре
imageукажите Docker-образ ADCM с требуемым тегом версии, напримерhub.arenadata.io/adcm/adcm:2.12.0. -
Примените изменения:
$ sudo adi applyПосле выполнения команды будет пересоздан контейнер ADCM с использованием образа, указанного в параметре
imageфайла adcm.yaml.
Online-обновление
Для обновления ADCM, установленного без использования ADCM Installer, до нужной версии выполните следующие шаги:
-
Остановите и удалите Docker-контейнер
adcm:$ sudo docker rm -f adcm -
Загрузите из Arenadata Docker Registry необходимый Docker-образ:
$ sudo docker pull hub.arenadata.io/adcm/adcm:<version>где
<version>— это версия Docker-образа в одном из следующих форматов:-
<major>.<minor>.<patch>— если необходим конкретный патч ADCM. Пример: 2.0.0. -
<major>.<minor>— если необходим последний патч в рамках выбранной версии ADCM. Пример: 2.0.
ВАЖНО-
latestиспользовался для ранних версий ADCM и начиная с версии 2.0.0 больше не поддерживается. -
До выпуска ADCM 2.0.0 для версионирования использовался следующий формат:
YYYY.MM.DD.HH.
-
-
Создайте и запустите новый Docker-контейнер на базе загруженного образа, выбрав вариант в зависимости от того, каким образом была установлена предыдущая версия ADCM:
ВАЖНОПри обновлении используйте тот же способ хранения данных (bind mount или именованный том), что и при установке. Смена способа хранения без предварительного резервного копирования и восстановления приведет к потере данных.-
Если ранее использовался именованный том (named volume):
$ sudo docker run \ --name adcm \ -p 8000:8000 \ -v adcm-data:/adcm/data \ -e DB_HOST="<DATABASE_HOSTNAME_OR_IP_ADDRESS>" \ -e DB_PORT="<DATABASE_TCP_PORT>" \ -e DB_USER="<DATABASE_USERNAME>" \ -e DB_NAME="<DATABASE_NAME>" \ -e DB_PASS="<DATABASE_USER_PASSWORD>" \ -e DB_OPTIONS="<DATABASE_OPTIONS>" \ hub.arenadata.io/adcm/adcm:<version> -
Если ранее использовался bind mount:
ПРИМЕЧАНИЕПеред запуском контейнера убедитесь, что права на существующий каталог с данными принадлежат пользователю
10001:10001. При необходимости измените владельца:$ sudo chown -R 10001:10001 /opt/adcm$ sudo docker run \ --name adcm \ -p 8000:8000 \ -v /opt/adcm:/adcm/data \ -e DB_HOST="<DATABASE_HOSTNAME_OR_IP_ADDRESS>" \ -e DB_PORT="<DATABASE_TCP_PORT>" \ -e DB_USER="<DATABASE_USERNAME>" \ -e DB_NAME="<DATABASE_NAME>" \ -e DB_PASS="<DATABASE_USER_PASSWORD>" \ -e DB_OPTIONS="<DATABASE_OPTIONS>" \ hub.arenadata.io/adcm/adcm:<version>
ПРИМЕЧАНИЕПодробная информация о переменных окруженияDB_HOST,DB_PORT,DB_USER,DB_NAME,DB_PASSиDB_OPTIONSприведена в статье Установка. -
Offline-обновление
Если хосты не имеют доступа к Интернету, доступно offline-обновление ADCM.
Чтобы выполнить offline-обновление ADCM, установленного без использования ADCM Installer, до нужной версии, сделайте следующее:
-
Остановите и удалите Docker-контейнер
adcm:$ sudo docker rm -f adcmПРИМЕЧАНИЕКлиенты, использующие Enterprise-версии продуктов, могут обратиться в команду поддержки Arenadata для получения архива с расширением sh.xz, который содержит специальный скрипт для ADCM. После остановки Docker-контейнераadcmдальнейшее обновление ADCM включает установку согласно инструкции. -
Загрузите Docker-образ из Arenadata Docker Registry на хост, который имеет доступ в Интернет:
$ sudo docker pull hub.arenadata.io/adcm/adcm:<version>где
<version>— это версия Docker-образа в одном из следующих форматов:-
<major>.<minor>.<patch>— если необходим конкретный патч ADCM. Пример: 2.0.0. -
<major>.<minor>— если необходим последний патч в рамках выбранной версии ADCM. Пример: 2.0.
ВАЖНО-
latestиспользовался для ранних версий ADCM и начиная с версии 2.0.0 больше не поддерживается. -
До выпуска ADCM 2.0.0 для версионирования использовался следующий формат:
YYYY.MM.DD.HH.
-
-
Сохраните загруженный Docker-образ в файл с расширением .tar:
$ sudo docker save -o <file_name> hub.arenadata.io/adcm/adcm:<version>где
<file_name>— имя создаваемого файла с расширением (например, adcm_2.5.0_arenadata.tar).ПРИМЕЧАНИЕВыполнение команды может занять некоторое время. Пожалуйста, дождитесь ее завершения. -
Скопируйте сохраненный файл с текущего хоста на хост без доступа к Интернету любым из доступных способов.
ВАЖНОУбедитесь в наличии настроенного доступа к хостам и необходимых прав доступа к файлу. -
Загрузите Docker-образ из сохраненного файла:
$ sudo docker load -i <file_path>где
<file_path>— абсолютный путь к сохраненному файлу с Docker-образом.Пример результата успешного выполнения команды:
Loaded image: hub.arenadata.io/adcm/adcm:2.5.0
-
Создайте и запустите новый Docker-контейнер на базе загруженного образа, выбрав вариант в зависимости от того, каким образом была установлена предыдущая версия ADCM:
ВАЖНОПри обновлении используйте тот же способ хранения данных (bind mount или именованный том), что и при установке. Смена способа хранения без предварительного резервного копирования и восстановления приведет к потере данных.-
Если ранее использовался именованный том (named volume):
$ sudo docker run \ --name adcm \ -p 8000:8000 \ -v adcm-data:/adcm/data \ -e DB_HOST="<DATABASE_HOSTNAME_OR_IP_ADDRESS>" \ -e DB_PORT="<DATABASE_TCP_PORT>" \ -e DB_USER="<DATABASE_USERNAME>" \ -e DB_NAME="<DATABASE_NAME>" \ -e DB_PASS="<DATABASE_USER_PASSWORD>" \ -e DB_OPTIONS="<DATABASE_OPTIONS>" \ hub.arenadata.io/adcm/adcm:<version> -
Если ранее использовался bind mount:
ПРИМЕЧАНИЕПеред запуском контейнера убедитесь, что права на существующий каталог с данными принадлежат пользователю
10001:10001. При необходимости измените владельца:$ sudo chown -R 10001:10001 /opt/adcm$ sudo docker run \ --name adcm \ -p 8000:8000 \ -v /opt/adcm:/adcm/data \ -e DB_HOST="<DATABASE_HOSTNAME_OR_IP_ADDRESS>" \ -e DB_PORT="<DATABASE_TCP_PORT>" \ -e DB_USER="<DATABASE_USERNAME>" \ -e DB_NAME="<DATABASE_NAME>" \ -e DB_PASS="<DATABASE_USER_PASSWORD>" \ -e DB_OPTIONS="<DATABASE_OPTIONS>" \ hub.arenadata.io/adcm/adcm:<version>
ПРИМЕЧАНИЕПодробная информация о переменных окруженияDB_HOST,DB_PORT,DB_USER,DB_NAME,DB_PASSиDB_OPTIONSприведена в статье Установка. -