Ist es möglich, mit LVM Snapshots nur mit Metadaten zu erstellen?

Ist es möglich, mit LVM Snapshots nur mit Metadaten zu erstellen?

Mit dm thin ist es meines Wissens nun möglich, die Metadaten getrennt vom Snapshot selbst zu speichern.

Weiß jemand, ob es möglich wäre, Snapshots nur mit Metadaten zu erstellen, die nicht denselben E/A-Overhead verursachen? Mich interessiert, welche Blöcke sich geändert haben, aber nicht der Inhalt des alten Blocks.

Der Hauptgrund für meine Frage ist, dass ich mich frage, ob eine Backup-Lösung mit etwas wie lvmsync (https://github.com/mpalmer/lvmsync) - ohne dass dabei nennenswerter Mehraufwand entsteht.

In der Dokumentation sind die Informationen dazu, wie dies erreicht werden kann, etwas spärlich. Ich dachte eher an die Erstellung eines Thin Pools basierend auf /dev/null oder ähnlichem, der beim Beschreiben stillschweigend verwirft.

Antwort1

Das Äquivalent des Device-Mappers /dev/nullist das Zero-Target ( dmsetup create --table '0 <nsectors> zero' myzeroes). Ich denke, Sie können dies als Datengerät für Ihren Thin Pool verwenden und dann einen Snapshot Ihres Original-Volumes (als externen Ursprung) erstellen, um zu verfolgen, welche Änderungen daran vorgenommen werden. All dies geschieht außerhalb von LVM; Sie benötigen die volle Flexibilität von DM, während LVM die bequemere und sicherere Ausführung gängiger Anwendungsfälle ermöglicht.

Mit Hilfe vonthin-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"

verwandte Informationen