是否可以使用LVM创build仅包含元数据的快照?

使用DM瘦我知道现在可以存储元数据独立快照本身。

有谁知道是否有可能创build不会产生相同的I / O开销的只有元数据的快照? 我感兴趣的是哪些块已经改变,但不是旧块的内容。

我这个问题的主要动机是,我不知道是否使用像lvmsync( https://github.com/mpalmer/lvmsync )的备份解决scheme – 但不会产生任何重大的开销。

有关如何实现这一点的信息,文档有点亮,我的想法是创build一个基于/ dev / null或类似的精简池,写入时默默丢弃。

相当于/dev/null的设备映射器是零目标( dmsetup create --table '0 <nsectors> zero' myzeroes )。 我认为您可以将其用作精简池的数据设备; 然后快照您的原始音量(作为外部来源)以跟踪对其进行了哪些更改。 所有这些都是在LVM之外完成的; 您需要DM的全面灵活性,而LVM则更方便,更安全地迎合常见用例。

在thin-provisioning.txt的帮助下:

 dmsetup create --table "0 $nsectors zero" myzeroes dmsetup create pool \ --table "0 $nsectors thin-pool $metadata_dev /dev/mapper/myzeroes \ $data_block_size $low_water_mark" thinnum=0 dmsetup message /dev/mapper/pool 0 "create_thin $thinnum" origsectors=$(blockdev --getsz /dev/myorigin) dmsetup create snap \ --table "0 $origsectors thin /dev/mapper/pool $thinnum /dev/myorigin"