Ein Mechanismus blksnap zur Erstellung von Snapshots von Blockgeräten in Linux wurde vorgeschlagen.

Die Firma Veeam, die Software für Backup und Wiederherstellung nach Ausfällen entwickelt, hat einen blksnap-Kernelmodul für die Integration in den Linux-Kernel vorgeschlagen. Dieses Modul implementiert Mechanismen zur Erstellung von Snapshots von Blockgeräten und zur Überwachung von Änderungen an Blockgeräten. Um mit Snapshots zu arbeiten, steht das Kommandozeilen-Tool blksnap und die Bibliothek blksnap.so zur Verfügung, die es Benutzern ermöglichen, über ioctl-Aufrufe mit dem Kernelmodul zu interagieren.

Ziel der Erstellung des Moduls ist die Organisation von Backups von Speichersystemen und virtuellen Festplatten ohne Unterbrechung des Betriebs. Das Modul ermöglicht es, den aktuellen Zustand des gesamten Blockgeräts in einem Snapshot festzuhalten und bietet einen isolierten Ausschnitt für das Backup, der unabhängig von fortlaufenden Änderungen ist. Ein wichtiges Merkmal von blksnap ist die Möglichkeit, gleichzeitig Snapshots für mehrere Blockgeräte zu erstellen, was nicht nur die Integrität der Daten auf Blockgerät-Ebene gewährleistet, sondern auch die Konsistenz des Zustands verschiedener Blockgeräte im Backup sicherstellt.

Um Änderungen im Subsystem der Blockgeräte (bdev) zu verfolgen, wurde die Möglichkeit hinzugefügt, Filter anzuhängen, die Eingabe-/Ausgabeanfragen abfangen. In blksnap ist ein Filter implementiert, der Schreibanfragen abfängt, den alten Wert liest und ihn in einer separaten Änderungsauflistung speichert, die den Zustand des Snapshots bestimmt. Bei diesem Ansatz bleibt die Logik der Arbeit mit dem Blockgerät unverändert; die Schreibvorgänge auf dem ursprünglichen Blockgerät erfolgen wie gewohnt, unabhängig von Snapshots, was die Möglichkeit von Datenbeschädigungen ausschließt und Probleme selbst im Falle unvorhersehbarer kritischer Fehler in blksnap und einer Überfüllung des für Änderungen reservierten Speicherplatzes vermeidet.

Das Modul ermöglicht unter anderem die Feststellung, welche Blöcke sich zwischen dem letzten und einem beliebigen vorherigen Snapshot geändert haben. Dies kann nützlich sein, um inkrementelle Backups zu implementieren. Um Änderungen im Verhältnis zum Zustand des Snapshots zu speichern, kann im Anschluss an ein beliebiges Blockgerät ein beliebiger Sektorbereich zugewiesen werden, wodurch ermöglicht wird, Änderungen in separaten Dateien innerhalb des Dateisystems auf Blockgeräten zu speichern. Die Größe des Bereichs zum Speichern von Änderungen kann jederzeit erhöht werden, sogar nach der Erstellung des Snapshots.

Blksnap basiert auf dem Code des Moduls veeamsnap, das Teil des Produkts Veeam Agent for Linux ist, wurde jedoch unter Berücksichtigung der spezifischen Bereitstellung im Hauptkern von Linux überarbeitet. Das konzeptionelle Unterscheidungsmerkmal von blksnap zu veeamsnap ist die Verwendung eines Filtersystems, das an das Blockgerät angeschlossen ist, anstelle einer separaten Komponente bdevfilter, die Ein-/Ausgaben abfängt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster