lvm 瘦发送/接收

  • 几天前在 LKML 上发现此邮件,引入了对用户空间访问 LVM 精简配置元数据快照的支持,此前不知这是可行的。
  • 使用精简配置工具可将 LVM 快照的元数据信息导出,以跟踪它们之间的更改区域。
  • 工作流程很直接,但未很好记录:

    • 在精简配置的 LVM 池中为卷创建一个基础快照,此快照用作后续增量快照的参考:# lvcreate -ay -Ky --snapshot -n full_backup thingroup/vol1
    • 向卷中复制一些数据并创建另一个快照,另外使用dmsetup告诉内核创建一个元数据快照:# dmsetup message /dev/mapper/thingroup-thinpool-tpool 0 reserve_metadata_snap # lvcreate -ay -Ky --snapshot -n inc_backup thingroup/vol1
    • 使用thin_delta可执行文件导出快照之间差异的 XML 描述并释放快照:# thin_delta -m --snap1 $(lvs --noheadings -o thin_id thingroup/full_backup) --snap2 $(lvs --noheadings -o thin_id thingroup/inc_backup) > delta_dump # dmsetup message /dev/mapper/thingroup-thinpool-tpool 0 release_metadata_snap
    • 解析生成的 XML 文件,读取从创建的数据快照中报告为“不同”和“仅右侧”的块。
  • 这已由一个名为thin-send-recv的实用程序实现,它基于此功能可像zfs send 或 zfs recv一样(增量地)将 LVM 快照发送到远程系统。
阅读 17
0 条评论