Mapovač zařízení - Device mapper

The mapovač zařízení je rámec poskytuje Linuxové jádro pro fyzické mapování blokovat zařízení na vyšší úroveň virtuální bloková zařízení. Tvoří základ správce logických svazků (LVM), software RAIDy a dm-krypta šifrování disku a nabízí další funkce, jako je systém souborů snímky.[1]

Mapovač zařízení funguje tak, že předává data z virtuálního blokového zařízení, které poskytuje samotný mapovač zařízení, do jiného blokového zařízení. Data lze také upravit při přechodu, který se provádí například v případě poskytnutí mapovače zařízení šifrování disku nebo simulace nespolehlivého chování hardwaru.

Tento článek se zaměřuje na implementaci mapovače zařízení v linuxovém jádře, ale funkce mapovače zařízení je k dispozici také v obou NetBSD a DragonFly BSD.[2][3]

Používání

Aplikace (jako LVM2 a Enterprise Volume Management System (EVMS)), které potřebují k vytvoření nových mapovaných zařízení, komunikují s mapovačem zařízení prostřednictvím libdevmapper.so sdílená knihovna, což zase vydává ioctls do / dev / mapovač / ovládání uzel zařízení.[4] Konfiguraci mapovače zařízení lze také zkoumat a konfigurovat interaktivně‍ —nebo z shell skripty ‍ — usingpomocí dmsetup (8) nástroj.[5][6]

Obě tyto dvě komponenty uživatelského prostoru mají svůj zdrojový kód udržovaný vedle zdroje LVM2.[7]

Funkce

Poloha cílů mapovače zařízení v různých vrstvách souboru Linuxové jádro zásobník.[8]

Mezi funkce poskytované mapovačem zařízení patří lineární, pruhované a chybové mapování, stejně jako krypta a multipath cíle. Například dva disky mohou být zřetězeny do jednoho logického svazku s párem lineární mapování, jedno pro každý disk. Jako další příklad krypta target zašifruje data procházející zadaným zařízením pomocí linuxového jádra Krypto API.[1]

K dispozici jsou následující cíle mapování:[1][5]

  • mezipaměti - umožňuje vytvoření hybridní svazky, používáním disky SSD (SSD) jako mezipaměti pro pevné disky (Pevné disky)
  • klon - povolí použití před dokončením přenosu.
  • krypta - poskytuje šifrování dat pomocí linuxového jádra Krypto API
  • zpoždění - zpoždění čtení a / nebo zápisu na různá zařízení (používá se k testování)
  • éra - chová se podobně jako lineární cíl, zatímco sleduje bloky, na které byly zapsány v uživatelem definované době[9]
  • chyba - simuluje I / O chyby pro všechny mapované bloky (používá se k testování)
  • vločka - simuluje periodické nespolehlivé chování (používá se k testování)
  • lineární - mapuje souvislý rozsah bloků na jiné blokové zařízení
  • zrcadlo - mapy a zrcadlově logické zařízení a současně poskytuje redundanci dat
  • vícecestný - podporuje mapování vícecestný zařízení prostřednictvím využití jejich skupin cest
  • nálet - nabízí rozhraní k linuxovému jádru softwarový RAID Řidič (md )
  • momentka a počátek snímku - používá se k vytváření snímků LVM, jako součást základního schématu kopírování-zápisu
  • pruhovaný - odstraní data napříč fyzickými zařízeními, přičemž parametry jsou počet pruhů a velikost pruhu pruhu
  • tenký - umožňuje vytváření zařízení větších než základní fyzické zařízení, fyzický prostor je přidělen pouze při zápisu
  • nula - ekvivalent / dev / nula, všechna čtení vracejí bloky nul a zápisy jsou zahozeny

Aplikace

Následující funkce a projekty jádra Linuxu jsou postaveny na mapovači zařízení:

  • kryptsetup - nástroj sloužící k pohodlnému nastavení šifrování disku na základě dm-crypt
  • dm-krypta /ŠTĚSTÍ - cíl mapování, který poskytuje šifrování svazku
  • dm-cache Mapování cíl, který umožňuje vytvoření hybridní svazky
  • dm-integrity - cíl mapování, který poskytuje integrita dat, buď pomocí kontrolního součtu nebo kryptografického ověření,[10][11] také se používá s LUKS[12]
  • dm-log-write - cíl mapování, který používá dvě zařízení, prochází prvním zařízením a zaznamenává operace zápisu, které se na něm provádějí na druhém zařízení[13]
  • dm-verity - ověří datové bloky obsažené v systému souborů proti seznamu kryptografických hodnot hash vyvinutých jako součást Chromium OS projekt[14]
  • dmraid (8) - poskytuje přístup k „falešný“ RAID konfigurace pomocí mapovače zařízení
  • DM Multipath - poskytuje I / O převzetí služeb při selhání a vyrovnávání zátěže blokových zařízení v linuxovém jádře
  • Přístavní dělník - používá mapovač zařízení k vytvoření úložiště typu copy-on-write pro softwarové kontejnery
  • DRBD (Distribuované replikované blokové zařízení)
  • EVMS (zastaralé)
  • kpartx (8) - utilita volaná z hotplugu při vytváření a mazání map zařízení
  • LVM2  – správce logických svazků pro linuxové jádro
  • Linuxová verze TrueCrypt
  • VDO - Virtual Data Optimizer

Reference

  1. ^ A b C „Správa správce logických svazků, dodatek A. Mapovač zařízení“. červená čepice. Citováno 2013-09-29.
  2. ^ "Manuální rozhraní jádra NetBSD: dm (4)". netbsd.gw.com. 2008-08-30. Citováno 2015-01-25.
  3. ^ „Ruční stránky DragonFly online: dm (4)“. dragonflybsd.org. 2010-07-28. Citováno 2014-06-06.
  4. ^ "libdevmapper.h". sourceware.org. Citováno 2013-09-29.
  5. ^ A b "dmsetup (8) - Linux page". man.cx. Citováno 2013-10-22.
  6. ^ "Správa správce logických svazků". Dodatek A.2. Příkaz dmsetup. červená čepice. Citováno 2013-09-29.
  7. ^ „Stránka zdroje mapovače zařízení“. sourceware.org. Citováno 2013-09-29.
  8. ^ Werner Fischer; Georg Schönberger (01.06.2015). "Linux Storage Stack Diagram". Thomas-Krenn.AG. Citováno 2015-06-08.
  9. ^ "6. Bloková vrstva". Linuxové jádro 3.15. kernelnewbies.org. 08.06.2014. Citováno 2014-06-15.
  10. ^ "integrita dm". kryptosetupový projekt. 2018-04-30. Citováno 2018-05-08.
  11. ^ "cíl integrity dm". kernel.org. 2017-05-13. Citováno 2018-05-08.
  12. ^ "cryptsetup - správa obyčejných dm-crypt a LUKS šifrovaných svazků". 2018-01-01. Citováno 2018-05-08.
  13. ^ „Dokumentace k jádru Linuxu: Dokumentace / mapovač zařízení / log-píše.txt“. kernel.org. 2015-05-29. Citováno 2015-10-13.
  14. ^ Jonathan Corbet (19. 9. 2011). "dm-pravdivost". LWN.net. Citováno 2015-10-13.

externí odkazy