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

Qu'est-ce que ce dispositif dm-0 ?

En cherchant à comprendre pourquoi un transfert de fichiers sous Linux -> Linux fonctionne plus lentement que je ne le pense, je suis tombé sur quelque chose qui ne m'est pas familier. /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 montre un périphérique en bas, /dev/dm-0, comme étant utilisé à 100%. Ce serveur a 6 disques dans un ensemble mdadm raid5, avec LVM fonctionnant sur le dessus. Chacun des disques sous-jacents est utilisé à environ 50%. Le transfert s'effectue en écriture sur un volume logique situé sur ce raidset.

Qu'est-ce que c'est que cette chose /dev/dm-0 ? Une fois que je saurai ce que c'est, je pourrai peut-être trouver comment augmenter sa vitesse, ou au moins comprendre pourquoi c'est la vitesse qu'il a.

Réponses (8)

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

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

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

Ce sont des “dispositifs” logiques LVM

Vous pouvez les cartographier 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/

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

Comme d'habitude sous un système Linux, il devrait y avoir plusieurs façons d'obtenir le même résultat. Si l'on vous a donné un utilisateur non root, je vous conseille d'utiliser la commande lsblk (par exemple, list block devices) qui construira une arborescence des dépendances des 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 /
17
17
17
2013-05-10 17:07:38 +0000

Quand j'ai tapé sudo lvdisplay

, j'ai vu le mappage d'un groupe de volumes vers un “volume physique” qui ressemblait à une notation familière de sudo pvs. (En regardant l'ensemble du disque avec /dev/sdaN, j'ai vu une autre partition).

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

pvs affiche les volumes physiques qui sous-tendent le groupe de volumes LVM. Un certain nombre de dispositifs physiques peuvent être regroupés dans un groupe de volumes. Le groupe est ensuite redivisé en volumes logiques selon les besoins en traitant les disques physiques comme une seule ressource à découper et à redimensionner à volonté. Chaque fois que vous découpez une partie du groupe de volumes en tant que volume logique, elle est présentée comme un périphérique dm-

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

Je voulais commenter le post de Pascal, parfois il faut définir les colonnes de sortie pour voir le nom. Par exemple, sur CentOS 6, il les affiche, mais pas sur CentOS 7. L'utilisation de –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
1
1
1
2016-10-13 17:15:09 +0000

Vous pouvez également utiliser iostat pour identifier les éventuels goulets d'étranglement, par exemple :

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

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