Рейтинг:0

Какова подходящая стратегия резервного копирования для LXD с серверной частью хранилища BTRFS?

флаг ma

Я собираюсь перенастроить свой домашний сервер с нуля, и мне интересно, как лучше всего сделать резервную копию моих контейнеров LXD. Тем временем я использую Ubuntu 20.04 LTS, и некоторые службы настроены для работы в качестве контейнеров LXD/LXC. Например:

  • контейнер "cloudserv" с запущенным Seafile
  • контейнер «веб-сервис», работающий с nginx и MariaDB

Эти два контейнера расположены на моем SSD с файловой системой btrfs. Для хранения данных я использую массив дисков (также с BTRFS), где я создал еще один пул хранения LXC с томом хранения, который подключен к контейнеру Seafile для хранения всех данных. Расклад примерно такой:

SSD

  • Файловая система BTRFS
    • Пул хранения «По умолчанию»
      • контейнер "облачный сервер"
      • контейнер "веб-сервис"
      • картинки

жесткие диски

  • Файловая система BTRFS
    • Пул носителей "DataPool1"
      • пользовательский том хранилища "seafile-data" --> прикрепленный к контейнеру "cloudserv"

Используя BTRFS, я надеялся, что смогу использовать моментальные снимки BTRFS, а также инструменты отправки и получения для простой передачи контейнеров и томов хранилища в виде подтомов, например. к RasPi с подключенным томом BTRFS. Но чтение, например. Руководство LXD или же Как сделать резервную копию и восстановить контейнеры LXD У меня сложилось впечатление, что мне всегда приходится создавать архив для резервного копирования экземпляра, который затем можно перенести.Это означало бы, что я фактически теряю некоторые привлекательные функции BTRFS, такие как возможность отправлять/получать подтомы/моментальные снимки и делать инкрементные резервные копии моих экземпляров и данных LXC.

Я ничего не пропустил? Может ли кто-нибудь дать несколько советов по соответствующему рабочему процессу резервного копирования для LXD/LXC с BTRFS?

Рейтинг:0
флаг in

Если вы устанавливаете LXD на своем удаленном сервере и оба сервера используют Btrfs, вы можете использовать Оптимизированная передача экземпляра как это:

lxc удаленный добавить mybtrfsremotebackupserver XXX
Моментальный снимок lxc mycontainer snap1
lxc копировать мой контейнер mybtrfsremotebackupserver: --verbose

И он будет использовать btrf-отправить для начальной передачи контейнера и всех его снапшотов.

Тогда у вас есть очень удобный способ обслуживания контейнера, и его моментальные снимки отправляют только добавочные изменения с помощью опции --обновить (LXD 3.7)

lxc copy --refresh mycontainer mybtrfsremotebackupserver: --verbose

Но, к сожалению, он использует rsync, по крайней мере в LXD 4.0, так что вы потеряете btrfs-отправить оптимизация.

Проверьте эту проблему для получения дополнительной информации: Запрос функции: флаг --snapshots-only для копирования

Кроме того, есть «Обновить поддержку копий пользовательских томов» но я не уверен, использует ли он оптимизированный путь или может быть полезен для вашей цели. Вы также можете проверить --optimized-storage в экспорте lxc

С уважением

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.