私は mdadm raid 6 ファイル システムを持っていますが、4 つのディスクのうち 3 つだけが稼働しています。4x2tb ディスクがあり、4 番目のディスクを追加して (1 週間試しました)、実行すると、ls
ファイル システム エラーが発生します。
$ ll /mnt/downloads/downloads
...
d????????? ? ? ? ? ? drivers/
...
しかし、新しく追加したディスクを削除するたびに、ファイル システムが正しく表示されます。
$ sudo mdadm /dev/md0 --fail /dev/sde1
mdadm: set /dev/sde1 faulty in /dev/md0
$ ll /mnt/downloads/downloads
(correct contents)
スーパーブロックをゼロにしたり、RAID 関連のブロックを消去したりしてみましたsudo wipefs -a /dev/sde1
が、すべて同じ失敗に終わりました。
を実行して、3 つのディスクのみで mdadm アレイをチェックすると、エラーは表示されませんecho check > /sys/block/md0/md/sync_action
。
ディスクのすべてのセクターを読み取って、不良ブロックがあるかどうかを確認しようとしましたが、そのようなことは何も起こりませんでした。
sudo badblocks -wsv /dev/sde1
現在、ディスク上で を実行していますが、エラーが表示されることはないと思います。
これには非常に困惑しています。私のディスクは何らかの点で故障しており、何らかの理由でディスク チェックが機能しないのでしょうか?
それとも、ディスクを正しく追加していないことに関係しているのでしょうか? 次を実行しました:
sudo mdadm /dev/md0 -a /dev/sde1
このコマンドは、ファイル システムがマウントされている間に常に実行し、ディスクの追加中にアンマウントしていたと思いますが、これによって問題が発生することはないと思いますか?
答え1
ドライブ自体に問題がない場合は、カーネルのバグである可能性が高くなります。
たとえば、最近 RAID6 の再同期に関連するデータ破損のバグが発生しましたが、実行しているカーネルのバージョンによっては影響を受ける可能性があります。
バグ: コミット 4f4fd7c5798bbdd5a03a60f6269cf1177fbd11ef により RAID6 リカバリが壊れる
それ以外の場合は、 RAID6 の残りのパリティに存在する可能性のあるRAID 不整合 ( mdadm --action=check /dev/mdX
、 )も確認してください。watch head /sys/block/md*/md/mismatch_cnt
また、再同期中にポップアップ表示された可能性のあるエラー メッセージがないか、他のすべての角度、memtest、smartctl など、および dmesg も確認してください。
答え2
btrfsをいじっているときに問題を発見し、VMware の更新結果は次の通りです:
Arch Linux VMware ゲストに追加した物理ハードディスクであるハード ディスク 0 とハード ディスク 4 は同じものでした。
壊れるのも無理はない。
私のカーネル バージョンは影響を受けるバージョンに含まれていたため、frostschutz の回答はまだ重要だった可能性があります。