CentOS 7およびCentOS Stream 8のさまざまなmdadm RAID 1の動作とパフォーマンス

CentOS 7およびCentOS Stream 8のさまざまなmdadm RAID 1の動作とパフォーマンス

私は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 パーティションにインストールされます。

両方のシステムで同じプログラム(高速で小規模な書き込み)を実行すると、iotopCentOS 7ではI / O使用量が5〜10%、CentOS 8システムでは30〜80%のI / O使用量が表示されます。 CentOS 8システムでも[nfsd]の一部のI / O使用量が表示されますが、非常に低い(<4%)。

私はCentOS 8システムが何らかの理由でmdXの代わりにsdXに書き込むことが原因であると確信していますが、MDデバイスのしくみを完全に誤解している可能性があります。

関連情報