私はCentOS 7.9.2009(3.10.0-1160.24.1.el7.x86_64)とCentOS Steam 8(4.18.0-301.1.el8.x86_64)に基本的に同じ構成を2つ持っています。処理しているようです。どちらもまったく同じハードウェアを使用します。
CentOS 8のI / Oパフォーマンスが大幅に遅くなり、オペレーティングシステム全体がハングします。実行中のプログラムは、約50ミリ秒ごとに約4kbをファイルに書き込み、数分ごとに新しいファイルを生成します。
そのパーティションはまったく同じです。
NAME FSTYPE LABEL
sda
|-sda1 linux_raid_member
| `-md0 ext4 /
|-sda2 linux_raid_member
| `-md2 swap [SWAP]
|-sda3 linux_raid_member
| `-md3 ext4 /home
`-sda4 linux_raid_member
`-md4 vfat /boot/efi
sdb
|-sdb1 linux_raid_member
| `-md0 ext4 /
|-sdb2 linux_raid_member
| `-md2 swap [SWAP]
|-sdb3 linux_raid_member
| `-md3 ext4 /home
`-sdb4 linux_raid_member
`-md4 vfat /boot/efi
md3 ext4パーティションはすべての書き込みが発生する場所なので、ジャーナリングは無効になっています(^ has_journal)。
どちらも mdadm バージョン 4.1 を使用してまったく同じように構成されます。
ARRAY /dev/md/0 metadata=1.2
ARRAY /dev/md/2 metadata=1.2
ARRAY /dev/md/3 metadata=1.2
ARRAY /dev/md/4 metadata=1.0
CentOS 7 I / O情報(良好/動作バージョン):
avg-cpu: %user %nice %system %iowait %steal %idle
1.42 0.00 1.73 0.79 0.00 96.06
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 6.57 1.09 6.77 20.33 861.35 181.20 76.93 0.15 5.57 1.80 6.83 1.85 5.03
sda 6.57 1.09 6.89 20.34 871.93 181.20 77.37 0.16 5.73 2.06 6.97 1.86 5.05
md2 0.00 0.00 0.00 0.00 0.00 0.00 36.87 1.94 0.00 0.00 0.00 9189344.91 100.00
md0 0.00 0.00 0.12 2.04 3.04 13.32 15.18 0.38 0.00 0.00 0.00 463.89 100.01
md3 0.00 0.00 0.34 17.24 43.12 165.73 23.76 0.30 0.00 0.00 0.00 56.91 100.02
md4 0.00 0.00 0.00 0.00 0.00 0.00 9.63 0.05 0.00 0.00 0.00 1271435.74 100.00
%iowaitは比較的低く、mdデバイスは100%util、sdXは低い%utilです(最後の列)。
CentOS Stream 8 I / O情報(最新バージョンごとにiostat
異なる列):
avg-cpu: %user %nice %system %iowait %steal %idle
4.15 0.00 5.17 8.72 0.00 81.96
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sdb 15.06 51.51 1394.12 266.33 6.74 5.28 30.91 9.29 13.90 8.96 0.67 92.57 5.17 5.65 37.59
sda 15.24 51.52 1407.22 266.33 6.76 5.26 30.73 9.26 13.96 9.11 0.68 92.35 5.17 5.68 37.90
scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.10 0.00 0.00 0.20 0.00 2.80 0.00
md2 0.00 0.05 0.01 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.13 4.00 0.00 0.00
md0 0.16 5.46 5.68 23.85 0.00 0.00 0.00 0.00 0.00 0.00 0.00 34.53 4.36 0.00 0.00
md3 0.21 47.99 16.97 239.23 0.00 0.00 0.00 0.00 0.00 0.00 0.00 80.54 4.98 0.00 0.00
md4 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.01 0.50 0.00 0.00
%iowaitは非常に高く、mdデバイスの%utilは0で、sdXの%utilはより高いです。
CentOS 7のパフォーマンスが実際に低下しているようですatop
。 MDデバイスが赤色に点滅します。
MDD | md0 | busy 101% | read 0 | | write 29 | KiB/r 0 | KiB/w 4 | MBr/s 0.0 | MBw/s 0.0 | | avq 317813.45 | avio 345 ms
MDD | md3 | busy 101% | read 0 | | write 518 | KiB/r 0 | KiB/w 7 | MBr/s 0.0 | MBw/s 0.4 | | avq 113304.48 | avio 19.3 ms
DSK | sdb | busy 11% | read 0 | | write 551 | KiB/r 0 | KiB/w 7 | MBr/s 0.0 | MBw/s 0.4 | | avq 4.02 | avio 2.05 ms |
DSK | sda | busy 11% | read 0 | | write 551 | KiB/r 0 | KiB/w 7 | MBr/s 0.0 | MBw/s 0.4 | | avq 4.35 | avio 1.94 ms |
CentOS 8 Streamではバッテリーが0%なので、MDデバイスが赤く点滅しません。
MDD | md0 | busy 0% | read 0 | write 58 | KiB/r 0 | KiB/w 4 | MBr/s 0.0 | MBw/s 0.0 | avq 0.00 | avio 0.0 ns |
MDD | md3 | busy 0% | read 0 | write 40 | KiB/r 0 | KiB/w 22 | MBr/s 0.0 | MBw/s 0.1 | avq 0.00 | avio 0.0 ns |
DSK | sdb | busy 7% | read 0 | write 93 | KiB/r 0 | KiB/w 12 | MBr/s 0.0 | MBw/s 0.1 | avq 1.30 | avio 6.97 ms |
DSK | sda | busy 6% | read 0 | write 93 | KiB/r 0 | KiB/w 12 | MBr/s 0.0 | MBw/s 0.1 | avq 1.30 | avio 6.58 ms |
NFS | rpc 4 | cread 0 | cwrit 0 | MBcr/s 0.0 | MBcw/s 0.0 | nettcp 4 | netudp 0 | badfmt 0 | badaut 0 | badcln 0 |
CentOS 8のatop
読み取りにはNFSラインもありますが、CentOS 7にはNFSラインはありません。どちらも同じクライアントハードウェア/システムがインストールされているNFSサーバーを実行しているため、これはどういうわけか影響を与えますか?クライアントは、/home/user
すべての書き込み操作が行われる md3 パーティションにインストールされます。
両方のシステムで同じプログラム(高速で小規模な書き込み)を実行すると、iotop
CentOS 7ではI / O使用量が5〜10%、CentOS 8システムでは30〜80%のI / O使用量が表示されます。 CentOS 8システムでも[nfsd]の一部のI / O使用量が表示されますが、非常に低い(<4%)。
私はCentOS 8システムが何らかの理由でmdXの代わりにsdXに書き込むことが原因であると確信していますが、MDデバイスのしくみを完全に誤解している可能性があります。