Назад | Перейти на главную страницу

Резервное копирование инкрементных снимков на другой том

Я ищу способ реализовать что-то близкое к следующей схеме резервного копирования:

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

Можно ли это реализовать с помощью LVM (или каким-то другим способом)? Ему нужно отслеживать, какие блоки стали грязными с момента последнего резервного копирования, что я не уверен, что LVM может это сделать ... Я бы предпочел всегда избегать постоянных затрат производительности на выполнение снимка LVM.

Новичок на сцене - Чердак https://attic-backup.org/

В течение нескольких лет мы использовали rdiff-backup в качестве основного метода резервного копирования. Он отлично подходил для своей работы, но в течение года создавал десятки и сотни тысяч небольших файлов различий. Большинству файловых систем и дисков будет сложно справиться с количеством файлов, превышающим миллион. Резервное копирование нашего хранилища IMAP на базе Maildir объемом 90 ГБ займет несколько часов. Мне приходилось постоянно уменьшать количество недель / различий, которые мы сохраняли бы в истории.

Для сравнения, когда мы перешли на чердак, ночное резервное копирование выполнялось всего за 15-20 минут. Это означает, что гораздо более целесообразно хранить годовые инкрементные резервные копии, чтобы вы могли вернуться к любому дню в течение прошлого года.

Основные черты, которые привлекли меня на чердак:

  • Он не создает тысячи файлов на целевом сервере
  • Дедупликация с использованием блоков переменного размера
  • Имеет встроенное сжатие
  • Эффективен при резервном копировании файлов образов виртуальных машин.
  • Эффективно через WAN-соединения

После использования в течение 6-9 месяцев я почти уверен, что он так же стабилен, как и rdiff-backup. Я до сих пор делаю копии каталогов Attic с несколькими поколениями, используя съемные носители, но на каждом съемном носителе есть полная копия репозитория Attic.

Альтернативой снимку LVM является использование драйвер блока датто (он же. Dattobd).

Из dattobd страница GitHub:

Драйвер Datto Block Driver (dattobd) решает указанные выше проблемы и обеспечивает функциональность, аналогичную VSS в Windows, для широкого спектра ядер Linux. Dattobd - это модуль ядра Linux с открытым исходным кодом для создания моментальных снимков в реальном времени. Dattobd может быть загружен на работающую машину Linux (без перезагрузки) и создает файл COW на исходном томе, представляющий любое блочное устройство в момент создания снимка. После первого снимка драйвер отслеживает инкрементные изменения в блочном устройстве и, следовательно, может использоваться для эффективного обновления существующих резервных копий, копируя только измененные блоки. Dattobd - это настоящая система моментальных снимков в реальном времени, которая оставит ваш корневой том работающим и доступным без необходимости перезагрузки.

Я попробовал, и он работает как положено на ext4 fs. Также есть рабочий пример (со скриптами), приведенный в вики.

Наконец, обратите внимание, что UrBackup имеет встроенную поддержку резервного копирования моментальных снимков в Linux с использованием LVM или dattobd.

Rsync / Rsnapshot являются гораздо лучшими инструментами для такого рода работы, особенно с учетом того, что они предоставляют вам "живой" каталог моментальных снимков, в котором несоответствия будут ограничены не более чем одним файлом, но они не могут уничтожить всю резервную копию. Более того, используя жесткие ссылки, вы можете получить инкрементное резервное копирование без связанных с этим неудобств.

Я с большим удовлетворением использовал это решение в производственной системе с миллионами файлов и десятками снимков.