web-dev-qa-db-fra.com

Quel est ce périphérique dm-0?

Tout en essayant de comprendre pourquoi un transfert de fichiers Linux -> Linux fonctionne plus lentement que je ne le pense, il est tombé sur quelque chose que je ne connais pas bien./dev/dm-0 semble être mon goulot d'étranglement, mais je n'ai aucune idée de ce que c'est.

Sur mon serveur de destination, la commande iostat indique qu'un périphérique situé en bas,/dev/dm-0, est utilisé à 100%. Ce serveur a 6 disques dans un ensemble mdadm raid5, sur lequel LVM s'exécute. Chacun des disques sous-jacents est assis à environ 50% d’utilisation. Le transfert écrit sur un volume logique situé sur ce raidset.

Quelle est cette chose/dev/dm-0? Une fois que je sais ce que c'est, je peux peut-être trouver comment augmenter sa vitesse, ou du moins comprendre pourquoi c'est la vitesse qu'il est.

91
Jeff Shattock

Cela fait partie du mappeur de périphériques du noyau, utilisé par LVM. Utilisez dmsetup ls pour voir ce qu'il y a derrière.

100

Ce sont des "périphériques" logiques LVM

Vous pouvez les mapper en utilisant:

# 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

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

46
gulden PT

Comme d'habitude sous un système Linux, il devrait y avoir plusieurs façons d'obtenir le même résultat. Si vous avez reçu un utilisateur non root, je vous conseille d'utiliser la commande lsblk (par exemple, list block devices), qui générera une vue arborescente des dépendances de disques:

[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  /
30
Pascal
Sudo lvdisplay

a montré le mappage des partitions virtuelles montées sur des "groupes de volumes".

Lorsque j'ai tapé Sudo pvs, j'ai vu le mappage d'un groupe de volumes sur un "volume physique" ressemblant à une notation /dev/sdaN familière. (En regardant tout le disque avec fdisk -l /dev/sda, une autre partition a été affichée).

16
eel ghEEz

pvs affiche les volumes physiques sous-jacents au groupe de volumes LVM. Un certain nombre de périphériques physiques peuvent être regroupés dans un groupe de volumes. Le groupe est ensuite divisé à nouveau en volumes logiques, le cas échéant, en traitant les disques physiques comme une ressource unique à découper et à redimensionner à volonté. Chaque fois que vous divisez une partie du groupe de volumes en tant que volume logique, elle est présentée comme un périphérique dm-.

11
Rob

Je voulais commenter l'article de Pascal. Parfois, vous devez définir les colonnes de sortie pour voir le nom. Par exemple sur CentOS 6, il les affiche, mais pas CentOS 7. Utiliser --output résout ce problème.

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 
7
Box293

Vous pouvez utiliser 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
1
karthik

Vous pouvez également utiliser iostat afin d’identifier d’éventuels goulots d’étranglement, par exemple:

iostat -x -d 1
1
Dennis Schulze