我需要在具有本地存储的Linux服务器上存储〜150 GB二进制文件(qcow2)的多个版本,并且希望有一些解决scheme,只需保留可根据需要合并的差异,以便不必创build另一个当只有4Gigs改变时,一个150GB文件的副本。 这是一个存储问题,而不是关于KVM / qcow2特定function的问题。 我已经探讨了其中的一些select。 目前使用CentOS 6.3和EXT4。 这些文件需要无限期存储,并且在恢复时必须完整无缺。 我愿意改变文件系统等,如果一个解决scheme是值得的。
在Linux上使用重复数据删除的ZFS可能是您的朋友。 有红帽RPM / repos可用于安装。
即使没有重复数据删除,如果您可以将其应用到ZFS快照工作stream程中,使用ZFS尝试这一点会有一些显着的优势。
你能否更详细地解释一下你如何使用这些文件? 您正在寻找时间点快照,还是将相同/相似文件的多个版本复制到数据存储?
我会将LVM快照视为解决scheme。 没有深入细节,我会这样做:
此时,您可以通过挂载LVM快照来访问原始文件。 此外,大文件的最新版本将可用。 您可以通过这种方式创build多个快照。
我为此使用librsync 。 它可用于EPEL存储库中的 CentOS和其他RHEL克隆。
只要使用:
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
这可以被链接 – 你可以从old.qcow2创build一个rdiff到evenolder.qcow2等等。 这是相当缓慢,但非常节省空间 – 我通常不需要使用这个删除旧的备份。 还有一个rdiff备份程序,可以为整个目录自动化类似的scheme。