3

Фон

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

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

Ищу решение

Я часто думал о разных способах решения этой проблемы. Одна мысль, которая возникает очень часто, объединяет идею дублирующей файловой системы, которая не требует собственного разделенного тома на жестком диске. Что-то вроде того, что делает truecrypt, то, что он называет «контейнерами, размещенными на файлах», которые при использовании программы truecrypt позволяют монтировать и отключать этот том как обычный жесткий диск.

Вопрос

Существует ли виртуальный жесткий диск, который использует файловый контейнер, который использует файловую систему дедупликации данных?

(Этот вопрос немного неловко выразить словами, если у вас есть идея о том, как задать этот вопрос, пожалуйста, не стесняйтесь помочь.)

3 ответа3

2

Используйте файловые системы ZFS или BTRFS или OpenDEDUP.

Следует также отметить, что вы можете создавать "диски" в файлах на linux и монтировать их с помощью устройства loopback (mount -o loop ...); таким образом, они являются виртуальными.

Вам может быть лучше просто зациклить монтирование файла в формате ZFS; поскольку ZFS в значительной степени является дефактом, когда дело доходит до дедупликации. Если вы не знаете, как это сделать, смотрите здесь.

1

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

1

Утилита двоичного исправления может создать файл исправления, который, если большинство из этих файлов одинаковы, довольно мал. Вы можете выбрать пары файлов, сгенерировать патч, удалить цель и просто сохранить исходный файл и файл патча.

Я использовал xdelta для этой цели.

xdelta delta JanFile FebFile JanToFebPatch

xdelta delta JanFile MarFile JanToMarPatch

Хорошо работает, если вы делаете полное резервное копирование + несколько инкрементных на основе полного. Различные варианты, чтобы ускорить процесс или уменьшить использование памяти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .