Мне нужно хранить несколько версий двоичного файла размером ~ 150 ГБ (qcow2) на серверах Linux с локальным хранилищем, и я надеялся, что есть какое-то решение, которое включает в себя просто сохранение различий, которые можно объединить по мере необходимости, чтобы мне не пришлось создавать еще один копия файла 150 ГБ, когда изменилось только 4 гига. Это вопрос о хранилище, а не об особенностях KVM / qcow2. Я уже изучил некоторые из этих вариантов. В настоящее время используется CentOS 6.3 с EXT4. Файлы должны храниться неограниченное время и должны быть полностью нетронутыми при восстановлении. Я готов изменить файловую систему и т. Д., Если решение того стоит.
ZFS в Linux с дедупликацией может быть вашим другом в этом случае. Есть RPM / репозитории Red Hat доступны для установки.
Даже без дедупликации, если вы можете включить это в рабочий процесс моментального снимка ZFS, попытка сделать это с ZFS даст некоторые значительные преимущества.
Не могли бы вы подробнее объяснить, как вы хотите работать с этими файлами? Вы ищете моментальные снимки на определенный момент времени или копируете несколько версий одних и тех же / похожих файлов в хранилище данных?
я использую librsync для этого. Он доступен для CentOS и других клонов RHEL в Репозиторий EPEL.
Просто используйте:
rdiff signature new.qcow2 /tmp/new.qcow2.rdiffsig
rdiff delta /tmp/new.qcow2.rdiffsig old.qcow2 new.qcow2--old.qcow2.rdiff
rm /tmp/new.qcow2.rdiffsig
xz new.qcow2--old.qcow2.rdiff
Затем вы можете удалить old.qcow2
. Когда он понадобится вам снова, вы сделаете:
xz -d < new.qcow2--old.qcow2.rdiff.xz > /tmp/new.qcow2--old.qcow2.rdiff
rdiff patch new.qcow2 /tmp/new.qcow2--old.qcow2.rdiff old.qcow2
rm /tmp/new.qcow2--old.qcow2.rdiff
Это можно связать - вы можете создать rdiff из old.qcow2
к evenolder.qcow2
и так далее. Это довольно медленно, но очень эффективно - мне обычно не нужно удалять старые резервные копии, используя это. Также есть rdiff-резервное копирование программа, автоматизирующая аналогичную схему для целых каталогов.
Я бы посмотрел на снимки LVM как на решение. Не вдаваясь в подробности, я бы сделал следующее:
На этом этапе вы можете получить доступ к исходному файлу, смонтировав снимок LVM. Также будет доступна последняя версия большого файла. Таким образом можно создать несколько снимков.