LinuxからLinuxへのファイル転送が予想よりも遅い速度で実行されている理由を突き止めようとしている間に、私はなじみのないものを見つけました。/dev/dm-0が私のボトルネックのようですが、それが何であるかわかりません。
私の移行先サーバーでは、iostatコマンドの一番下のデバイス/ dev/dm-0が100%使用されていると表示されます。このサーバーは、mdadm raid5セットに6つのディスクを持ち、その上でLVMが動作しています。基礎となる各ディスクは、使用率の50%前後にあります。転送は、このRAIDセットにある論理ボリュームへの書き込みです。
これは/ dev/dm-0とは何ですか?それが何であるかが分かったら、どうすればその速度を上げるか、あるいは少なくともなぜその速度なのかを理解できるでしょう。
これはカーネル内のデバイスマッパーの一部であり、LVMによって使用されます。その背後にあるものを確認するにはdmsetup ls
を使用してください。
それらは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/
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 /
Sudo lvdisplay
マウントされた仮想パーティションの「ボリュームグループ」へのマッピングを示しました。
Sudo pvs
と入力すると、ボリュームグループが、おなじみの/dev/sdaN
表記のように見える「物理ボリューム」へのマッピングを見ました。 (fdisk -l /dev/sda
でディスク全体を見ると、別のパーティションが表示されました)。
pvs
は、LVMボリュームグループを支える物理ボリュームを表示します。多数の物理デバイスを1つのボリュームグループにまとめることができます。その後、必要に応じてグループを論理ボリュームに再分割し、物理ディスクを1つのリソースとして扱い、必要に応じて切り分けてサイズ変更します。ボリュームグループの一部を論理ボリュームとしてスライスするたびに、dm-
デバイスとして表示されます。
私は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
あなたは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
ボトルネックを特定するために、 iostat を使用することもできます。次に例を示します。
iostat -x -d 1