web-dev-qa-db-ja.com

このdm-0デバイスとは何ですか?

LinuxからLinuxへのファイル転送が予想よりも遅い速度で実行されている理由を突き止めようとしている間に、私はなじみのないものを見つけました。/dev/dm-0が私のボトルネックのようですが、それが何であるかわかりません。

私の移行先サーバーでは、iostatコマンドの一番下のデバイス/ dev/dm-0が100%使用されていると表示されます。このサーバーは、mdadm raid5セットに6つのディスクを持ち、その上でLVMが動作しています。基礎となる各ディスクは、使用率の50%前後にあります。転送は、このRAIDセットにある論理ボリュームへの書き込みです。

これは/ dev/dm-0とは何ですか?それが何であるかが分かったら、どうすればその速度を上げるか、あるいは少なくともなぜその速度なのかを理解できるでしょう。

93
Jeff Shattock

これはカーネル内のデバイスマッパーの一部であり、LVMによって使用されます。その背後にあるものを確認するにはdmsetup lsを使用してください。

102

それらは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/

46
gulden PT

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

マウントされた仮想パーティションの「ボリュームグループ」へのマッピングを示しました。

Sudo pvsと入力すると、ボリュームグループが、おなじみの/dev/sdaN表記のように見える「物理ボリューム」へのマッピングを見ました。 (fdisk -l /dev/sdaでディスク全体を見ると、別のパーティションが表示されました)。

17
eel ghEEz

pvsは、LVMボリュームグループを支える物理ボリュームを表示します。多数の物理デバイスを1つのボリュームグループにまとめることができます。その後、必要に応じてグループを論理ボリュームに再分割し、物理ディスクを1つのリソースとして扱い、必要に応じて切り分けてサイズ変更します。ボリュームグループの一部を論理ボリュームとしてスライスするたびに、dm-デバイスとして表示されます。

11
Rob

私はPascalの投稿にコメントしたいと思いました、時々あなたは名前を見るために出力列を定義する必要があります。たとえば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 
7
Box293

あなたは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

ボトルネックを特定するために、 iostat を使用することもできます。次に例を示します。

iostat -x -d 1
1
Dennis Schulze