¿Qué es este dispositivo dm-0?


98

Mientras intentaba averiguar por qué una transferencia de archivos Linux -> Linux se ejecuta más lentamente de lo que creo que debería, me topé con algo con lo que no estoy familiarizado. / dev / dm-0 parece ser mi cuello de botella, pero no tengo idea de qué es.

En mi servidor de destino, el comando iostat muestra un dispositivo en la parte inferior, / dev / dm-0, como 100% utilizado. Este servidor tiene 6 discos en un conjunto mdadm raid5, con LVM ejecutándose encima. Cada uno de los discos subyacentes tiene una utilidad del 50%. La transferencia está escribiendo en un volumen lógico ubicado en este conjunto de incursiones.

¿Qué es esto / dev / dm-0? Una vez que sé lo que es, tal vez pueda encontrar cómo aumentar su velocidad, o al menos entender por qué es la velocidad que es.


1
Resulta que el dispositivo dm-0 no estaba causando la lentitud, tenía las particiones alineadas incorrectamente. En una unidad de sector 4k, debe alinear manualmente las particiones cuando las crea. Tonto, pero fácil de arreglar.
Jeff Shattock

Respuestas:


107

Es parte del mapeador de dispositivos en el núcleo, utilizado por LVM. Use dmsetup lspara ver lo que hay detrás.


39
Más específicamentesudo dmsetup info /dev/dm-0
tgharold

dmsetup lsno devuelve ninguna información útil sobre qué dm-0es o dónde se puede encontrar.
karatedog

47

Esos son "dispositivos" lógicos LVM

Puedes mapearlos usando:

# sudo lvdisplay|awk  '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'
dm-0 /dev/SysVolGroup/LogVolRoot
dm-1 /dev/SysVolGroup/xen
dm-2 /dev/SysVolGroup/db1-2
dm-3 /dev/SysVolGroup/db1-2swap
dm-4 /dev/SysVolGroup/python1
dm-5 /dev/SysVolGroup/python1swap
dm-6 /dev/SysVolGroup/db1-2snap

fuente: http://www.linuxquestions.org/questions/linux-newbie-8/dm0-in-iostat-652771/


31

Como es habitual en un sistema Linux, debería haber muchas formas de obtener el mismo resultado. Si se le ha dado un usuario no root, le aconsejo que use el lsblkcomando (por ejemplo, dispositivos de bloqueo de lista) que creará una vista de árbol de dependencias de discos:

[oracle@abcdlinux ~]$ lsblk
NAME                               MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                                  8:0    0  300G  0 disk
└─RATGORA1DSY_PJSTORE_1 (dm-4)     253:4    0  300G  0 mpath
  └─RATGORA1DSY_PJSTORE_1p1 (dm-5) 253:5    0  300G  0 part  /oradata
sdb                                  8:16   0  100G  0 disk
└─Boot-RATGORA1DSY (dm-0)          253:0    0  100G  0 mpath
  ├─Boot-RATGORA1DSYp1 (dm-1)      253:1    0  100M  0 part  /boot
  ├─Boot-RATGORA1DSYp2 (dm-2)      253:2    0   16G  0 part  [SWAP]
  └─Boot-RATGORA1DSYp3 (dm-3)      253:3    0 83.9G  0 part  /
sdc                                  8:32   0  300G  0 disk
└─RATGORA1DSY_PJSTORE_1 (dm-4)     253:4    0  300G  0 mpath
  └─RATGORA1DSY_PJSTORE_1p1 (dm-5) 253:5    0  300G  0 part  /oradata
sdd                                  8:48   0  100G  0 disk
└─Boot-RATGORA1DSY (dm-0)          253:0    0  100G  0 mpath
  ├─Boot-RATGORA1DSYp1 (dm-1)      253:1    0  100M  0 part  /boot
  ├─Boot-RATGORA1DSYp2 (dm-2)      253:2    0   16G  0 part  [SWAP]
  └─Boot-RATGORA1DSYp3 (dm-3)      253:3    0 83.9G  0 part  /

17
sudo lvdisplay

mostró la asignación de particiones virtuales montadas a "grupos de volúmenes".

Cuando escribí sudo pvs, vi la asignación de un grupo de volúmenes a un "volumen físico" que parecía una /dev/sdaNnotación familiar . (Mi mirada a todo el disco fdisk -l /dev/sdamostró otra partición).


11

pvsmuestra los volúmenes físicos que sustentan el grupo de volúmenes LVM. Se pueden agrupar varios dispositivos físicos de un grupo de volúmenes. Luego, el grupo se vuelve a dividir en volúmenes lógicos según sea necesario, tratando los discos físicos como un único recurso para ser cortado y redimensionado a voluntad. Cada vez que divide parte del grupo de volúmenes como un volumen lógico, se presenta como un dm-dispositivo


7

Quería comentar la publicación de Pascal, a veces necesitas definir las columnas de salida para ver el nombre. Por ejemplo, en CentOS 6 los muestra, pero CentOS 7 no. El uso de --output resuelve esto.

lsblk --output NAME,KNAME,TYPE,SIZE,MOUNTPOINT

NAME            KNAME TYPE  SIZE MOUNTPOINT
sda             sda   disk   16G 
├─sda1          sda1  part  500M /boot
└─sda2          sda2  part 15.5G 
  ├─centos-root dm-0  lvm  13.9G /
  └─centos-swap dm-1  lvm   1.6G [SWAP]
sr0             sr0   rom  1024M 

1
impresionante, mucho más fácil de identificar KNAME en dispositivos exactos, gracias
Alexander

1

Puedes usar sar

df -h

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-rootvol
                   24G  4.1G   18G  19% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/mapper/VolGroup01-appvol
                   39G  411M   37G   2% /app
/dev/sda1             194M   93M   92M  51% /boot
/dev/mapper/VolGroup01-logvol
                   61G   18G   41G  30% /log
/dev/mapper/VolGroup00-tmpvol
                  2.0G  379M  1.5G  21% /tmp
/dev/mapper/VolGroup00-varvol
                   20G  2.1G   17G  12% /var

sar -bdp 1

01:00:20 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz         await     svctm     %util
01:00:21 AM       sda      0.00      0.00      0.00      0.00      0.00              0.00      0.00      0.00
01:00:21 AM VolGroup00-swapvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup00-rootvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup01-appvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup01-logvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup00-varvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup00-tmpvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.