外部EXT4ドライブ(1xHDD)にビットマップを入れましたが、RAID10アレイでデータが変更されるたびにファイルも書き込まれるようにしたいと思います。そうですか?
ビットマップファイルをチェックサムまでしましたが、間違いなく変更されませんでした。
ファイルサイズはわずか2KBです(ビットマップブロックサイズは64MBに設定されています)。
- アレイを停止して起動しても変更はなく、ファイルに書き込むこともありません。
- アレイの起動時にファイルにアクセスできない場合は、エラーメッセージが表示されますが
mdadm: Could not open bitmap file /mnt/1xHDD/R10_bitmap.dat
大丈夫です。
アレイの詳細mdadm --detail /dev/md127
:
ビットマップファイルの確認mdadm -X /mnt/1xHDD/R10_bitmap.dat
Filename : /mnt/1xHDD/R10_bitmap.dat
Magic : 6d746962
Version : 4
UUID : 39f863d1:4d247162:c3672454:1765abe2
Events : 2914
Events Cleared : 2914
State : OK
Chunksize : 64 MB
Daemon : 5s flush period
Write Mode : Normal
Sync Size : 624877568 (595.93 GiB 639.87 GB)
Bitmap : 9535 bits (chunks), 0 dirty (0.0%)
私のmdadm.confの内容:
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md/SRV01:R10_HDD metadata=1.2 bitmap=/mnt/1xHDD/R10_bitmap.dat name=SRV01:R10_HDD UUID=39f863d1:4d247162:c3672454:1765abe2
ところで、ビットマップファイルを単一のハードドライブに配置することについて意見がありますか?名前を変更しようとすると、配列は問題なく続行されます。ただし、mdadm --details...
ビットマップに削除されたことを知らせる場合もあります。
追加の注意:外部ビットマップに切り替えた後、このRAID10アレイでの書き込みパフォーマンスは135 MB / sから370 MB / sに向上しました! (直接IO使用、つまりページキャッシュは使用されません)
答え1
結局のところ、外部ビットマップファイルが機能できるようです。
Stephen Kittがコメントで指摘したように、特に大きなビットマップタイルサイズを使用している場合、ファイルは非常に小さいことがよくあります。 (私はそれがはるかに大きいと予想した)。
ビットマップファイルの変更が観察されない理由は、EXT4オプションnoatime
(変更された日付時刻を更新しない)を使用してファイルシステムをマウントしたことを忘れてしまったため、ファイルをMD5チェックサムするときに配列が時刻同期されているためです。 。だから、多様性はありません。
第二に、「安全でない」1xドライブに外部ビットマップを配置する場合の安定性/リスクに関して、実行時にビットマップファイルを含むドライブをシャットダウンしても、実行
中または影響を受けるアレイは不安定になりません。 mdadmは単にビットマップファイルが「削除された」と報告しますが、配列は引き続き正常に動作します。アレイが再起動されると(再起動など)、ビットマップ(none
またはinternal
他のexternal
ビットマップファイル)が再設定されるまでオンラインになりません。
全体的にミラーされていないディスクに配置するのが安全であることがわかりました。
mdadmドキュメントとすべてのmdadmガイドでは、デフォルトの内部ビットマップを使用することが、少なくともRAID10およびRAID5でパフォーマンスに与える影響を過小評価します。
R5の高速ベンチマークを実施しました。
ビットマップ:内部、書き込み:267MB
ビットマップ:なし、書き込み:434MB
(総テストサイズ20G、ブロックサイズ512K、ページキャッシュを有効にする)