Резервное копирование и восстановление
В интегрированном хранилище RAFT файлы на разных узлах кластера взаимосвязаны, и их простое копирование может привести к неработоспособности кластера.
StarVault не является базой данных, где можно скопировать директорию data/. Поэтому единственный надежный способ создания резервной копии — использование встроенной команды starvault operator raft snapshot, которая формирует консистентные снимки всего состояния кластера. Такой снимок данных StarVault (Raft Snapshot) содержит все секреты, политики и конфигурации.
|
Снимок не содержит ключей для распечатки и токена root. Их необходимо хранить отдельно, в максимально безопасном месте. Без ключей для распечатки хранилища и токена root восстановление будет невозможно! Также снимок не содержит конфигурации |
1. Описание стенда
Стенд StarVault представляет из себя отказоустойчивый кластер из 3 узлов на базе интегрированного хранилища RAFT:
-
узел балансировки HAProxy:
rg-starvault.uran.rg -
узел starvault (node-1):
rg-starvault-1.uran.rg -
узел starvault (node-2):
rg-starvault-2.uran.rg -
узел starvault (node-3):
rg-starvault-3.uran.rg
2. Архитектура резервного копирования
2.1. Описание процесса
Процесс резервирования StarVault можно поделить на следующие стадии:
-
Создание снимка. Выполняется на любом из узлов кластера с помощью команды
starvault operator raft snapshot save. -
Проверка целостности снимка. Опционально (но рекомендуется). Выполняется на любом из узлов кластера с помощью команды
starvault operator raft snapshot verify. -
Безопасное хранение ключей. Ключи распечатки и root токены должны храниться отдельно от снимков в защищенном хранилище, например:
-
в физически защищенном сейфе
-
в отдельном цифровом хранилище секретов с ограниченным доступом
-
в системе управления привилегированным доступом (PAM)
-
|
Процесс резервного копирования должен быть автоматизирован и выполняться регулярно, а также включать проверку восстановления из резервных копий (см. раздел Восстановление из резервной копии). |
3. Управление снимками
3.1. Ручное создание резервной копии с помощью CLI
Для ручного создания резервной копии CLI выполните следующие шаги:
-
Подключитесь по SSH к любому узлу кластера (например, к первому узлу кластера:
rg-starvault-1.uran.rg). -
Установите переменную окружения для адреса StarVault.
export STARVAULT_ADDR=https://rg-starvault-1.uran.rg:8200 -
Выполните команду для создания снимка, после чего StarVault автоматически выберет текущего лидера кластера для формирования консистентной копии всего состояния системы.
starvault operator raft snapshot save /opt/backups/starvault/starvault-$(date +%Y%m%d-%H%M%S).snap -
Помимо снимка данных, необходимо сохранить конфигурационные файлы всех узлов кластера и файлы с настройками, которые содержат параметры подключения, настройки безопасности и другие важные параметры в
/etc/starvault.d/./etc/starvault.d/ ├── starvault.hcl # основной конфиг ├── extra_config.hcl # дополнительные настройки (если есть) -
Сохраните сертификаты со всех узлов кластера и ключи в
/opt/starvault/tls./opt/starvault/tls/ ├── starvault.crt # сертификат сервера ├── starvault.key # приватный ключ ├── ca.crt # корневой сертификат └── starvault.csr # запрос на сертификат
3.2. Ручное создание снимка с помощью веб-интерфейса
Выполните следующие шаги для создания снимка с помощью веб-интерфейса StarVault.
-
Перейдите в веб-интерфейс StarVault в раздел Снимки состояния. Интерфейс управления снимками расположен в разделе Ручные снимки.
Подробнее с описанием веб-интерфейса StarVault и разделом Снимки состояния можно ознакомиться в разделе Обзор веб-консоли.
-
В блоке Ручные снимки нажмите Скачать.
-
Сохраните снимок в локальном хранилище.
3.3. Автоматическое создание снимка с помощью веб-интерфейса
StarVault позволяет автоматически создавать снимки (snapshots) хранилища данных. Этот функционал упрощает процессы резервного копирования и повышает отказоустойчивость инфраструктуры StarVault. Управление конфигурациями авто-снимков реализовано через отдельный интерфейс Авто-снимки в разделе Снимки состояния, который обеспечивает удобный просмотр, создание, изменение и удаление конфигураций.
|
Данный функционал доступен только в пространстве имен root. |
3.3.1. Список конфигураций
Для просмотра списка всех конфигураций автоматических снимков в веб-консоли StarVault в боковой панели выберите раздел Снимки состояния и перейдите к блоку Авто-снимки.
В таблице представлен список конфигураций и соответствующий набор параметров для каждой сущности:
-
ИМЯ - уникальное имя конфигурации авто-снимка
-
СТАТУС - указывает, включена или отключена данная конфигурация автоматического создания снимков. Возможны следующие значения:
-
Включено
-
Отключено
-
-
ПОСЛЕДНИЙ СНИМОК - статус последнего сделанного снимка. Возможны следующие значения:
-
Успешно - успешное создание снимка
-
Ошибка - ошибка создания снимка
При возникновении ошибки справа от даты создания снимка будет отображена иконка, при наведении на которую отобразится сообщение с описанием ошибки.
-
''-'' - указывается, если данная конфигурация отключена
-
В таблице для каждой сущности доступны действия редактирования и удаления.
3.3.2. Создание конфигурации
Для создания новой конфигурации на странице Снимки состояния в блоке Авто-снимки нажмите на кнопку Создать новый авто-снимок.
Заполните поля формы:
-
Имя — уникальное имя конфигурации авто-снимка
-
Тип хранилища - место сохранения снимков. Возможные значения:
-
Локально (по умолчанию)
-
S3
-
-
Интервал - интервал между снимками.
-
Префикс пути - каталог на сервере, куда будут записываться файлы снимков.
-
Кнопка включения - используйте для включения/отключения конфигурации авто-снимков.
-
Префикс файла - определяет начало имени файла снимков. Используется для удобного распознавания и сортировки файлов.
-
Максимальное количество - максимальное количество снимков. При превышении старые снимки удаляются.
-
Дополнительные настройки. В зависимости от выбранного способа хранения снимков заполните поля:
-
Локально
-
Максимальное локальное место - максимальный объем в байтах для всех снимков с данным префиксом в пути. Снимок не создается, если общий размер превышает это значение.
-
-
S3
-
Таймаут загрузки - таймаут на загрузку в S3.
-
Бакет - имя S3-бакета для хранения снимков.
-
Регион - регион, в котором расположен указанный бакет S3.
-
Секретный ключ доступа - ключ доступа AWS к учетной записи.
-
Идентификатор ключа доступа - идентификатор ключа доступа AWS.
-
Эндпойнт - URL пользовательского эндпойнта.
-
Сертификат CA S3 - доверенный сертификат для проверки TLS эндпойнта.
-
Отключить TLS - отключает использование защищенного протокола передачи данных (TLS).
-
Не проверять сертификат TLS для S3 - флаг, отвечающий за пропуск проверки сертификатов TLS при соединении с эндпойнтом S3.
Отключение небезопасно. Рекомендуется использовать только для тестирования.
-
Использовать path-стиль вместо bucket.endpoint - флаг, отвечающий за использование старого стиля обращения к бакету (path-style), вместо современного стиля (virtual-hosted style).
-
Включить SSE-KMS/Включить SSE-S3 (AES256) - выбор метода шифрования данных.
При выборе метода шифрования SSE-KMS необходимо указать ключ шифрования в открывшемся поле.
-
-
Для создания конфигурации автоматического снимка нажмите на кнопку Создать авто-снимок.
3.3.3. Редактирование конфигурации
На странице Снимки состояния в блоке Авто-снимки нажмите на кнопку редактирования
напротив нужной конфигурации в правом столбце таблицы.
После редактирования для сохранения изменений нажмите на кнопку Сохранить.
3.3.4. Удаление конфигурации
На странице Снимки состояния в блоке Авто-снимки нажмите на кнопку удаления
напротив нужной конфигурации в правом столбце таблицы.
|
При подтверждении удаления выберите флаг Удалить все созданные снимки, если вместе с конфигурацией необходимо удалить созданные снимки. Иначе будет удалена только конфигурация. |
3.4. Восстановление с использованием снимка
Выполните следующие шаги для восстановления с использованием созданного ранее снимка.
-
Перейдите в веб-интерфейс StarVault в раздел Снимки состояния. Интерфейс управления снимками расположен в разделе Ручные снимки.
-
В блоке Ручные снимки нажмите Восстановить.
-
Нажмите Выбрать файл. Выберите снимок, который хотите восстановить.
Загрузка может занять некоторое время, поскольку снимки состояния могут быть очень большими по объему файлов.
-
По окончании загрузки нажмите Восстановить
4. API
Для получения подробной информации ознакомьтесь с /sys/storage API.