Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Резервное копирование и восстановление

В интегрированном хранилище RAFT файлы на разных узлах кластера взаимосвязаны, и их простое копирование может привести к неработоспособности кластера.

StarVault не является базой данных, где можно скопировать директорию data/. Поэтому единственный надежный способ создания резервной копии — использование встроенной команды starvault operator raft snapshot, которая формирует консистентные снимки всего состояния кластера. Такой снимок данных StarVault (Raft Snapshot) содержит все секреты, политики и конфигурации.

Снимок не содержит ключей для распечатки и токена root. Их необходимо хранить отдельно, в максимально безопасном месте. Без ключей для распечатки хранилища и токена root восстановление будет невозможно!

Также снимок не содержит конфигурации /etc/starvault.d/ и сертификаты /opt/starvault/tls, их нужно сохранять отдельно.

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 можно поделить на следующие стадии:

  1. Создание снимка. Выполняется на любом из узлов кластера с помощью команды starvault operator raft snapshot save.

  2. Проверка целостности снимка. Опционально (но рекомендуется). Выполняется на любом из узлов кластера с помощью команды starvault operator raft snapshot verify.

  3. Безопасное хранение ключей. Ключи распечатки и root токены должны храниться отдельно от снимков в защищенном хранилище, например:

    • в физически защищенном сейфе

    • в отдельном цифровом хранилище секретов с ограниченным доступом

    • в системе управления привилегированным доступом (PAM)

Процесс резервного копирования должен быть автоматизирован и выполняться регулярно, а также включать проверку восстановления из резервных копий (см. раздел Восстановление из резервной копии).

3. Управление снимками

3.1. Ручное создание резервной копии с помощью CLI

Для ручного создания резервной копии CLI выполните следующие шаги:

  1. Подключитесь по SSH к любому узлу кластера (например, к первому узлу кластера: rg-starvault-1.uran.rg).

  2. Установите переменную окружения для адреса StarVault.

    export STARVAULT_ADDR=https://rg-starvault-1.uran.rg:8200
  3. Выполните команду для создания снимка, после чего StarVault автоматически выберет текущего лидера кластера для формирования консистентной копии всего состояния системы.

    starvault operator raft snapshot save /opt/backups/starvault/starvault-$(date +%Y%m%d-%H%M%S).snap
  4. Помимо снимка данных, необходимо сохранить конфигурационные файлы всех узлов кластера и файлы с настройками, которые содержат параметры подключения, настройки безопасности и другие важные параметры в /etc/starvault.d/.

    /etc/starvault.d/
    ├── starvault.hcl           # основной конфиг
    ├── extra_config.hcl        # дополнительные настройки (если есть)
  5. Сохраните сертификаты со всех узлов кластера и ключи в /opt/starvault/tls.

    /opt/starvault/tls/
    ├── starvault.crt           # сертификат сервера
    ├── starvault.key           # приватный ключ
    ├── ca.crt                  # корневой сертификат
    └── starvault.csr           # запрос на сертификат

3.2. Ручное создание снимка с помощью веб-интерфейса

Выполните следующие шаги для создания снимка с помощью веб-интерфейса StarVault.

  1. Перейдите в веб-интерфейс StarVault в раздел Снимки состояния. Интерфейс управления снимками расположен в разделе Ручные снимки.

    1 main menu

    Подробнее с описанием веб-интерфейса StarVault и разделом Снимки состояния можно ознакомиться в разделе Обзор веб-консоли.

  2. В блоке Ручные снимки нажмите Скачать.

    4 snapshotes
  3. Сохраните снимок в локальном хранилище.

3.3. Автоматическое создание снимка с помощью веб-интерфейса

StarVault позволяет автоматически создавать снимки (snapshots) хранилища данных. Этот функционал упрощает процессы резервного копирования и повышает отказоустойчивость инфраструктуры StarVault. Управление конфигурациями авто-снимков реализовано через отдельный интерфейс Авто-снимки в разделе Снимки состояния, который обеспечивает удобный просмотр, создание, изменение и удаление конфигураций.

