Что это за устройство dm-0?

98

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

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

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

Джефф Шатток
источник
1
Оказывается, что устройство dm-0 не вызывало медлительность, я неправильно выстроил разделы. На 4k секторном диске вам необходимо вручную выровнять разделы при их создании. Тупой, но легко исправить.
Джефф Шатток

Ответы:

107

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

Игнасио Васкес-Абрамс
источник
39
Более конкретноsudo dmsetup info /dev/dm-0
Тгарольд
dmsetup lsне возвращает никакой полезной информации о том, что dm-0находится, или где это может быть найдено.
каратэдог
47

Это логические «устройства» 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/

Гульден П.Т.
источник
31

Как обычно в системе 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  /
паскаль
источник
17
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 
Box293
источник
1
офигенно, гораздо проще точно определить KNAME на конкретных устройствах, спасибо
Александр
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
Деннис Шульце
источник