Восстановление из резервной копии в Longhorn
Longhorn — это распределенная блочная система хранения данных для оркестратора.
В этой инструкции описывается создание автоматических регулярных резервных копий в сервисе Longhorn и восстановление сервисов модуля zVirt DC Manager из резервной копии.
Longhorn совместим с хранилищами NFS, CIFS, Azure или серверами, совместимыми с S3.
Подробнее о работе с резервным копированием — в официальной документации Longhorn.
1. Создание резервной копии
В этой инструкции описывается создание автоматических регулярных резервных копий.
|
Создание резервных копий вручную можно настроить в интерфейсе Longhorn — подробнее об этом ниже. Однако этот способ не рекомендуется, так как настроенные вручную резервные копии могут быть перезаписаны автоматическими резервными копиями при обновлении модуля. |
При установке модуля zVirt DC Manager резервное копирование сервисов можно настроить через переменные развертывания в файле config.yml. Также настройка резервного копирования возможна после установки.
Перед созданием резервной копии установите предварительные настройки в файле config.yml:
-
backup_target-- укажите сервер NFS для хранения резервных копий. Если значение не указано, то резервное копирование на удаленный сервер не выполняется. Общий вид NFS-ссылки:nfs://<server>[:<port>]/<path> -
backup_recurring_job— настройка автоматического резервного копирования всех томов. Значениеtrue— резервное копирование активировано,false— деактивировано -
backup_cron— расписание, определяющее частоту создания резервных копий -
backup_retain— количество последних резервных копий, которые нужно хранить. При переполнении хранилища самые последние резервные копии удаляются или перезаписываются
Пример настроек в config.yml:
backup_target: nfs://storage.portal.box:/path/to/folder
backup_recurring_job: true
backup_cron: "0 0 * * *"
backup_retain: 7
|
В инструкции описана настройка NFS-подключения без пароля. О создании дополнительных механизмов защиты данных — в официальной документации Longhorn. |
|
Вручную можно создать резервную копию в интерфейсе Longhorn, однако имя Recurring Job не должно быть backup, так как это имя по умолчанию используется для автоматического создания резервных копий в файле config.yml.
Время создания резервных копий отображается по умолчанию во временной зоне UTC. Созданные резервные копии расположены на вкладке Backup. Отображаемое состояние резервной копии Creation State — Complete. |
2. Восстановление сервиса из резервной копии
2.1. Подготовка к восстановлению
Восстановить можно только те сервисы, которые хранят свое состояние в собственной файловой системе (Stateful Sets). Это такие сервисы, как Clickhouse, Keycloak, Postgress (Vault), Zookeeper.
|
Для сервисов-операторов (например, postgres-operator (pgo), clickhouse) процесс восстановления из резервной копии отличается. Подробнее о восстановлении сервисов-операторов. |
В этой инструкции используется интерфейс Lens (IDE оркестратора).
|
В процессе выполнения следующих действий сервис будет недоступен до его полного восстановления из резервной копии. |
-
Чтобы остановить сервис, уменьшите реплики до нуля. Выполните действия с помощью kubectl или через IDE-интерфейс:
-
Выполните команды в kubectl:
-
Получите имя запущенного экземпляра сервиса:
kubectl get deployments | grep nexus -
Уменьшите количество реплик до нуля:
kubectl scale deployments [SERVICE_NAME] --replicas=0
-
-
В интерфейсе IDE оркестратора:
-
Перейдите в раздел .
-
В строке с выбранным сервисом нажмите на кнопку
и выберите Scale. -
Уменьшите значение Scale до нуля.

-
-
-
Удалите PV/PVC (Persistent Volume) принадлежащее сервису. Выполните действия с помощью kubectl или через IDE-интерфейс:
-
Выполните команды в kubectl:
-
Получите имя PVC:
kubectl get pvc | grep nexus -
Получите имя PV (Persistent Volume)
kubectl describe pvc [PVC NAME] | grep -i volume: | awk '{print $2}' -
Удалите PVC:
kubectl delete pvc [PVC NAME] -
Удалите PV:
kubectl delete pv [PERSISTENT VOLUME ID]
-
-
В интерфейсе IDE оркестратора:
-
Перейдите в раздел .
-
Найдите нужный диск и в строке с ним нажмите на кнопку
и выберите Delete.
-
-
2.2. Действия по восстановлению
Восстановление сервиса из резервной копии возможно только в интерфейсе Longhorn:
-
Удалите Volume в сервисе Longhorn. Для этого:
-
Перейдите в сервис Longhorn.
-
Выберите вкладку Volume.
-
В списке дисков найдите нужный и в строке с ним нажмите ≡ и выберите Delete.
-
Подтвердите удаление.
-
-
Восстановите Volume из резервной копии. Для этого:
-
Перейдите в сервис Longhorn.
-
Выберите вкладку Backup.
-
В списке резервных копий найдите нужную и в строке с ней нажмите ≡ и выберите Restore Latest Backup.
-
В форме восстановления укажите:
-
Use Previous Name — активируйте эту опцию, так как важно совпадение названий дисков при восстановлении из резервной копии.
-
Прочие настройки оставьте по умолчанию и нажмите OK.
После этого запустится восстановление из резервной копии. Процесс восстановления может занять несколько минут. Просмотреть состояние восстанавливающегося диска можно на вкладке Volume.
Дождитесь полного восстановления диска (Volume). Его статус будет Ready.
-
-
-
Восстановите PV/PVC. Для этого:
-
Перейдите в сервис Longhorn.ы
-
Выберите вкладку Volume.
-
В списке дисков найдите нужный и в строке с ним нажмите ≡ и выберите Backup.
-
-
Увеличьте количество реплик до предыдущего значения. Для этого:
-
Перейдите в интерфейс IDE оркестратора.
-
Перейдите в раздел .
-
В строке с выбранным сервисом нажмите
и выберите Scale. -
Увеличьте значение Scale до предыдущего состояния.
Количество реплик Scale нужно увеличить до того количества, которое было ранее задано для этого сервиса. Если при восстановлении из резервной копии реплик будет больше или меньше предыдущего значения, то возможны ошибки восстановления.
-
3. Восстановление из резервной копии сервисов-операторов
Операторы — это сервисы, которые управляют другими сервисами (например, postgres-operator (pgo), clickhouse). У некоторых операторов в названии присутствует обозначение «operator» — так их можно отличить от обычных сервисов.
Их восстановление из резервной копии отличается от обычных сервисов.
3.1. Подготовка к восстановлению
|
В процессе выполнения следующих действий сервис будет недоступен до его полного восстановления из резервной копии. |
-
Чтобы остановить сервис, уменьшите реплики оператора до нуля. Для этого:
-
В интерфейсе IDE оркестратора перейдите в раздел .
-
В строке с выбранным сервисом нажмите
и выберите Scale. -
Уменьшите значение Scale до нуля.
-
-
Уменьшите реплики сервисов оператора до нуля. Для этого:
-
В интерфейсе IDE оркестратора перейдите в раздел .
-
В строке с выбранным сервисом нажмите
и выберите Scale. -
Уменьшите значение Scale до нуля.
-
-
Удалите PV/PVC (Persistent Volume) принадлежащее сервису. Для этого:
-
Перейдите в раздел .
-
Найдите нужный диск и в строке с ним нажмите
и выберите Delete.
-
3.2. Действия по восстановлению
-
Удалите Volume из сервиса Longhorn. Для этого:
-
Перейдите в сервис Longhorn.
-
Выберите вкладку Volume.
-
В списке дисков найдите нужный и в строке с ним нажмите ≡ и выберите Delete.
-
Подтвердите удаление.
-
-
Восстановите Volume из резервной копии. Для этого:
-
Перейдите в сервис Longhorn.
-
Выберите вкладку Backup.
-
В списке резервных копий найдите нужную и в строке с ней нажмите ≡ и выберите Restore Latest Backup.
-
В форме восстановления укажите:
-
Use Previous Name — активируйте эту опцию, так как важно совпадение названий дисков при восстановлении из резервной копии.
-
Прочие настройки оставьте по умолчанию и нажмите OK.
После этого запустится восстановление из резервной копии. Процесс восстановления может занять несколько минут. Просмотреть состояние восстанавливающегося диска можно на вкладке Volume.
Дождитесь полного восстановления диска (Volume). Его статус будет Ready.
-
-
-
Увеличьте количество реплик сервисов оператора до предыдущего значения. Для этого:
-
Перейдите в интерфейс IDE оркестратора.
-
Перейдите в раздел .
-
В строке с выбранным сервисом нажмите
и выберите Scale. -
Увеличьте значение Scale до предыдущего состояния.
Для сервиса увеличивать количество реплик не нужно, оператор сам поднимет правильное значение.
-
-
Восстановите PV/PVC. Для этого
-
Перейдите в сервис Longhorn.
-
Выберите вкладку Volume.
-
В списке дисков найдите нужный и в строке с ним нажмите ≡ и выберите Backup.
-