Данный функционал доступен только в пространстве имен root.

3.3.1. Список конфигураций

Для просмотра списка всех конфигураций автоматических снимков в веб-консоли StarVault в боковой панели выберите раздел Снимки состояния и перейдите к блоку Авто-снимки.

auto snapshots 1

В таблице представлен список конфигураций и соответствующий набор параметров для каждой сущности:

  • ИМЯ - уникальное имя конфигурации авто-снимка

  • СТАТУС - указывает, включена или отключена данная конфигурация автоматического создания снимков. Возможны следующие значения:

    • Включено

    • Отключено

  • ПОСЛЕДНИЙ СНИМОК - статус последнего сделанного снимка. Возможны следующие значения:

    • Успешно - успешное создание снимка

    • Ошибка - ошибка создания снимка

      При возникновении ошибки справа от даты создания снимка будет отображена иконка, при наведении на которую отобразится сообщение с описанием ошибки.

    • ''-'' - указывается, если данная конфигурация отключена

В таблице для каждой сущности доступны действия редактирования и удаления.

3.3.2. Создание конфигурации

Для создания новой конфигурации на странице Снимки состояния в блоке Авто-снимки нажмите на кнопку Создать новый авто-снимок.

auto snapshots 2

Заполните поля формы:

  • Имя — уникальное имя конфигурации авто-снимка

  • Тип хранилища - место сохранения снимков. Возможные значения:

    • Локально (по умолчанию)

    • S3

  • Интервал - интервал между снимками.

  • Префикс пути - каталог на сервере, куда будут записываться файлы снимков.

  • Кнопка включения - используйте для включения/отключения конфигурации авто-снимков.

  • Префикс файла - определяет начало имени файла снимков. Используется для удобного распознавания и сортировки файлов.

  • Максимальное количество - максимальное количество снимков. При превышении старые снимки удаляются.

  • Дополнительные настройки. В зависимости от выбранного способа хранения снимков заполните поля:

    • Локально

      auto snapshots 2 1
      • Максимальное локальное место - максимальный объем в байтах для всех снимков с данным префиксом в пути. Снимок не создается, если общий размер превышает это значение.

    • S3

      auto snapshots 2 2
      • Таймаут загрузки - таймаут на загрузку в 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 необходимо указать ключ шифрования в открывшемся поле.

        auto snapshots 2 3

Для создания конфигурации автоматического снимка нажмите на кнопку Создать авто-снимок.

3.3.3. Редактирование конфигурации

На странице Снимки состояния в блоке Авто-снимки нажмите на кнопку редактирования auto snapshots 4 напротив нужной конфигурации в правом столбце таблицы.

auto snapshots 6

После редактирования для сохранения изменений нажмите на кнопку Сохранить.

3.3.4. Удаление конфигурации

На странице Снимки состояния в блоке Авто-снимки нажмите на кнопку удаления auto snapshots 5 напротив нужной конфигурации в правом столбце таблицы.

auto snapshots 7

При подтверждении удаления выберите флаг Удалить все созданные снимки, если вместе с конфигурацией необходимо удалить созданные снимки. Иначе будет удалена только конфигурация.

3.4. Восстановление с использованием снимка

Выполните следующие шаги для восстановления с использованием созданного ранее снимка.

  1. Перейдите в веб-интерфейс StarVault в раздел Снимки состояния. Интерфейс управления снимками расположен в разделе Ручные снимки.

    1 main menu
  2. В блоке Ручные снимки нажмите Восстановить.

    1 recover
  3. Нажмите Выбрать файл. Выберите снимок, который хотите восстановить.

    2 recover

    Загрузка может занять некоторое время, поскольку снимки состояния могут быть очень большими по объему файлов.

  4. По окончании загрузки нажмите Восстановить

4. API

Для получения подробной информации ознакомьтесь с /sys/storage API.