...
Загрузить дистрибутив Wimark One на сервер (при наличии доступа в интернет):
Блок кода |
---|
wget https://storage.wimark.com/api/public/dl/XZqjHaJe \
-O /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run
sudo chmod +x /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run |
Для запуска установки необходимо выполнить bash:
...
Во время установки будет предложено заполнить FQDN (рисунок 1).
Рисунок 1
Следует указать FQDN. Если FQDN использоваться не будет, то можно указать любое доменное имя, например: one.mydomain.com.
...
зайти на ВМ с платформой;
выполнить команду:
Блок кода |
---|
sudo docker restart one_nginx-ssl-proxy_1 |
Отсутствие платформы после жесткой перезагрузки
...
зайти на ВМ с платформой;
выполнить команды:
Блок кода |
---|
sudo su cd /etc/wimark/one bash start.sh |
Обновление Wimark One
Процесс обновления Wimark One представляет собой удаление старых компонентов и установку новой версии платформы.
Если нет необходимости в переносе старых данных (статистики, SSID, настроек ТД и т.д.), то необходимо только удалить старую версию платформы, а затем установить новую версию в соответствии с инструкцией по установке Установка ПО Wimark One .
Создание резервных копий
...
Создать резервную копию контейнеров:
Блок кода |
---|
docker save -o /opt/wimark_backup/images.tar \ $(docker compose -f /opt/wimark/one/docker-compose.yml config \ | grep image | awk '{print $2;}') |
Подсказка |
---|
Данный пункт не является обязательным. На данном шаге создается резервная копия контейнеров, которые удаляются при обновлении. Но если после обновления возникнут проблемы и необходимо будет вернуть всё назад, то выполнение данного пункта предоставит такую возможность. |
...
2. Создать резервную копию БД:
Блок кода |
---|
docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \ awk '{ print $1;}') mongodump --db=test --gzip --archive=/tmp/backup_wimark.gz |
Информация |
---|
Если имя контейнера с MongoDB отличается от того, что указано в команде, то можно использовать команду docker ps для поиска нужного контейнера. |
3. Создать папку для резервной копии:
Блок кода |
---|
mkdir /opt/wimark_backup/ |
4. Копировать архив с резервной копией БД из контейнера в систему:
Блок кода |
---|
docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \ awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/ |
5. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:
Блок кода |
---|
cp -r /opt/wimark/static /opt/wimark_backup/static |
Информация |
---|
Если версия Wimark One ниже 1.10, то файлы будут находится каталоге /usr/share/wimark/static |
Создание частичной резервной копии
...
2. Копировать архив с резервной копией БД из контейнера в систему:
Блок кода |
---|
docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \ awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/ |
3. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:
Блок кода |
---|
cp -r /opt/wimark/static /opt/wimark_backup/static |
Обновление ПО и перенос БД
...
Необходимо полностью удалить старую платформу следующей командой:
Блок кода |
---|
rm -r /opt/wimark; docker rm -f $(docker ps -qaf "name=one-|master|backup|one_") |
Информация |
---|
Если версия Wimark One ниже 1.10, то файлы будут находится в каталоге /etc/wimark |
Если на сервере в docker используется только Wimark One, то можно дополнительно выполнить эту команду:
Блок кода |
---|
docker system prune --all --volumes |
Примечание |
---|
Данная команда удалит все остановленные контейнеры, “висящие” (неиспользуемые) Docker-образы, неиспользуемые сети и тома. Поэтому следует использовать данную команду только в том случае, если в Docker устанавливалось только ПО Wimark One. |
2. Скачать на сервер и запустить установку (более подробное описание в разделе инструкции по установке):
Блок кода |
---|
wget https://storage.wimark.com/api/public/dl/XZqjHaJe \
-O /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run
sudo chmod +x /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run
sudo /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run |
Примечание |
---|
/tmp/ - каталог в котором хранятся временные файлы. Файлы удаляются спустя определенное время и после перезагрузки сервера. https://storage.wimark.com/api/public/dl/XZqjHaJe - пример ссылки на прошивку. WiMark-one-1.11.0-2023-10-30-qtech-installer.run - пример имени файла, может отличаться в зависимости от сборки и версии ПО. |
...
1.После того, как платформа полноценно запуститься (все контейнеры поднимаются за несколько минут), необходимо принудительно остановить контейнер отвечающий за backend:
Блок кода |
---|
docker stop $(docker ps | grep 'backend-golang-1' | awk '{ print $1;}') |
2. Копировать ранее созданную резервную копию БД в контейнер mongo:
Блок кода |
---|
docker cp /opt/wimark_backup/backup_wimark.gz $(docker ps | \ grep 'one-mongo-1\|one-mongo-ha-1' | awk '{ print $1;}'):/tmp/ |
3. Запустить процесс восстановления из резервной копии:
Блок кода |
---|
docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \ awk '{ print $1;}') mongorestore --drop --nsInclude='test.*' \ --gzip --archive=/tmp/backup_wimark.gz |
Примечание |
---|
--drop - перезаписывает текущие данные в БД. В зависимости от размеров коллекций и технических характеристик сервера, этот процесс может занять от нескольких минут до нескольких часов! |
...
4. Удалить новые и перенести старые файлы static:
Блок кода |
---|
rm -r /opt/wimark/static cp -r /opt/wimark_backup/static /opt/wimark/ |
5. Запустить контейнер отвечающий за backend:
Блок кода |
---|
docker start $(docker ps | docker ps -a | grep 'backend-golang-1' | \ awk '{ print $12;}') |
Далее следует подождать несколько минут и проверить работоспособность в соответствии с разделом Проверка работоспособности.