RAID-6を使用してLinuxシステムをセットアップしました。シーケンシャル書き込みI/Oのパフォーマンスは、再起動後、最初は約600 MiB/sですが、システムをしばらく使用すると、0.5 MiB/s〜2 MiB/sに低下します。 sysbench
を使用してI/Oパフォーマンスのベンチマークを行っています。
カーネルバージョン4.19.72でGentooLinuxを実行しています。 RAIDコントローラーはBroadcom/LSI MegaRAID Tri-Mode SAS3508で、megraraid_sas
ドライバーを使用します。 5台のSeagate ST600MM0069ドライブで構成されています。 perccli
によると、RAIDストリップサイズは256Kです。ドライブは、ext4
およびstride=64
オプションを使用してstripe_width=320
でフォーマットされます。ライトバックとキャッシュが有効になります。
これは新しいシステムです。以前の古いシステムでも同じ問題が発生しました。また、RAID-6で構成されていましたが、システムは実際には使用されていなかったため、問題は認識されませんでした。少し前に転用され、使用量が増えると問題が発生しました。
古いシステムは、Broadcom/LSI MegaRAID SAS 10786で構成されたRAIDコントローラーWestern Digital WD1002FAEX-00Z3Aドライブ。
更新
サーバーをRAID-5で再構成しました。また、stripe_width=320
が使用しているディスク数の値が正しくないことにも気づきました。これをstrip_width=384
に修正しました。問題はまだ残っています。 RAIDに固有のものではないようです。 RAID-5を実行している他の古いシステムがあり、問題がないため、RAID-6を疑った。
レガシーソフトウェアのため、システムを32ビットモードで実行しています。 Linuxは、サーバーがPAEを使用して持っているメモリの量を効率的に管理できないことが判明しました: flaterco.com/kb/PAE_slowdown.html 。
VMSPLIT_2G構成オプションを有効にし、mem = 0x4000Mカーネルブートパラメータ。