web-dev-qa-db-ja.com

RAID5は成長後にスピンダウンしません(ext4lazyinit)

mdadmを使用して組み立てられた3x5TBディスクで構成されるRAID5アレイがありました。その上に、LUKS/dmcrypt暗号化レイヤーを作成し、暗号化されたデバイスをext4でフォーマットしました。非アクティブの場合にディスクをスピンダウンさせたい。

すべてが数か月間正常に機能し、1分間操作がないとディスクがスピンダウンしていました。ここで、同じ種類の4番目の5TBディスクをSudo mdadm --add /dev/md0 /dev/sdb1でアレイに追加し、次にアレイをそのディスク(mdadm --grow /dev/md0 --raid-devices=4)に拡張し、最後にSudo fsck -f /dev/mapper/raid5でファイルシステムを拡張しました。 Sudo resize2fs /dev/mapper/raid5

エラーは発生せず、アレイは5TB大きくなりました。しかし、ディスクはもうスピンダウンしていません。マシンは24時間年中無休で稼働し、ディスクを使用していませんが、数日待っても、ディスクは常に稼働しています。

iotopは、ext4lazyinitが頻繁に発生することを示しています。これは、数秒ごとに1秒未満ポップアップします。ファイルシステムを拡張する前は気づ​​いていませんでした。それで、おそらくそれはディスクを目覚めさせ続けるタスクですか?しかし、どうすればext4lazyinitにそのタスクを完了するように強制できますか?

1
LukeLR

_ext4lazyinit_は、まさにそれが言っていることを実行しています-それは、ファイルシステムの残りの部分を怠惰な方法で初期化しています。これは、ファイルシステムをすばやく作成する外観を与えるために行われます。お気づきのとおり、システムのパフォーマンスへの影響を最小限に抑えようとします。これは、完了するまでに長い時間がかかることを意味します。

最初のオプションはそれを待つことです-それは最終的に停止し、あなたのディスクはアイドル状態に戻るはずです。


もう1つのオプションは、ファイルシステムをアンマウントし、_-o init_itable=0_を使用して一時的にマウントし、レイジーinitをよりプロアクティブにすることですが、パフォーマンスが低下します。デフォルト値は10なので、その間にパフォーマンスが重要な場合は、その間の値を試してみてください。 ( ref

_init_itable=n    The lazy itable init code will wait n times the number of milliseconds
                 it took to zero out the previous block group's inode table. This
                 minimizes the impact on the system performance while file system's
                 inode table is being initialized.
_

3番目のオプションは、反復可能な初期化を無効にすることです-私の意見では、これは悪いオプションです。特に、本番環境にあり、おそらく重要なデータが含まれているファイルシステムの場合はそうです(だから、RAIDを使用しているのですよね?)

これは、_noinit_itable_オプションを使用して実行できます。

_noinit_itable     Do not initialize any uninitialized inode table blocks in the
                  background. This feature may be used by installation CD's so that the
                  install process can complete as quickly as possible; the inode table 
                  initialization process would then be deferred until the next time the
                  file system is unmounted.
_

編集:期間の見積もり。

ディスクの書き込みパフォーマンスは〜110-120MB/sであることに注意してください...アレイを実行しているため、理想的な世界では、〜330-360MB/sに改善されます(110 * (n - 1) )。また、RAID5の実行がはるかに遅いことも確認しました(RAIDコントローラーを使用した8ディスクで約40MB /秒-苦痛)。

推定110MB /秒で、完全な1ディスク5TBの初期化で約12時間を見ています。

1
Attie