CentOS 7サーバー(カーネル3.10.0-957.12.1.el7.x86_64
)次の設定の2つのNVMeディスク:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 477G 0 disk
├─nvme0n1p1 259:2 0 511M 0 part /boot/efi
├─nvme0n1p2 259:4 0 19.5G 0 part
│ └─md2 9:2 0 19.5G 0 raid1 /
├─nvme0n1p3 259:7 0 511M 0 part [SWAP]
└─nvme0n1p4 259:9 0 456.4G 0 part
└─data-data 253:0 0 912.8G 0 lvm /data
nvme1n1 259:1 0 477G 0 disk
├─nvme1n1p1 259:3 0 511M 0 part
├─nvme1n1p2 259:5 0 19.5G 0 part
│ └─md2 9:2 0 19.5G 0 raid1 /
├─nvme1n1p3 259:6 0 511M 0 part [SWAP]
└─nvme1n1p4 259:8 0 456.4G 0 part
└─data-data 253:0 0 912.8G 0 lvm /data
私たちの監視とiostat
は継続的にnvme0n1
およびnvme1n1
80%以上のio使用率で、個々のパーティションのio使用率は0%であり、完全に使用可能です(250k iops、1GBの読み取り/書き込み/秒)。
avg-cpu: %user %Nice %system %iowait %steal %idle
7.14 0.00 3.51 0.00 0.00 89.36
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
nvme1n1 0.00 0.00 0.00 50.50 0.00 222.00 8.79 0.73 0.02 0.00 0.02 14.48 73.10
nvme1n1p1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
nvme1n1p2 0.00 0.00 0.00 49.50 0.00 218.00 8.81 0.00 0.02 0.00 0.02 0.01 0.05
nvme1n1p3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
nvme1n1p4 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00
nvme0n1 0.00 0.00 0.00 49.50 0.00 218.00 8.81 0.73 0.02 0.00 0.02 14.77 73.10
nvme0n1p1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
nvme0n1p2 0.00 0.00 0.00 49.50 0.00 218.00 8.81 0.00 0.02 0.00 0.02 0.01 0.05
nvme0n1p3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
nvme0n1p4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md2 0.00 0.00 0.00 48.50 0.00 214.00 8.82 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00
そのような行動の根本的な原因となる可能性のあるアイデアはありますか?
高ioアラートのトリガーを監視することを除いて、すべて正常に機能しているようです。
%util
およびiostat
のひどいsvctm
出力のソースは、kernel-3.10.0-1036.el7
またはRHEL/CentOSリリース7.7で解決されるカーネルバグに関連しているようです。 。スケジューラがnone
に設定されているデバイスが影響を受けます。これは、NVMEドライブのデフォルトです。
参考までに、バグを説明する Redhatソリューション (ログインが必要)があります。
CentOSバグレポート 誰かが、この問題は上記のカーネル/リリースバージョンで解決されると書いています。
新しいカーネルが利用可能になるまで、スケジューラーを変更すると問題が解決するはずです。実際のパフォーマンスではなくメトリックにのみ影響するように見えるため、別の可能性は、新しいカーネルまでメトリックを無視することです。
NVMEドライブがないため、これを確認できません。おそらく@michalkralikがこれを確認できます。
個々の論理パーティションに向けられたIOは、Linuxカーネルによって再マップされ、実際にIOを実行する物理デバイスに下線が引かれます。