Лучшая стратегия для сохранения резервной копии на 3 разных жестких дисках в Linux: rsync? mergerfs? что-то еще?

Вопрос или проблема

Допустим, у меня есть сервер и 3 разных жестких диска.

Я хочу узнать, какие плюсы и минусы различных стратегий резервного копирования. Вот требования:

  • Я хочу, чтобы новый файл автоматически копировался на каждый из 3-х жестких дисков.
  • Я хочу, чтобы их можно было использовать отдельно, то есть если я удалю один (или все) из них с сервера, я хочу иметь возможность читать их прямо из коробки (без необходимости настраивать дополнительный программный уровень, такой как RAID).
  • Если я хочу удалить один из 3-х жестких дисков (чтобы сохранить одну из резервных копий вне сайта), я хочу, чтобы система продолжала функционировать и зеркалила данные резервной копии на 2 оставшихся жестких дисках.
  • Я хочу, чтобы решение не зависело от коммерческого программного обеспечения.
  • Оно должно работать на Linux, а файловая система жестких дисков должна быть ext4.

Каковы лучшие стратегии на ваш взгляд:

  • использовать rsync с одним основным жестким диском (например, HDD_A) и иметь скрипт, который копирует файлы на 2 оставшихся жестких диска (HDD_A -> HDD_B и HDD_A -> HDD_C)
  • использовать что-то вроде mergerfs (что я до сих пор не использовал) и настроить уникальную файловую систему, которая зеркалирует данные на 3 разных жестких дисках одновременно (возможно ли вообще это решение)?
  • что-то еще?

Ответ или решение

Лучшие стратегии для дублирования резервных копий на Linux с использованием трех различных жестких дисков

В условиях, когда необходимо поддерживать резервные копии данных на трех жестких дисках в Linux, эффективный подход к организации и дублированию данных может быть осуществлён с использованием различных инструментов и технологий. Основными требованиями вашей задачи являются автоматическое резервное копирование новых файлов на каждый из трех дисков, возможность использования дисков по отдельности, а также устойчивость к потере одного из дисков. Рассмотрим два основных подхода: использование rsync и mergerfs, а также альтернативные методы.

Стратегия 1: Использование rsync

Описание: rsync — это мощный инструмент для синхронизации файлов и каталогов между различными местоположениями. В вашем сценарии можно использовать один из дисков как основной (например, HDD_A) и настроить скрипт, который будет регулярно копировать файлы на оставшиеся два жестких диска (HDD_B и HDD_C).

Преимущества:

  • Простота и надежность: Высокая степень контроля над процессом создания резервных копий позволяет легко отслеживать и управлять состоянием данных.
  • Индивидуальная доступность: Каждый жесткий диск можно использовать отдельно, без необходимости дополнительной настройки.
  • Расширяемость: Легко добавить новые жесткие диски или изменить структуру резервирования.

Недостатки:

  • Разграничение операций: В случае сбоя одного диска, необходимо будет вручную запустить процесс копирования для восстановления резервных копий.
  • Ограниченная параллельность: Процесс копирования выполняется последовательно, что может увеличить время на резервное копирование больших объемов данных.

Пример команды rsync:

rsync -av --delete /path/to/source/ /path/to/HDD_B/
rsync -av --delete /path/to/source/ /path/to/HDD_C/

Стратегия 2: Использование mergerfs

Описание: mergerfs — это решением, которое объединяет несколько файловых систем в одну. Однако важно отметить, что mergerfs не может непосредственно дублировать файлы между дисками. Его основная цель — предоставить единую точку доступа к данным, хранящимся на нескольких устройствах.

Преимущества:

  • Удобство использования: Все файлы хранятся в одном виртуальном каталоге, что упрощает доступ к данным.
  • Гибкость: Легко добавлять или удалять диски из системы без какого-либо влияния на доступность данных.

Недостатки:

  • Отсутствие дублирования: mergerfs сам по себе не создает резервные копии, и в случае удаления файла с одного диска он пропадет и из объединенной системы.
  • Сложности при восстановлении: Если один из дисков будет повреждён, доступ к данным на других дисках может быть затруднен, особенно если используются режимы, при которых данные распределяются по нескольким устройствам.

Альтернативные подходы

  1. Использование программного обеспечения для резервного копирования: Хотя ваш запрос предполагает использование решений с открытым кодом, такие как BorgBackup, могут быть полезными для управления резервными копиями и их шифрования.

  2. Создание кастомного скрипта на Bash: Скрипт, использующий inotify для наблюдения за каталогами на изменения, может запускать rsync или другие команды непосредственно при добавлении новых файлов.

  3. Создание файловой системы, поддерживающей дублирование: Использование таких инструментов, как DRBD (Distributed Replicated Block Device), может помочь для работы с файловыми системами, которые работают в режиме реального времени, но потребует больше настройки.

Заключение

Если вам требуется автоматическое резервное копирование и возможность дальнейшего использования дисков по отдельности, наиболее подходящей стратегией является использование rsync в сочетании со скриптами для отслеживания изменений. mergerfs может оказаться полезным для объединения пространства, но не подходит под требования резервного копирования.

С учетом всех преимуществ и недостатков, плюсowych к вам стоит выбрать стратегию, которая будет наиболее соответствовать вашим требованиям по доступности, надежности и простоте управления данными.

Оцените материал
Добавить комментарий

Капча загружается...