web-dev-qa-db-ja.com

LinuxソフトウェアRAID 5でmkfs操作に非常に時間がかかる

4 * 2 TBディスクで構成されるLinuxソフトウェアRAIDレベル5をセットアップしました。ディスクアレイは64kのストライプサイズで作成され、他の構成パラメーターはありません。最初の再構築後、私はファイルシステムを作成しようとしましたが、このステップには非常に長い時間がかかりました(約30分以上)。xfsとext3ファイルシステムを作成しようとしましたが、どちらも長い時間がかかりました。 :

  • iノードテーブルの書き込みは、1053(〜1秒)に達するまで高速で実行され、その後約50を書き込み、2秒待機してから、次の50が書き込まれます(コンソールの表示によると)。
  • control + Cで操作をキャンセルしようとすると、本当にキャンセルされる前に30分間ハングします

個々のディスクのパフォーマンスは非常に良好です。ディスクごとに個別にbonnie ++を実行し、約95/110MB /秒の書き込み/読み取り値を使用しています。すべてのドライブでbonnie ++を並行して実行した場合でも、値は約10 MBしか減少しません。そのため、ハードウェア/ I/Oのスケジューリングは一般的に問題の原因として除外しています。

Stripe_cache_sizeとreadahead sizeのさまざまな構成パラメーターを試してみましたが、成功しませんでしたが、ファイルシステムの作成操作に関係があるとは思いません。

サーバーの詳細:

  • Linuxサーバー2.6.35-27-generic#48-Ubuntu SMP x86_64 GNU/Linux
  • mdadm-v2.6.7.1

これをさらにデバッグする方法について誰かが提案をしていますか?

8
Elmar Weber

私は、それがストライプアライメントに関連している可能性があることに同意します。私の経験から、3 * 2TB RAID-0でアラインされていないXFSを作成するには、最大5分かかりますが、ストライプサイズにアラインされている場合、最大で10-15秒です。 XFSを256KBのストライプサイズに揃えるためのコマンドを次に示します。

mkfs.xfs -l internal,lazy-count=1,sunit=512 -d agsize=64g,sunit=512,swidth=1536 -b size=4096 /dev/vg10/lv00

ちなみに、私の場合のストライプ幅は3ユニットです。これは、4つのドライブを使用する場合と同じですが、raid-5です。

明らかに、これはFS=パフォーマンスも向上させるので、より適切に調整しておく必要があります。

3
dtoubelis

典型的なRAID5の小さな書き込みの問題が発生していると思います。ストライプサイズ以下の書き込みの場合、データとパリティの両方に対して読み取り-変更-書き込みを行う必要があります。書き込みがストライプと同じサイズの場合、値が何であるかを認識しており、パリティを再計算する必要がないため、パリティを単純に上書きできます。

6
malcolmpdx

ファイルシステムの作成時にストライドとストライプ幅を指定すると、mkfsとそれに続くファイルシステムのパフォーマンスが向上する可能性があります。デフォルトの4kブロックを使用している場合、ストライドは16(64kのRAIDストライプを4kのファイルシステムブロックで割った値)で、ストライプ幅は48(16のファイルシステムストライドにアレイ内の3つのデータディスクを掛けたもの)です。

mkfs.ext3 -E stride=16 stripe-width=48 /dev/your_raid_device
3
sciurus