Device Mapper

Device Mapper

Der Device Mapper ist ein Teil des Linux-Kernels (seit 2.6). Er erlaubt die Erzeugung virtueller blockorientierter Geräte, indem er deren Adressbereich auf andere blockorientierte Geräte oder spezielle Funktionen abbildet. Der Device-mapper wird vor allem für den Logical Volume Manager (LVM) und Geräteverschlüsselung genutzt. Der Unterschied zwischen dem Device-mapper und LVM ist, dass die von LVM normalerweise erzeugten Geräte echte Hardware bzw. Bereiche davon sind. Der Device-mapper stellt einige Funktionen zur Verfügung, die LVM benötigt (und die in früheren Linux-Versionen integraler Bestandteil von LVM waren): Snapshots (inklusive Zurückschreiben der Änderungen ins Ursprungsgerät) sowie die RAID-Funktionen Striping (Level 0) und Mirroring (Level 1). Dank der Herauslösung aus LVM können diese Funktionen nun auch mit anderen blockorientierten Geräten (z.B. Festplatten(partitionen) und loop devices) genutzt werden. Device-mapper-Geräte können im laufenden Betrieb (beschreibbar eingehängtes Dateisystem) blockiert und umkonfiguriert werden.

Inhaltsverzeichnis

Aufbau von Device-mapper-Geräten

Geräte werden mit Hilfe des Device-mappers erzeugt, indem man dem Konsolenprogramm dmsetup neben dem Namen des Geräts folgende Daten übergibt:

  1. Startsektor
  2. Anzahl aufeinanderfolgender Sektoren mit demselben Ziel
  3. Zieltyp (target)
  4. zielspezifische Argumente

Die Definition eines Geräts kann aus einem einzelnen oder mehreren solchen Blöcken bestehen. So kann man mit der folgenden Konfiguration zwei Festplatten (je 100 GiB) zu einem einzigen logischen Laufwerk verbinden:

0 209715200 linear /dev/sdb 0
209715200 209715200 linear /dev/sdc 0

Die vom Device-mapper erzeugten Geräte erscheinen unter /dev/mapper/ mit dem dmsetup übergebenen Namen und unter /sys/block/ mit den Kernelnamen (dm-0, dm-1, ...).

Zusammenhang von Device-mapper und LVM

LVM teilt dem Device-mapper mit, welche Blöcke auf einem Gerät in welcher Reihenfolge zu einem logischen Laufwerk gehören. Nach dem Anlegen des Geräts ist nicht mehr erkennbar, dass es sich um ein LVM-Gerät handelt; man könnte diese Zuweisung auch selber vornehmen. Zwei nacheinander per LVM erzeugte Laufwerke stellen sich im Device-mapper beispielsweise so dar:

  1. 0 25165824 linear 8:8 384
  2. 0 204800 linear 8:8 29360512

8:8 sind major und minor number für /dev/sda8, die zweite Zahl gibt die Größe an, die letzte den Offset zum Startsektor der Partition (nicht 0 wegen der LVM-Metadaten).

Aufbau von Snapshots

Snapshots werden meist per LVM erzeugt. Die LVM-Programme zeigen dann nur zwei Objekte an: das Ursprungslaufwerk und das Snapshotlaufwerk. Außerdem besteht derzeit die Restriktion, dass LVM nur Snapshotlaufwerke in derselben volume group wie das Ursprungslaufwerk anlegen kann. Dies ist eine Beschränkung des Verwaltungsprogramms (lvcreate), keine des Device-mappers. Aus dessen Sicht existieren nicht zwei, sondern vier Geräte (LV test, VG vg0, Snapshot-LV test-snap):

  1. vg0-test
  2. vg0-test-real
  3. vg0-test--snap
  4. vg0-test--snap-cow

Das ursprüngliche Gerät vg0-test wird vom Zieltyp linear umgeschrieben auf snapshot-origin, vg0-test-real hat die ursprüngliche Definition von vg0-test, unter vg0-test--snap wird die Snapshotsicht auf das Ursprungslaufwerk verfügbar gemacht, und vg0-test--snap-cow ist das Gerät, in dem per Copy-On-Write die nach Erzeugung des Snapshots am Ursprungsgerät vorgenommenen Änderungen protokolliert werden. Dies sind Snapshots auf Geräte-, nicht auf Dateisystemebene. Werden weitere Snapshots erzeugt, wird aus LVM-Sicht jeweils ein zusätzliches Laufwerk erzeugt, aus Device-Mapper-Sicht jeweils zwei (Snapshot und COW).

Weblinks

Einzelnachweise

  1. man page für dmsetup

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Device mapper — In the Linux kernel, the device mapper serves as a generic framework to map one block device onto another. It forms the foundation of LVM2 and EVMS, software RAIDs, dm crypt disk encryption, and offers additional features such as file system… …   Wikipedia

  • Mapper — has several meanings: Device mapper, handler for Linux. Level designer, a person who designs levels for video games. MAPPER, a Fourth generation programming language originally sold by Sperry Corporation (now Unisys). Memory Management Controller …   Wikipedia

  • Dm-crypt — Saltar a navegación, búsqueda Dm crypt es un device mapper[1] tal que provee cifrado transparente de dispositivos de bloque utilizando la nueva cryptoapi de Linux 2.6. Las escrituras a este dispositivo serán cifradas y las lecturas descifradas.… …   Wikipedia Español

  • dm-crypt — is a transparent disk encryption subsystem in Linux kernel versions 2.6 and later and in DragonFly BSD. It is part of the device mapper infrastructure, and uses cryptographic routines from the kernel s Crypto API. Unlike its predecessor… …   Wikipedia

  • Flashcache — flashcache  модуль для ядра Linux, работающий в стеке Device Mapper, и позволяющий использовать одни блочные устройства для кеширования доступа к другим блочным устройствам. Разработан Facebook и опубликован на условиях лицензии GPL.… …   Википедия

  • Dm-crypt — is a transparent disk encryption subsystem in Linux kernel versions 2.6 and later. It is part of the device mapper infrastructure, and uses cryptographic routines from the kernel s Crypto API. Unlike its predecessor cryptoloop, dm crypt was… …   Wikipedia

  • mdadm — Original author(s) Neil Brown Developer(s) Neil Brown Initial release 2001 Stable release 3.2.1[1] / April 28 …   Wikipedia

  • dm-crypt — est un sous système transparent de chiffrement de disques dans le noyau Linux versions 2.6 et supérieur. Il est une partie de l infrastructure device mapper, et utilise des routines de chiffrement issues des API Crypto du noyau. Contrairement à… …   Wikipédia en Français

  • Logical Volume Manager (Linux) — LVM is a logical volume manager for the Linux kernel: it manages disk drives and similar mass storage devices, in particular large ones. The term volume refers to a disk drive or part thereof. It was originally written in 1998 by Heinz… …   Wikipedia

  • Ext3 — infobox filesystem name = ext3 full name = Third extended file system developer = Stephen Tweedie introduction os = Linux 2.4.15 introduction date = November 2001 partition id = 0x83 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 (GPT) directory… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”