Резервное копирование
Данный раздел описывает процедуру сохранения данных Проекты VK WorkSpace на случай системных сбоев, отказа оборудования и непредвиденных ситуаций.
ВНИМАНИЕ
Для создания архива остановка необязательна, но выполнение команд резервного копирования может негативно отразиться на работе пользователей.
Резервное копирование данных состоит из двух шагов.
-
Создание дампов баз данных PostgreSQL.
-
Создание файлового архива необходимых разделов docker-контейнеров.
Создание дампа баз данных PostgreSQL
Данная процедура описывает создание дампов баз данных PostgreSQL. Процедура автоматизирована и для запуска нужно выполнить следующие действия:
-
Перейдите в директорию
scripts. -
Создайте директорию там, где будет сохранен архив, например:
-
Запустите скрипт
db_backup.sh, указав целевую директорию, например:./db_backup.sh ./dumps Creating backup: {{ shell_product_name }}_migrations_db_ 2025-02-02_04-00-00.bak container: database_service database: {{ shell_product_name }}_migrations_db Successfully copied 2.56kB to /home/tester/deploy/{{ shell_product_name }}/scripts/dumps/{{ shell_product_name }}_migrations_db_ 2025-02-02_04-00-00.bak Creating backup: {{ shell_product_name }}_attachment_db_ 2025-02-02_04-00-00.bak container: database_service database: {{ shell_product_name }}_attachment_db Successfully copied 9.22kB to /home/tester/deploy/{{ shell_product_name }}/scripts/dumps/{{ shell_product_name }}_attachment_db_ 2025-02-02_04-00-00.bak Creating backup: {{ shell_product_name }}_comment_db_ 2025-02-02_04-00-00.bak container: database_service database: {{ shell_product_name }}_comment_db Successfully copied 44kB to /home/tester/deploy/{{ shell_product_name }}/scripts/dumps/{{ shell_product_name }}_comment_db_ 2025-02-02_04-00-00.bak Creating backup: {{ shell_product_name }}db_ 2025-02-02_04-00-00.bak container: database_service database: {{ shell_product_name }}db Successfully copied 486kB to /home/tester/deploy/{{ shell_product_name }}/scripts/dumps/{{ shell_product_name }}db_ 2025-02-02_04-00-00.bak
В процессе выполнения вы увидите сообщения о создании архивов для каждой базы данных. По окончании будет создан конечный архив, сжатый с использованием aрхиватора gzip:
./dumps/{{ shell_product_name }}_wiki_db_2025-02-02_04-00-00.bak
./dumps/{{ shell_product_name }}_workspace_db_2025-02-02_04-00-00.bak
./dumps/{{ shell_product_name }}db_2025-02-02_04-00-00.bak
./dumps/{{ shell_product_name }}_2025-02-02_04-00-00_backup.tgz
Процесс по созданию архива для Проекты VK WorkSpace успешно завершен.
Создание файлового архива необходимых разделов docker-контейнеров
Для создания копий разделов контейнеров кластера нужно иметь привилегии
пользователя root , так как по-умолчанию только root имеет доступ к этим
разделам файловой структуры.
-
Перейдите в директорию, где хранятся разделы docker-контейнеров. По умолчанию это
/var/lib/docker/volumes/sudo -s cd /var/lib/docker/volumes/ ls -la | grep {{ shell_product_name }} drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_database-service-volume drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_minio drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_minio-export drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_minio-tls drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_rabbitmq-certificates-volume drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_rabbit-volume drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_redis drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_redis-tls drwx-----x 3 root root 19 Feb 02 16:54 {{ shell_product_name }}_ssl-volume drwx-----x 3 root root 19 Feb 02 16:50 {{ shell_product_name }}_trusted-certificates-volume -
Заархивируйте необходимые директории с помощью
tar, учитывая, что архивация вложений может занять существенное время и зависит от размера директории{{ shell_product_name }}_minioнапример:
ВНИМАНИЕ
В данном примере указаны разделы, содержащие все данные, которые находятся
в хранилище S3 minio, а также сертификаты SSL, которые вы, возможно,
использовали для настройки HTTPS соединения.