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.
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.
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/
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 /
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).
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-
.
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
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
Vous pouvez également utiliser iostat afin d’identifier d’éventuels goulots d’étranglement, par exemple:
iostat -x -d 1