
Насколько я понимаю, с помощью dm thin теперь можно хранить метаданные отдельно от самого снимка.
Кто-нибудь знает, возможно ли создать снимки только метаданных, которые не влекут за собой те же накладные расходы ввода-вывода? Мне интересно, какие блоки изменились, а не содержимое старого блока.
Моя главная мотивация для этого вопроса заключается в том, что мне интересно, есть ли решение для резервного копирования, использующее что-то вроде lvmsync (https://github.com/mpalmer/lvmsync) - но не влекущее за собой существенных накладных расходов.
В документации немного информации о том, как этого добиться, я думал о создании тонкого пула на основе /dev/null или чего-то подобного, который молча отбрасывает данные при записи.
решение1
Эквивалентом устройства сопоставления /dev/null
является нулевая цель ( dmsetup create --table '0 <nsectors> zero' myzeroes
). Я думаю, вы сможете использовать это как устройство данных для вашего тонкого пула; а затем сделать снимок вашего исходного тома (как внешнего источника), чтобы отслеживать, какие изменения в него вносятся. Все это делается вне LVM; вам нужна полная гибкость DM, в то время как LVM обслуживает общие случаи использования более удобно и безопасно.
С помощьютонкое-обеспечение.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"