Apparaattoewijzing - Device mapper
De device mapper is een raamwerk dat door de Linux-kernel wordt geboden voor het toewijzen van fysieke blokapparaten aan virtuele blokapparaten van een hoger niveau . Het vormt de basis van de Logical Volume Manager (LVM), software- RAID's en dm-crypt- schijfversleuteling, en biedt extra functies zoals snapshots van bestandssystemen .
Device mapper werkt door gegevens door te geven van een virtueel blokapparaat, dat door de device mapper zelf wordt geleverd, naar een ander blokapparaat. Gegevens kunnen ook tijdens de overgang worden gewijzigd, wat bijvoorbeeld wordt uitgevoerd in het geval dat de device mapper schijfversleuteling biedt of een simulatie van onbetrouwbaar hardwaregedrag.
Dit artikel richt zich op de implementatie van device mapper in de Linux-kernel, maar de device mapper-functionaliteit is ook beschikbaar in zowel NetBSD als DragonFly BSD .
Gebruik
Toepassingen (zoals LVM2 en Enterprise Volume Management System (EVMS)) die nieuwe toegewezen apparaten moeten maken, praten met de apparaattoewijzing via de libdevmapper.so gedeelde bibliotheek , die op zijn beurt ioctls uitgeeft aan het /dev/mapper/control apparaatknooppunt . De configuratie van de device mapper kan ook interactief worden onderzocht en geconfigureerd configured — of vanuit shell-scripts — door het hulpprogramma te gebruiken.
De broncode van beide van deze twee gebruikersruimte-componenten wordt naast de LVM2-broncode onderhouden.
Kenmerken
Functies die door de apparaattoewijzing worden geboden, omvatten lineaire, gestreepte en fouttoewijzingen, evenals crypt- en multipad- doelen. Twee schijven kunnen bijvoorbeeld worden samengevoegd tot één logisch volume met een paar lineaire toewijzingen, één voor elke schijf. Als een ander voorbeeld codeert crypt target de gegevens die door het gespecificeerde apparaat gaan, met behulp van de Crypto API van de Linux-kernel .
De volgende kaartdoelen zijn beschikbaar:
- cache - maakt het maken van hybride volumes mogelijk door solid-state drives (SSD's) te gebruiken als caches voor harde schijven (HDD's)
- kloon - staat gebruik toe voordat een overdracht is voltooid.
- crypt - biedt gegevenscodering door de Crypto API van de Linux-kernel te gebruiken
- vertraging - vertragingen lezen en / of schrijven naar verschillende apparaten (gebruikt voor testen)
- era - gedraagt zich op een manier die vergelijkbaar is met het lineaire doel, terwijl het blokken bijhoudt waarnaar is geschreven binnen een door de gebruiker gedefinieerde tijdsperiode
- error - simuleert I / O-fouten voor alle toegewezen blokken (gebruikt voor testen)
- flakey - simuleert periodiek onbetrouwbaar gedrag (gebruikt voor testen)
- lineair - wijst een continue reeks blokken toe aan een ander blokapparaat
- mirror - wijst een gespiegeld logisch apparaat toe, terwijl het gegevensredundantie biedt
- multipath - ondersteunt het in kaart brengen van multipath- apparaten door gebruik te maken van hun padgroepen
- raid - biedt een interface naar de software RAID- driver ( md ) van de Linux-kernel
- snapshot en snapshot-origin - gebruikt voor het maken van LVM-snapshots, als onderdeel van het onderliggende copy-on-write-schema
- gestreepte - strepen de gegevens over fysieke apparaten, met het aantal strepen en de striping chunk size als parameters
- dun - maakt het mogelijk om apparaten te maken die groter zijn dan het onderliggende fysieke apparaat, fysieke ruimte wordt alleen toegewezen wanneer er naar wordt geschreven
-
nul - een equivalent van
/dev/zero, alle leesbewerkingen retourneren blokken met nullen en schrijfbewerkingen worden genegeerd
Toepassingen
De volgende Linux-kernelfuncties en -projecten zijn bovenop de device mapper gebouwd:
- cryptsetup - hulpprogramma dat wordt gebruikt om gemakkelijk schijfversleuteling in te stellen op basis van dm-crypt
- dm-crypt / LUKS - toewijzingsdoel dat volumeversleuteling biedt
- dm-cache - toewijzingsdoel waarmee hybride volumes kunnen worden gemaakt
- dm-integriteit - toewijzingsdoel dat gegevensintegriteit biedt , hetzij met behulp van checksumming of cryptografische verificatie, ook gebruikt met LUKS
- dm-log-writes - toewijzingsdoel dat twee apparaten gebruikt, het eerste apparaat passeert en de schrijfbewerkingen op het tweede apparaat logt
- dm-verity - valideert de datablokken in een bestandssysteem tegen een lijst met cryptografische hash-waarden, ontwikkeld als onderdeel van het Chromium OS- project
- - biedt toegang tot "nep" RAID- configuraties via de device mapper
- DM Multipath - biedt I / O-failover en taakverdeling van blokapparaten binnen de Linux-kernel
- Docker - gebruikt apparaattoewijzing om opslag voor kopiëren bij schrijven te maken voor softwarecontainers
- DRBD (Distributed Replicated Block Device)
- EVMS (verouderd)
- - hulpprogramma aangeroepen vanaf hotplug bij het maken en verwijderen van apparaatkaarten
- LVM2 - logische volumebeheerder voor de Linux-kernel
- Linux-versie van TrueCrypt
- VDO - Virtual Data Optimizer
Referenties
Externe links
- Device mapper thuis bij Red Hat
- "Recht op uw eigen apparaten" . Linux Gazette . Mei 2005. - een artikel dat het gebruik van verschillende device mapper-doelen illustreert
- userpace tool om software RAID in te stellen met behulp van verschillende RAID metadata formaten
- Multipath-ondersteuning in de device mapper , LWN.net , 23 februari 2005, door Jonathan Corbet