Linus Torvalds wird dm-clone für Linux Kernel Branch 5.4 enthalten

Linux Kernel

Recientemente Die Nachricht wurde veröffentlicht, dass der Schöpfer des Linux-Kernels, "Linus Torvalds" wurde in den Kernzweig aufgenommen (auf dessen Grundlage Version 5.4 gebildet wird) die Implementierung des dm-clone-Moduls mit der Implementierung eines neuen Controllers basierend auf Device-Mapper.

Dieser neue Vorschlag für Linux-Kernel Mit dieser Option können Sie ein vorhandenes Blockgerät klonen. Das Modul ermöglicht das Erstellen einer lokalen Kopie basierend auf einem schreibgeschützten Blockgerät, auf das während des Klonvorgangs geschrieben werden kann.

Als typische Anwendung des vorgeschlagenen Moduls für den Linux-Kernel „dm-clone“ bezieht sich auf das Netzwerkklonen von Remote-Dateigeräten im schreibgeschützten Modus und der E/A-Verarbeitung mit langen Verzögerungen, an ein schnelles lokales Gerät, das die Aufzeichnung und Verarbeitung von Anfragen mit minimalen Verzögerungen unterstützt.

Damit bietet die Möglichkeit, das geklonte Gerät zu mounten und sofort zu verwenden nach seiner Erstellung, ohne auf den Abschluss des Datenübertragungsprozesses warten zu müssen.

Währenddessen wird das Kopieren von Informationen im Hintergrund fortgesetzt, parallel zur Ein-/Ausgabe, die beim Zugriff auf ein neues Gerät generiert wird.

Der Hauptanwendungsfall für dm-clone besteht darin, ein schreibgeschütztes Dateityp-Sperrgerät mit potenzieller Remote-Latenz auf ein beschreibbares Primärgerät zu klonen.

Z.B. Mit dm-clone können angehängte Speichersicherungen wiederhergestellt werden an das Netzwerk verfügbar über Protokolle wie NBD, Fibre Channel, iSCSI und AoE auf lokalem SSD- oder NVMe-basiertem Speicher.

Der dm-clone-Code ist für kleine zufällige Schreibvorgänge optimiert, deren Größe der Blockgröße entspricht (standardmäßig 4 KB).

Während des Klonvorgangs führen Leseanfragen zu einer direkten Datenanforderung vom geklonten Gerät, und Schreibanfragen, die Bereiche betreffen, die noch nicht synchronisiert wurden, werden verzögert, bis der außerplanmäßige Upload der angeforderten Blöcke abgeschlossen ist (Upload-Vorgänge für schreibbezogene Blöcke beginnen sofort).

Durch den Vorgang „Verwerfen“ entfernte Blöcke werden vom Kopiervorgang ausgeschlossen (nach dem Mounten kann der Benutzer „fstrim /mnt/cloned-fs“ ausführen, um das Kopieren von Blöcken zu vermeiden, die nicht im FS verwendet werden).

Information über Änderungen und Daten in geladenen Blöcken Sie werden in einer separaten lokalen Metadatentabelle gespeichert.

Nach Abschluss des Klonens erhält der Benutzer eine vollständige Arbeitskopie des Quellgeräts, die alle seit Beginn des Klonens vorgenommenen Änderungen widerspiegelt.

Eine Tabelle mit Klon-Metadaten kann nach der Synchronisierung gelöscht werden, indem sie durch eine Zeilentabelle ersetzt wird, die die Daten direkt auf ein neues Gerät spiegelt.

Der Hauptunterschied zwischen den auf Unionfs und OverlayFS basierenden Lösungen besteht darin, dass dm-clone auf Blockgeräteebene arbeitet, unabhängig vom auf diesem Gerät verwendeten Dateisystem, und eine vollständige Kopie des Quellgeräts erstellt und keine zusätzliche Ebene auferlegt, in der Änderungen verfolgt werden.

Im Gegensatz zu dm-mirror war das dm-clone-Modul ursprünglich dafür konzipiert, nur mit dem Originalabschnitt im schreibgeschützten Modus zu arbeiten, ohne Schreibvorgänge darauf zu übersetzen.

In dm-snapshot wird keine vollständige Kopie erstellt und das Kopieren im Hintergrund wird nicht unterstützt. Im dm-cache wird keine vollständige Kopie erstellt, Schreibvorgänge werden erneut übermittelt und die Arbeit reduziert sich auf das Caching von Treffern. Die nächstgelegene Funktionalität ist dm-thin.

dm-clone verwendet dm-kcopyd, um Teile des Quellgeräts auf das Zielgerät zu kopieren. Standardmäßig werden Kopieranforderungen ausgegeben, deren Größe der Größe der Region entspricht.

Eine „hydration_batch_size <#regions>“-Nachricht kann verwendet werden, um die Größe dieser Kopieranforderungen anzupassen. Das Erhöhen der Hydratations-Batchgröße führt dazu, dass dm-clone versucht, zusammenhängende Regionen zu stapeln, daher kopieren wir die Daten in Stapeln dieser vielen Regionen.

Quelle: https://git.kernel.org


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.