Hetzner - DokuWiki

BackupService/ru
(История изменений Backup агента)
Zeile 188: Zeile 188:
 
* Обновлена зависимость: Pyro4 4.73
 
* Обновлена зависимость: Pyro4 4.73
 
* Обновлена зависимость: Serpent 1.25
 
* Обновлена зависимость: Serpent 1.25
 +
===Version 0.1.5===
 +
* Улучшено чтение статистики бэкапов
 +
===Version 0.1.6===
 +
* Добавлено времы выполнения резервного копироваиня
 +
* Убрана работа с Pyro. RPC теперь выполняется через очередь сообщений

Version vom 27. Februar 2019, 06:42 Uhr

Inhaltsverzeichnis

Сервис резервного копирования

Сервис резервного копирования (Backup Service) это новая функция для наших продуктов Storage Box. Он может использоваться со Storage Box и Backup Space. Сервис резервного копирования позволяет легко автоматизировать резервное копирование файловой системы. Сервис состоит из трех основных элементов:

  • веб-панель:
    Пользовательский интерфейс для управления планами резервного копирования и доступа к данным
  • программное обеспечение для резервного копирования:
    Приложение, которое выполняет резервное копирование на сервере клиента. borgbackup
  • агент резервного копирования:
    Агент резервного копирования — это программа-посредник между программным обеспечением для резервного копирования и веб-панелью. Агент резервного копирования устанавливается на сервере клиента и получает настройки и команды от веб-панели. Агент резервного копирования управляет программой резервного копирования и отправляет статистику в веб-панель.

Отказ от ответственности

Пожалуйста, обратите внимание, что вы несете ответственность за ваши данные. Компания Hetzner Online не предоставляет никаких гарантий относительно возможной потери данных. Данные не дублируются на других серверах. Пожалуйста, также см. пункты 4.1 и 4.2 в Terms and Conditions: https://www.hetzner.com/rechtliches/agb

Возможности

  • Шифрование:
    прежде чем клиент передаст данные на сервер, он их шифрует. Пароль [BORG_PASSPHRASE] требуется для расшифровки данных на сервере резервного копирования. Этот пароль не хранится на сервере!
  • Автоматизация:
    резервное копирование может иметь расписание с гибкими настройками времени. После настройки расписания резервное копирование выполняется автоматически.
  • Легкость использования:
    сервис резервного копирования предоставляет простой в использовании веб-интерфейс. Также легко получить доступ к данным резервной копии и поместить ее на своем хранилище для прямого доступа.

Совместимость

Поддерживаемые операционные системы:

  • Debian 9
  • Ubuntu 16.04
  • Ubuntu 18.04

Версии Python:

  • >= Python 3.5

Конфигурация

Активация

Активировать сервис резервного копирования можно в панели Robot. Возможность активации/деактивации доступна на странице настроек Storage Box/Backup Space. Для того, чтобы выполнять резервное копирование необходимо также активировать опцию SSH support.

Доступ

URL веб-панели сервиса резервного копирования зависит от того, используется Storage Box или Backup Space.

Storage Box:

https://webpanel-<имя пользователя>.your-storagebox.de

Backup Space:

https://webpanel-<имя пользователя>.your-backup.de

Для входа используйте данные от Storage Box/Backup Space.

Создание сервера

Сервис резервного копирования может быть использован для резервного копирования нескольких серверов. Для каждого сервера будет создан отдельный репозиторий на Storage Box/Backup Space. Для создания сервера необходима следующая информация:

  • Имя:
    Важно задать имя, чтобы понимать, какая резервная копия к каком серверу относится
  • Пароль резервного копирования:
    Этот пароль используется для шифрования хранилища rbackup.
    ВНИМАНИЕ: БЕЗ ЭТОГО ПАРОЛЯ НЕВОЗМОЖНО ПОЛУЧИТЬ ДОСТУП К РЕЗЕРВНЫМ КОПИЯМ
  • SSH_Key:
    Резервные копии передаются через SSH. Чтобы включить автоматическое резервное копирование, необходимо сохранить открытый SSH-ключ в Storage Box/Backup Space. Этот открытый ключ не должен быть защищен паролем!

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

Настройка агента резервного копирования

После создания сервера в веб-панели следует настроить агент резервного копирования на сервере.

Установка

Агент резервного копирования и его зависимости доступны на зеркале (backup-packages-mirror.hetzner.de)

  • Включите зеркало:
wget https://backup-packages-mirror.hetzner.de/stretch.list -O /etc/apt/sources.list.d/backup-packages-mirror.list

или

wget https://backup-packages-mirror.hetzner.de/xenial.list -O /etc/apt/sources.list.d/backup-packages-mirror.list

или

wget https://backup-packages-mirror.hetzner.de/bionic.list -O /etc/apt/sources.list.d/backup-packages-mirror.list
  • Добавить gpg-ключ в связку ключей apt:
wget -O - https://backup-packages-mirror.hetzner.de/backupservice.hetzner.gpg.key | apt-key add -
  • Обновите репозиторий apt и установите агент резервного копирования
apt-get update && apt-get install python3-hetznerbackupagent
  • Если при установке выдает эту ошибку:
E: The method driver /usr/lib/apt/methods/https could not be found.

То нужно установить библиотеки transport-https:

apt-get install apt-transport-https

Настройка

После установки агент резервного копирования может быть запущен командой backup_agent.

backup_agent --help
 usage: backup_agent [-h] [-r config_id] [-v] [-i] [-s [help-PARAM]] [-t] [-c]
  [-d]
 Hetzner Backup Agent
 optional arguments:
  -h, --help Shows this help message and exit
  -r config_id, --run config_id
  Triggers a backup with a config id.
  -v, --version Displays version information
  -i, --info Displays application information
  -s [help-PARAM], --setup [help-PARAM]
  Starts the configuration of the application. More
  information with "-setup help-all"
  -t, --test_ssh Checks if an SSH connection can be established.
  -c, --clean Removes all files associated with the backup agent,
  including conf-, log-, and systemd files
  -d, --debug Sets the loglevel to debug

Настройку можно начать командой backup_agent --setup. Мастер настройки запросит следующую информацию:

  • Доменное имя сервера резервного копирования:
    То же, что используется для доступа к веб-панели.
  • Имя пользователя:
    Имя пользователя Storage Box/Backup Space.
  • ID сервера:
    ID сервера, созданный в веб-панели.
  • API-ключ:
    Ключ для аутентификации в веб-панели. Будет доступен в веб-панели.
  • IP-адрес:
    Публичный IP-адрес сервера.
  • Пароль резервного копирования:
    Пароль, использованный при создании сервера в веб-панели.
  • Путь к SSH-ключу:
    Путь к закрытому SSH-ключу. Путь должен указывать на закрытую часть ключа, открытая часть которого была указана в веб-панели.

Необходимая для настройки агента информация отображается при создании сервера в веб-панели.

После настройки агента резервного копирования он будет зарегистрирован как юнит в systemd и будет запущен. Резервное копирование запускается при помощи таймеров systemd. Будут созданы следующие юниты systemd:

  • hetzner.backup_agent.service:
    Юнит для процесса агента резервного копирования; гарантирует, что процесс агента резервного копирования всегда работает. Это необходимо для отправки параметров конфигурации и команды из веб-панели. Этот юнит можно отключить после того как все планы резервного копирования настроены.
  • hetzner.backup_timer_x.timer:
    Таймер создается для каждого плана резервного копирования. Таймер задает расписание резервного копирования.
  • hetzner.backup_runner_x.service:
    Этот юнит вызывается из связанного с ним таймера и содержит команды для выполнения резервного копирования.

Дополнительные файлы, создаваемые агентом резервного копирования:

  • /etc/BackupAgent/agent_conf.json:
    Файл настроек агента резервного копирования.
  • /var/lib/BackupAgent/backuptrack.json:
    Содержит список всех запущенных процессов резервного копирования с их идентификаторами процесса.
  • /var/log/hetzner.backup_agent.log:
    Журнал агента резервного копирования.
  • /var/log/hetzner.backup_agent_runner_x.log:
    Журнал для каждого отдельного процесса резервного копирования

Советы по использованию агента резервного копирования

  • Использование за межсетевым экраном: агент резервного копирования открывает порт (по умолчанию: 45111).

Этот порт используется для передачи данных конфигурации из web-панели.
Убедитесь, что этот порт, а также IP-адрес сервера резервных копий не блокируются на межсетевом экране в установленной ОС и в панели Robot.

  • Запуск / Остановка: Агент резервного копирования управляются systemd. Таким образом, он автоматически запускается и перезапускается в случае неожиданных ошибок приложения. При помощи следующих команд можно запустить или остановить юнит systemd:
    • systemctl start hetzner.backup_agent.service
    • systemctl stop hetzner.backup_agent.service
  • Ручной запуск: если вы не хотите, чтобы systemd управлял агентом резервного копирования, вы можете отключить его и запускать агент резервного копирования вручную.
    backup_agent -d

