2010-04-16 01:18:09 +0000 2010-04-16 01:18:09 +0000
102
102

O que é este dispositivo dm-0?

Enquanto andava por aí a tentar perceber porque é que uma transferência de ficheiros Linux -> está a correr mais lentamente do que eu penso que deveria, deparei-me com algo com que não estou familiarizado. O /dev/dm-0 parece ser o meu engarrafamento, mas não faço ideia do que é.

No meu servidor de destino, o comando iostat mostra um dispositivo no fundo, /dev/dm-0, como sendo 100% utilizado. Este servidor tem 6 discos num conjunto mdadm raid5, com o LVM a correr em cima dele. Cada um dos discos subjacentes é utilizado a cerca de 50%. A transferência é escrita para um volume lógico localizado neste raidet.

O que é isto /dev/dm-0? Quando eu souber o que é, talvez consiga descobrir como aumentar a sua velocidade, ou pelo menos compreender porquê a velocidade que é.

Respostas (8)

109
109
109
2010-04-16 01:22:40 +0000

Faz parte do mapeador de dispositivos no núcleo, utilizado pela LVM. Use o dmsetup ls para ver o que está por trás dele.

47
47
47
2011-02-11 20:05:08 +0000

Estes são “dispositivos” lógicos LVM

. Pode mapeá-los 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

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

32
32
32
2015-10-22 08:25:58 +0000

Como é habitual num sistema Linux, deve haver muitas formas de obter o mesmo resultado. Se lhe foi dado um utilizador não root, aconselho-o a usar o comando lsblk (por exemplo, listar dispositivos de bloqueio) que irá construir uma vista em árvore das dependências dos 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
17
17
2013-05-10 17:07:38 +0000
sudo lvdisplay

mostraram o mapeamento de partições virtuais montadas para “grupos de volume”.

Quando eu digitei sudo pvs vi o mapeamento de um grupo de volume para um “volume físico” que parecia uma notação familiar /dev/sdaN. (O meu olhar para o disco inteiro com fdisk -l /dev/sda mostrou outra partição).

11
11
11
2013-09-30 10:09:02 +0000

pvs apresenta os volumes físicos que sustentam o grupo de volume LVM. Vários dispositivos físicos podem ser agrupados a partir de um grupo de volume. O grupo é então re-dividido em volumes lógicos conforme necessário, tratando os discos físicos como um único recurso a ser cortado e redimensionado à vontade. Cada vez que se corta uma parte do grupo de volumes como um volume lógico, este é apresentado como um dispositivo dm-.

9
9
9
2017-11-27 03:46:14 +0000

Queria comentar o post de Pascal, por vezes é preciso definir as colunas de saída para ver o nome. Por exemplo, no CentOS 6 mostra-as, mas no CentOS 7 não. Usando –output resolve isto.

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
1
1
2016-10-13 17:15:09 +0000

Pode também utilizar iostat para identificar eventuais estrangulamentos, por exemplo:

iostat -x -d 1
1
1
1
2015-04-05 08:03:11 +0000

Pode utilizar 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