Enhedsmapper

Device Mapper ( dm ) er et undersystem ( modul ) af Linux-kernen , der giver dig mulighed for at oprette virtuelle blokenheder (VBU'er). Ved adgang til sådanne enheder udføres en række handlinger, som normalt omfatter læsning/skrivning af data fra andre blokenheder (BU). Undersystemet bruges til at implementere LVM logisk volumenhåndtering , software RAID , dm-crypt diskkrypteringssystem . En af undersystemets muligheder er oprettelsen af ​​snapshots af filsystemet [1] .

dm-funktioner leveres også af DragonFly BSD [2] kerneundersystemet af samme navn . Denne side beskriver implementeringen af ​​dm til Linux-kernen.

Beskrivelse

Programmer (såsom lvm, EVMS , mdadm), der kører i brugerrummet, interagerer med dm ved hjælp af libdevmapper.so . Biblioteket bruger et systemkald til ioctl()at få adgang til enhedsfilen /dev/mapper/control[3] . Når du får adgang til denne enhed, kalder kernen dm-undersystemet. dm-undersystemet opererer i kernerummet og opretter, ændrer og sletter virtuelle blokenheder (VBU'er) efter anmodning fra applikationer. Hjælpeprogrammet dmsetupgiver dig mulighed for at styre dm manuelt fra terminalen eller shell -scripts [4] [5] . Biblioteket libdevmapper.soog holdet dmsetupvedligeholdes af LVM -projektet [6] .

Klientapplikationer bruger systemkald read()/ write()(via biblioteker eller direkte) til at læse/skrive data fra VBU'en. Kernen kalder derefter dm-undersystemet. dm-delsystemet bestemmer typen af ​​vådområde og vælger de passende handlinger.

Typer af virtuelle blokenheder [1] [4] :

Ansøgninger

Enhedskortlægningsfunktioner bruges i følgende projekter:

Noter

  1. 1 2 Administration af LVM . Appendiks A. Enhedskortlægning . Rød Hat . Dato for adgang: 29. september 2013. Arkiveret fra originalen 2. oktober 2013.
  2. dm(4) . DragonFly online manualsider . dragonflybsd.org (28. juli 2010). Dato for adgang: 6. juni 2014. Arkiveret fra originalen 23. april 2015.
  3. libdevmapper.h . sourceware.org. Hentet: 29. september 2013.  (ikke tilgængeligt link)
  4. 1 2 dmsetup(8) - Linux man page . mand.cx Hentet 22. oktober 2013. Arkiveret fra originalen 4. marts 2016.
  5. LVM-administration . Bilag A.2. dmsetup kommando . Rød Hat . Dato for adgang: 29. september 2013. Arkiveret fra originalen 2. oktober 2013.
  6. Device-mapper ressourceside . sourceware.org. Hentet 29. september 2013. Arkiveret fra originalen 7. oktober 2013.
  7. Petros Koutoupis. Avancerede teknikker til cachelagring af harddiske . Linux-tidsskrift ( 25. november 2013). Hentet 2. december 2013. Arkiveret fra originalen 2. december 2013.
  8. dm-cache: dynamisk blok-niveau lagercache (downlink) . Floridas internationale universitet. Hentet 24. juli 2014. Arkiveret fra originalen 18. juli 2014. 
  9. Dulcardo Arteaga; Douglas Ottott; Ming Zhao. Dynamisk cachestyring på blokniveau til cloud computing-systemer (pdf)  (utilgængeligt link) . Floridas internationale universitet. Hentet 2. december 2013. Arkiveret fra originalen 3. december 2013.
  10. 6. Bloklag . Linux-kerne 3.15 . kernelnewbies.org (8. juni 2014). Hentet 15. juni 2014. Arkiveret fra originalen 11. juni 2018.

Links