Создание плана резервного копирования

Для каждого сервера можно настроить несколько планов резервного копирования. План резервного копирования описывает задачу для резервного копирования. Следующая информация необходима для плана резервного копирования:

  • Name:
    Уникальное имя, чтобы отличать планы резервного копирования
  • File selection:
    • Include:
      Выбор файлов и каталогов для включения в резервную копию.
    • Exclude:
      Выбора файлов и каталогов для исключения из резервной копии.
    • Подсказка:
      При копировании всего дерева каталогов следует исключить из резервной копии следующие каталоги:
      /dev, /proc, /sys, /var/run, /run, /lost+found, /mnt, /var/lib/lxcfs
  • Timeplan:
    Задание времени для создания резервных копирований. Можно выбрать несколько дней недели, часов и минут с 15-минутными интервалами.

При сохранении плата резервного копирования он автоматически отправляется на агент резервного копирования.

Ручной запуск резервного копирования

Если настройка прошла успешно, то можно запустить резервное копирование. Кнопка «trigger» доступна в диалоге Backupplans и позволяет запустить резервное копирование вручную.

Раздел «Backups»

Подробности резервного копирования

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

  • Status:
    Показывает, было ли резервное копирование успешным.
  • Backup/Repository size:
    Показывает размер резервной копии и всего репозитория.
  • System usage:
    Показывает использование ресурсов сервера при выполнении резервного копирования. Эта информация может быть полезна для обнаружения связи между проблемами на сервере и выполнением резервного копирования.
  • Files count:
    Показывает, сколько файлов было сохранено в резервной копии
  • Execution time:
    Продолжительность и время выполнения резервного копирования

Доступ к данным

Для получения доступа к резервной копии требуется пароль репозитория. После ввода пароля все сохраненные файлы и каталоги будут показаны в веб-панели. Для больших резервных копий этот процесс может занять некоторое время. Есть три способа получить прямой доступ к файлам:

  • Extract to Storagebox / backup Space:
    Выбранные файлы или каталоги будут восстановлены на Storage Box/Backup Space. Полное дерево каталогов будет доступно в каталоге «recovery». Если включен протокол WebDAV, то файлы можно будет скачать.
  • Extract to Storagebox / backup Space as archive:
    Аналогично предыдущему варианту, но на Storage Box/Backup Space появится только один TAR-архив.
  • View file:
    Текстовые файлы и изображения можно открыть в веб-панели.
    • Текстовые файлы:
      Для большого числа форматов файлов доступна подсветка синтаксиса.
    • Изображения:
      В настоящее время поддерживаются форматы изображений: jpg, gif, png.

Режимы работы

Режим службы

По умолчанию агент резервного копирования выполняется в режиме службы. Это означает, что приложение работает постоянно. Таким образом, агент резервного копирования в любой момент готов получать сообщение от веб-панели. Что позволяет пользователю обновлять планы резервного копирования и запускать резервное копирование в любое время. Однако недостатком этого режима является то, что агент резервного копирования все время будет держать порт открытым. Вы должны знать, что открытые порты могут представлять собой потенциальную угрозу для безопасности.

Режим по запросу

Для выполнения резервного копирования и сбора статистики агент резервного копирования не должен выполняться постоянно. После настройки планов резервного копирования агент резервного копирования можно остановить. При этом таймеры systemd будут обеспечивать резервное копирование по расписанию. Для работы агента в режиме «по запросу» достаточно остановить агент после настройки плана резервного копирования.

systemctl stop hetzner.backup_agent.service

Когда агент выключен, он не слушает на порту и, соответственно, из веб-панели не будет возможности передать обновленные настройки или вручную запустить копирование. Для повторного включения агента достаточно запустить юнит systemd.

systemctl start hetzner.backup_agent.service

Внимание: после перезагрузки системы, агент резервного копирования будет вновь запущен в режиме службы.

История изменений Backup агента

Версия 0.1.2

Начальный релиз

Версия 0.1.3

  • Добавлена поддержка IP V6

Версия 0.1.4

  • Обновлена зависимость: Pyro4 4.73
  • Обновлена зависимость: Serpent 1.25

Version 0.1.5

  • Улучшено чтение статистики бэкапов

Version 0.1.6

  • Добавлено времы выполнения резервного копироваиня
  • Убрана работа с Pyro. RPC теперь выполняется через очередь сообщений


© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.