Mapeador de dispositivos

El mapeador de dispositivos ( dm ) es un subsistema ( módulo ) del kernel de Linux que le permite crear dispositivos de bloques virtuales (VBU). Al acceder a dichos dispositivos, se realizan una serie de acciones, que generalmente incluyen leer/escribir datos de otros dispositivos de bloque (BU). El subsistema se utiliza para implementar el administrador de volumen lógico LVM , software RAID , sistema de cifrado de disco dm-crypt . Una de las capacidades del subsistema es la creación de instantáneas del sistema de archivos [1] .

Las capacidades de dm también son proporcionadas por el subsistema del núcleo DragonFly BSD [2] del mismo nombre . Esta página describe la implementación de dm para el kernel de Linux.

Descripción

Las aplicaciones (como lvm, EVMS , mdadm) que se ejecutan en el espacio del usuario interactúan con dm mediante el libdevmapper.so uso de . La biblioteca utiliza una llamada al sistema ioctl()para acceder al archivo del dispositivo /dev/mapper/control[3] . Al acceder a este dispositivo, el núcleo llama al subsistema dm. El subsistema dm opera en el espacio del núcleo, creando, modificando y eliminando dispositivos de bloques virtuales (VBU) según las solicitudes de la aplicación. La utilidad dmsetuple permite controlar dm manualmente desde la terminal o scripts de shell [4] [5] . La biblioteca libdevmapper.soy el equipo dmsetupson mantenidos por el proyecto LVM [6] .

Las aplicaciones cliente utilizan llamadas al sistema read()/ write()(a ​​través de bibliotecas o directamente) para leer/escribir datos de la VBU. Luego, el kernel llama al subsistema dm. El subsistema dm determina el tipo de humedal y selecciona las actuaciones adecuadas.

Tipos de dispositivos de bloques virtuales [1] [4] :

Aplicaciones

Las capacidades del mapeador de dispositivos se utilizan en los siguientes proyectos:

Notas

  1. 1 2 Administración de LVM . Apéndice A. Mapeador de dispositivos . sombrero rojo Fecha de acceso: 29 de septiembre de 2013. Archivado desde el original el 2 de octubre de 2013.
  2. dm(4) . Páginas del manual en línea de DragonFly . dragonflybsd.org (28 de julio de 2010). Fecha de acceso: 6 de junio de 2014. Archivado desde el original el 23 de abril de 2015.
  3. libdevmapper.h . sourceware.org. Recuperado: 29 de septiembre de 2013.  (enlace no disponible)
  4. 1 2 dmsetup(8) - Página del manual de Linux . hombre.cx Consultado el 22 de octubre de 2013. Archivado desde el original el 4 de marzo de 2016.
  5. Administración de LVM . Anexo A.2. Comando dmsetup . sombrero rojo Fecha de acceso: 29 de septiembre de 2013. Archivado desde el original el 2 de octubre de 2013.
  6. Página de recursos del mapeador de dispositivos . sourceware.org. Consultado el 29 de septiembre de 2013. Archivado desde el original el 7 de octubre de 2013.
  7. Petros Koutoupis. Técnicas avanzadas de almacenamiento en caché del disco duro . Revista Linux ( 25 de noviembre de 2013). Consultado el 2 de diciembre de 2013. Archivado desde el original el 2 de diciembre de 2013.
  8. dm-cache: almacenamiento en caché de nivel de bloque dinámico (enlace descendente) . universidad internacional de florida. Consultado el 24 de julio de 2014. Archivado desde el original el 18 de julio de 2014. 
  9. Dulcardo Arteaga; Douglas Otstott; Ming Zhao. Gestión dinámica de caché a nivel de bloque para sistemas de computación en la nube (pdf)  (enlace no disponible) . universidad internacional de florida. Consultado el 2 de diciembre de 2013. Archivado desde el original el 3 de diciembre de 2013.
  10. 6. Capa de bloque . Núcleo de Linux 3.15 . kernelnewbies.org (8 de junio de 2014). Consultado el 15 de junio de 2014. Archivado desde el original el 11 de junio de 2018.

Enlaces