LINUX.ORG.RU

Проблема консистентности бекапов

 , ,


0

4

Вопрос в рамках локалхоста простого юзера, который озаботился созданием бекапов. Допустим есть основной диск А, на котором лежат рабочие файлы и где они непосредственно изменяются/создаются/удаляются, есть в этом же компьютере диск Б, на которой я отправляется бекап, и есть внешний диск В, на который также направляется бекап. Все бекапы делаются с помощью rsync. Допустим диск или система сбойнула, что привело к тому, что какой-то файл на диске А поломался и не открывается или частично нечитаем. Этот файл может не открываться месяцами и даже годами, поэтому юзер может и не знать, что у него проблема. А rsync этот файл заботливо по графику бекапа переносит на оба диска - Б и В. В итоге везде файл запоротый.

Как эту проблему опять же в рамках локалхоста домашнего юзера решить? Linux only. Размер всех файлов для бекапа около терабайта. Держать дифференциальные бекапы за годы изменений можно сказать непозволительно дорого.

Допустим диск или система сбойнула, что привело к тому, что какой-то файл на диске А поломался и не открывается или частично нечитаем.

А rsync этот файл заботливо по графику бекапа переносит

Сам проблему выдумал? Как rsync «перенесет» нечитаемый (хоть и частично) файл? Когда rsync копирует, то он обычно не пишет сразу поверх старого файла из бекапа - а создает временный файл (типа .9837264987236.tmp), и только после того как файл скопирован успешно - переключает имя и затирает прежний файл из бекапа.

А на случаев если юзер «сам запорол» оригинальный файл - в смысле записал в ним «что то не то» (но сам файл нормально читается) - само собой, нужно юзать версионизированные бекапы (где можно вытянуть любую прежнюю версию каждого файла). Или git : )

manul91
()

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

Как держать старые версии не держа старые версии? Никак)

goingUp ★★★★★
()

Предположим, речь о silent bit rot в исходных данных. Тогда, задача не совсем о бекапах. Можно попробовать использовать btrfs или zfs, они умеют в чексуммы, а бонусом в снапшоты, с которых как раз и замечательно снимать консистентные бекапы.

slowpony ★★★★★
()

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

Заведи ленточный накопитель. Иначе - без вариантов.

tiinn ★★★★★
()

Используй borgbackup, он может дедубликацию.

SyntaxError
()

Все бекапы делаются с помощью rsync. Допустим диск или система сбойнула, что привело к тому, что какой-то файл на диске А поломался и > не открывается или частично нечитаем.

Если проблема не на уровне файловой системы, то можешь перед rsync проверять файлы любым извращенным способом - тест архивов, проверка контрольной суммы, размера, метаданных и т.д. Все подозрительное в exclude для rsync.

EugeneS2
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.