web-dev-qa-db-ja.com

NVMeディスクは80%のio使用率を示し、パーティションは0%のio使用率を示します

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アラートのトリガーを監視することを除いて、すべて正常に機能しているようです。

2
michal kralik

%utilおよびiostatのひどいsvctm出力のソースは、kernel-3.10.0-1036.el7またはRHEL/CentOSリリース7.7で解決されるカーネルバグに関連しているようです。 。スケジューラがnoneに設定されているデバイスが影響を受けます。これは、NVMEドライブのデフォルトです。

参考までに、バグを説明する Redhatソリューション (ログインが必要)があります。
CentOSバグレポート 誰かが、この問題は上記のカーネル/リリースバージョンで解決されると書いています。

新しいカーネルが利用可能になるまで、スケジューラーを変更すると問題が解決するはずです。実際のパフォーマンスではなくメトリックにのみ影響するように見えるため、別の可能性は、新しいカーネルまでメトリックを無視することです。
NVMEドライブがないため、これを確認できません。おそらく@michalkralikがこれを確認できます。

3
Thomas

個々の論理パーティションに向けられたIOは、Linuxカーネルによって再マップされ、実際にIOを実行する物理デバイスに下線が引かれます。

0
John Doe