Linus Torvalds zal dm-clone voor Linux Kernel branch 5.4 bevatten

Linux-kernel

Onlangs het nieuws werd vrijgegeven dat de maker van de Linux-kernel, "Linus Torvalds" werd toegelaten tot de kerntak (op basis waarvan versie 5.4 is gevormd) de implementatie van de dm-clone module met de implementatie van een nieuwe controller gebaseerd op Device-Mapper.

Dit nieuwe voorstel voor Linux-kernel kunt u een bestaand blokapparaat klonen. De module maakt het mogelijk om een ​​lokale kopie op basis van op een alleen-lezen blokapparaat waarnaar kan worden geschreven tijdens het kloonproces.

Als een typische toepassing van de voorgestelde module voor de Linux Kernel "Dm-clone" verwijst naar netwerkklonen van externe bestandsapparaten in de modus alleen-lezen en I / O-verwerking met lange vertragingen, naar een snel lokaal apparaat dat opname en verwerking van verzoeken met minimale vertragingen ondersteunt.

Met het biedt de mogelijkheid om het gekloonde apparaat te koppelen en het onmiddellijk te gebruiken nadat het is gemaakt, zonder te wachten tot het gegevensoverdrachtproces is voltooid.

Aan de andere kant zal het kopiëren van informatie op de achtergrond doorgaan, parallel met de invoer / uitvoer die wordt gegenereerd bij het openen van een nieuw apparaat.

De belangrijkste use case voor dm-clone is het klonen van een mogelijk externe latentie, alleen-lezen bestandstype-vergrendelingsapparaat op een beschrijfbaar primair apparaat.

Bijv. dm-clone kan worden gebruikt om aangesloten opslagback-ups te herstellen naar het netwerk beschikbaar via protocollen zoals NBD, Fibre Channel, iSCSI en AoE op lokale opslag op basis van SSD of NVMe.

De dm-clone-code is geoptimaliseerd voor kleine willekeurige schrijfbewerkingen waarvan de grootte overeenkomt met de blokgrootte (standaard 4K).

Tijdens het kloonproces zullen leesverzoeken leiden tot een direct verzoek om gegevens van het gekloonde apparaat en schrijfverzoeken die betrekking hebben op gebieden die nog niet zijn gesynchroniseerd, worden uitgesteld totdat het ongepland laden van de gevraagde blokken is voltooid (de laadbewerkingen voor de opname-gerelateerde blokken beginnen onmiddellijk).

Blokken die door de "discard" -bewerking worden verwijderd, worden uitgesloten van het kopieerproces (na het aankoppelen kan de gebruiker "fstrim / mnt / cloned-fs" uitvoeren om te voorkomen dat blokken worden gekopieerd die niet in de FS worden gebruikt).

Informatie over wijzigingen en gegevens in geladen blokken ze worden opgeslagen in een aparte lokale metadatatabel.

Nadat het klonen is voltooid, ontvangt de gebruiker een volledige werkkopie van het bronapparaat met daarin alle wijzigingen die zijn aangebracht sinds het begin van het klonen.

U kunt een tabel met kloonmetagegevens na het synchroniseren neerzetten door deze te vervangen door een tabel met regels die de gegevens rechtstreeks naar een nieuw apparaat weerspiegelt.

Het belangrijkste verschil met op Unionfs en OverlayFS gebaseerde oplossingen is dat dm-clone werkt op blokapparaatniveau, ongeacht het bestandssysteem dat op dit apparaat wordt gebruikt, en een volledige kopie vormt van het bronapparaat en geen extra laag oplegt. waar wijzigingen worden bijgehouden.

In tegenstelling tot dm-mirror, was de dm-clone-module oorspronkelijk ontworpen om alleen met de originele sectie in de alleen-lezen-modus te werken, zonder de schrijfbewerkingen ernaar te vertalen.

In dm-snapshot wordt geen volledige kopie gemaakt en wordt achtergrondkopie niet ondersteund. In dm-cache wordt geen volledige kopie gemaakt, worden schrijfbewerkingen doorgestuurd en wordt het werk gereduceerd tot het opslaan van treffers. De dichtstbijzijnde functionaliteit is dm-dun.

dm-clone gebruikt dm-kcopyd om delen van het bronapparaat naar het doelapparaat te kopiëren. Standaard worden kopieerverzoeken verzonden met een grootte die gelijk is aan de grootte van de regio.

Een 'hydration_batch_size <#regions>' - bericht kan worden gebruikt om de grootte van deze kopieerverzoeken aan te passen. Door de batchgrootte van de hydratatie te vergroten, probeert dm-clone aangrenzende regio's te groeperen, dus kopiëren we de gegevens van deze vele regio's in batches.

bron: https://git.kernel.org


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.