88

Разглядывая попытки выяснить, почему передача файлов Linux -> Linux работает медленнее, чем я думаю, я наткнулся на то, с чем я не знаком. /dev /dm-0 кажется моим узким местом, но я понятия не имею, что это такое.

На моем сервере назначения команда iostat показывает устройство в нижней части, /dev /dm-0, как используемое на 100%. Этот сервер имеет 6 дисков в наборе mdadm raid5, поверх которого работает LVM. Каждый из нижележащих дисков занимает около 50%. Передача записывается в логический том, расположенный на этом рейдсете.

Что это за вещь /dev /dm-0? Как только я узнаю, что это такое, может быть, я найду, как увеличить его скорость, или, по крайней мере, пойму, почему это скорость.

8 ответов8

98

Это часть устройства отображения в ядре, используемого LVM. Используйте dmsetup ls чтобы увидеть, что за этим стоит.

44

Это логические "устройства" LVM

Вы можете сопоставить их, используя:

# 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

источник: http://www.linuxquestions.org/questions/linux-newbie-8/dm0-in-iostat-652771/

29

Как обычно в системе Linux, должно быть много способов получить тот же результат. Если вы получили пользователя без полномочий root, я советую вам использовать команду lsblk (например, список блочных устройств), которая построит древовидную структуру зависимостей дисков:

[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  /
16
sudo lvdisplay

показал отображение подключенных виртуальных разделов на "группы томов".

Когда я набрал sudo pvs я увидел отображение группы томов на "физический том", который выглядел как знакомая нотация /dev/sdaN . (Мой просмотр всего диска с помощью fdisk -l /dev/sda показал другой раздел).

11

pvs отображает физические тома, которые лежат в основе группы томов LVM. Несколько физических устройств могут быть сгруппированы в одну группу томов. Затем группа разделяется на логические тома по мере необходимости, рассматривая физические диски как единый ресурс, который нужно разделить и изменить по своему усмотрению. Каждый раз, когда вы выделяете часть группы томов как логический том, она представляется как dm- устройство

7

Я хотел прокомментировать пост Паскаля, иногда вам нужно определить выходные столбцы, чтобы увидеть имя. Например, в CentOS 6 он отображает их, а CentOS 7 - нет. Использование --output решает эту проблему.

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

Вы можете использовать сар

дф-ч

# 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

сар-бдп 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

Вы также можете использовать iostat для выявления возможных узких мест, например:

iostat -x -d 1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .