Eszközleképező
Az eszközleképező ( dm ) a Linux kernel alrendszere ( modulja ) , amely lehetővé teszi virtuális blokkeszközök (VBU) létrehozását. Az ilyen eszközök elérésekor számos műveletet hajtanak végre, amelyek általában magukban foglalják az adatok olvasását/írását más blokkeszközökről (BU). Az alrendszer LVM logikai kötetkezelő , szoftveres RAID , dm-crypt lemeztitkosítási rendszer megvalósítására szolgál . Az alrendszer egyik lehetősége a fájlrendszer pillanatképeinek készítése [1] .
A dm képességeket a DragonFly BSD [2] azonos nevű kernel alrendszere is biztosítja . Ez az oldal a dm megvalósítását írja le a Linux kernelhez.
Leírás
A felhasználói térben futó alkalmazások (például EVMSlvm , ) a dm - mel a . A könyvtár rendszerhívást használ az eszközfájl eléréséhez [3] . Az eszköz elérésekor a kernel meghívja a dm alrendszert. A dm alrendszer kerneltérben működik, virtuális blokkeszközöket (VBU) hoz létre, módosít és töröl alkalmazás kérésére. A segédprogram lehetővé teszi a dm kézi vezérlését terminálból vagy shell szkriptekből [4] [5] . A könyvtárat és a csapatot az LVM projekt tartja karban [6] .
mdadm libdevmapper.soioctl() /dev/mapper/controldmsetuplibdevmapper.sodmsetup
Az ügyfélalkalmazások rendszerhívásokat használnak read()/ write()(könyvtárakon keresztül vagy közvetlenül) a VBU-ból származó adatok olvasására/írására. A kernel ezután meghívja a dm alrendszert. A dm alrendszer meghatározza a vizes élőhely típusát és kiválasztja a megfelelő intézkedéseket.
A virtuális blokk eszközök típusai [1] [4] :
- lineáris ; a VBU-hoz intézett olvasási és írási kérelmek átirányításra kerülnek egy másik VBU-ra; egy vagy több BU elrejthető egy vizes élőhely mögött;
- csíkos ; amikor az adatokat töredékekre osztják fel; minden fragmentum külön BU-n van rögzítve; olvasáskor a töredékeket több CU-ból olvassa ki és kombinálja;
- tükör ; BU "tükör" (másolata); rögzítéskor az adatok egyidejűleg két vagy több CU-n tárolódnak; olvasáskor az adatok a fő vezérlőegységből kerülnek kiolvasásra;
- pillanatkép-eredet ; a BU első „pillanatfelvétele”; az olvasási és írási kéréseket ugyanúgy kezeljük, mint a lineáris VBU-k esetében;
- pillanatfelvétel ; a BU második és azt követő „pillanatfelvételei”; íráskor az adatok egy kifejezetten a változtatások tárolására létrehozott CU-n tárolódnak; olvasáskor ellenőrzi a változásokat; ha nincs változás, az adatok az előző „pillanatfelvételből” kerülnek kiolvasásra; ha változások vannak, akkor a változásokat tároló BU-ból olvassák ki az adatokat;
- hiba ; olvasáskor és íráskor mindig hibajelzés történik; Az ilyen típusú VBU-kat a szoftver stabilitásának tesztelésére használják a lemezalrendszer hibáival szemben ;
- késés ; a lineáris VBU analógja, de az olvasás és az írás késéssel történik; Az ilyen típusú vizes élőhelyeket tesztelésre használják;
- pelyhes ; analóg egy lineáris VBU-val, de az olvasási és írási műveletek időnként meghiúsulnak; Az ilyen típusú vizes élőhelyeket tesztelésre használják;
- nulla ; egyenértékű a /dev/zero -val ; olvasáskor null bájt ad vissza; írás közben nem történik semmi;
- többutas ; olvasáskor és íráskor ugyanazzal a CU-val az interakció több vezérlőn keresztül történik; ha az egyik vezérlő meghibásodik, a többi vezérlő kerül felhasználásra;
- kripta ; menet közbeni titkosítás; íráskor az adatok titkosításra kerülnek, olvasáskora Linux kernel titkosítási API -jával visszafejtésre kerülnek;
- gyorsítótár ; az egyik JE-ből származó adatok ideiglenes tárolása egy másikban (például egy SSD működhet HDD -gyorsítótárként [7] ; egy helyi JE tárolhatja a hálózatra csatlakoztatott JE-től kapott adatokat [8] [9] );
- korszak [10] ; lineáris típusú VBU analógja, de meghatározott időpontban olvasott és írt blokkok nyomon követésével;
- razzia ; Az ehhez a VBU-hoz intézett kérések a Linux kernel md moduljához kerülnek átirányításra, amely szoftveres RAID -et valósít meg .
Alkalmazások
Az eszközleképező képességeit a következő projektekben használják:
- LVM - Logikai kötetkezelő;
- en:dm-crypt - Linux kernel komponens a partíciók titkosításához;
- en:dm-cache - Linux kernel összetevő az adatok gyorsítótárazásához;
- dm-verity - a Chrome OS összetevője a fájlrendszer integritásának ellenőrzésére;
- dmraid - RAID szimulátor ;
- A dm multipath a Linux kernel egyik összetevője, amely biztosítja a hibatűrést és a terheléselosztást a CU-n;
- A TrueCrypt (Linux operációs rendszerhez készült verzió) egy partíciótitkosítási rendszer;
- DRBD - hálózati blokk eszköz;
- A kpartx a hotplug által meghívott segédprogram VU partíciós táblák létrehozására és törlésére;
- EVMS (elavult);
- en:cryptoloop (elavult);
- A Docker egy program az operációs rendszer szintjén történő folyamatvirtualizációhoz ; A dm a konténerek futtatásakor használatos másolás-írási BU-k létrehozására.
Jegyzetek
- ↑ 1 2 LVM adminisztrálása . A. függelék. Készülékleképező . Red Hat . Hozzáférés időpontja: 2013. szeptember 29. Az eredetiből archiválva : 2013. október 2. (határozatlan)
- ↑ dm(4) . DragonFly on-line kézikönyv oldalak . dragonflybsd.org (2010. július 28.). Hozzáférés dátuma: 2014. június 6. Az eredetiből archiválva : 2015. április 23. (határozatlan)
- ↑ libdevmapper.h . sourceware.org. Letöltve: 2013. szeptember 29. (határozatlan) (nem elérhető link)
- ↑ 1 2 dmsetup(8) - Linux kézikönyvoldal . férfi.cx Letöltve: 2013. október 22. Az eredetiből archiválva : 2016. március 4.. (határozatlan)
- ↑ LVM adminisztráció . melléklet A.2. dmsetup parancs . Red Hat . Hozzáférés időpontja: 2013. szeptember 29. Az eredetiből archiválva : 2013. október 2. (határozatlan)
- ↑ Eszközleképező erőforrás oldal . sourceware.org. Letöltve: 2013. szeptember 29. Az eredetiből archiválva : 2013. október 7.. (határozatlan)
- ↑ Petros Koutoupis. Fejlett merevlemez-gyorsítótárazási technikák . Linux Journal ( 2013. november 25.). Letöltve: 2013. december 2. Az eredetiből archiválva : 2013. december 2. (határozatlan)
- ↑ dm-cache: dinamikus blokk szintű tárolási gyorsítótár (lefelé irányuló kapcsolat) . Floridai nemzetközi egyetem. Letöltve: 2014. július 24. Az eredetiből archiválva : 2014. július 18.. (határozatlan)
- ↑ Dulcardo Arteaga; Douglas Otstott; Ming Zhao. Dinamikus blokkszintű gyorsítótár-kezelés felhőalapú számítástechnikai rendszerek számára (pdf) (nem elérhető hivatkozás) . Floridai nemzetközi egyetem. Letöltve: 2013. december 2. Az eredetiből archiválva : 2013. december 3.. (határozatlan)
- ↑ 6. Blokkréteg . Linux kernel 3.15 . kernelnewbies.org (2014. június 8.). Letöltve: 2014. június 15. Az eredetiből archiválva : 2018. június 11. (határozatlan)
Linkek