Enhetsmappare

Device Mapper ( dm ) är ett undersystem ( modul ) av Linux-kärnan som låter dig skapa virtuella blockenheter (VBUs). Vid åtkomst till sådana enheter utförs ett antal åtgärder, som vanligtvis inkluderar att läsa/skriva data från andra blockenheter (BU). Delsystemet används för att implementera LVM logisk volymhanterare , programvara RAID , dm-crypt diskkrypteringssystem . En av undersystemets möjligheter är att skapa ögonblicksbilder av filsystemet [1] .

dm-funktioner tillhandahålls också av DragonFly BSD [2] kärndelsystem med samma namn . Den här sidan beskriver implementeringen av dm för Linux-kärnan.

Beskrivning

Applikationer (som lvm, EVMS , mdadm) som körs i användarutrymmet interagerar med dm med hjälp av libdevmapper.so . Biblioteket använder ett systemanrop för ioctl()att komma åt enhetsfilen /dev/mapper/control[3] . När du kommer åt den här enheten anropar kärnan dm-undersystemet. dm-undersystemet arbetar i kärnutrymmet och skapar, modifierar och tar bort virtuella blockenheter (VBUs) på applikationsbegäranden. Verktyget dmsetuplåter dig styra dm manuellt från terminalen eller skalskripten [4] [5] . Biblioteket libdevmapper.sooch teamet dmsetupunderhålls av LVM- projektet [6] .

Klientapplikationer använder systemanrop read()/ write()(via bibliotek eller direkt) för att läsa/skriva data från VBU. Kärnan anropar sedan dm-delsystemet. Delsystemet dm bestämmer typen av våtmark och väljer lämpliga åtgärder.

Typer av virtuella blockenheter [1] [4] :

Applikationer

Enhetsmappningsfunktioner används i följande projekt:

Anteckningar

  1. 1 2 Administrera LVM . Bilaga A. Enhetsmappare . Red Hat . Datum för åtkomst: 29 september 2013. Arkiverad från originalet den 2 oktober 2013.
  2. dm(4) . DragonFly on-line manualsidor . dragonflybsd.org (28 juli 2010). Datum för åtkomst: 6 juni 2014. Arkiverad från originalet 23 april 2015.
  3. libdevmapper.h . sourceware.org. Hämtad: 29 september 2013.  (inte tillgänglig länk)
  4. 1 2 dmsetup(8) - Linuxmanpage . man.cx Hämtad 22 oktober 2013. Arkiverad från originalet 4 mars 2016.
  5. LVM-administration . Bilaga A.2. kommandot dmsetup . Red Hat . Datum för åtkomst: 29 september 2013. Arkiverad från originalet den 2 oktober 2013.
  6. Resurssida för enhetskartläggning . sourceware.org. Hämtad 29 september 2013. Arkiverad från originalet 7 oktober 2013.
  7. Petros Koutoupis. Avancerade tekniker för cachelagring av hårddiskar . Linux journal ( 25 november 2013). Hämtad 2 december 2013. Arkiverad från originalet 2 december 2013.
  8. dm-cache: dynamisk lagringscache på blocknivå (nedlänk) . Floridas internationella universitet. Hämtad 24 juli 2014. Arkiverad från originalet 18 juli 2014. 
  9. Dulcardo Arteaga; Douglas Ottott; Ming Zhao. Dynamisk cachehantering på blocknivå för cloud computing-system (pdf)  (inte tillgänglig länk) . Floridas internationella universitet. Hämtad 2 december 2013. Arkiverad från originalet 3 december 2013.
  10. 6. Blocklager . Linuxkärna 3.15 . kernelnewbies.org (8 juni 2014). Hämtad 15 juni 2014. Arkiverad från originalet 11 juni 2018.

Länkar