Данный раздел описывает процедуру восстановления данных для Проекты VK WorkSpace в случае системного сбоя.
Перед восстановлением убедитесь, что система чистая и работает корректно
Восстановление данных из резервной состоит из двух шагов и выполняется в порядке, обратном созданию резервных копий.
-
Восстановление разделов docker-контейнеров.
-
Восстановление баз данных
Postgresиз ранее созданных дампов.
Для восстановления разделов контейнеров нужно иметь привилегии
пользователя root, так как по-умолчанию только root имеет доступ к этим
разделам файловой структуры.
-
Создайте временную директорию и перейдите в нее. Затем скопируйте сюда архив, содержащий разделы контейнеров докер:
mkdir /tmp/volumes_backupcd /tmp/volumes_backupscp backup-server:/vk/volumes_backup.tgz .tar -xzvf volumes_backup.tgzvk_miniovk_ssl-volumevk_trusted-certificates-volumerm -f volumes_backup.tgz -
Перенесите директории в папку c разделами
docker. По умолчанию это/var/lib/docker/volumes/.mv vk_minio \vk_ssl-volume \vk_trusted-certificates-volume \/var/lib/docker/volumes/
Данная процедура описывает баз данных PostgreSQL из предварительно созданных дампов. Процедура автоматизирована и для запуска нужно выполнить следующие действия:
-
Перейдите в директорию
scripts, которая находится внутри директории с артефактами Проекты VK WorkSpace{ .tsb-blue }:cd scriptsls -la-rwxrwx--- 1 user user 1275 Feb 02 11:22 db_backup.sh*-rwxrwx--- 1 user user 1652 Feb 02 11:22 db_restore.sh* -
Создайте здесь директорию
dumps, сохраните туда архив и распакуйте его:mkdir dumpsls -la-rwxrwx--- 1 user user 1275 Feb 02 11:22 db_backup.sh*-rwxrwx--- 1 user user 1652 Feb 02 11:22 db_restore.sh*drwxr-xr-x 2 user user 4096 Feb 02 13:26 dumps/scp backup-server:/vk/vk_2025-02-02_04-00-00_backup.tgz ./dumps/cd dumpstar -xzvf vk_2025-02-02_04-00-00_backup.tgz -
Запустите скрипт
db_restore.sh, указав целевую директорию и общий суффикс, состоящий из временной метки и расширения, например, для файлов:vk_migrations_db_2025-02-02_04-00-00.bakvk_attachment_db_2025-02-02_04-00-00.bakvkdb_2025-02-02_04-00-00.bak
Общим суффиксом будет 2025-02-02_04-00-00.bak. Таким образом, команда для восстановления будет выглядеть следующим образом:
./db_restore.sh ./dumps 2025-02-02_04-00-00.bak
Пример успешного восстановления:
...Recovering from backup: container: vk-database_service-1 vkdb vkdb_02-02-2025_04_00.bakUPDATE 1pg_terminate_backend----------------------tttt(4 rows)DROP DATABASECREATE DATABASE
После успешного восстановления перезапустите vk:
docker compose -p vk restart
Технический писатель: Белова Ирина