Q:MDADM mismatch_cnt>0。不一致のブロックを特定する方法はありますか?


12

はい。定期的なスクラブの後、MDADM RAID5は、mismatch_cnt = 16を報告しています。理解できるように、これは、読み取りエラーを報告したデバイスはないが、データとパリティが一致しないブロックが16個あることを意味します。

質問#1:これらのブロックのリストを入手できますか?

質問#2:基礎となるファイルシステムがEXT4である場合、#1が可能であると想定して、これらのブロックに関連付けられているファイルを識別する方法はありますか?

ニアラインバックアップがあり、理想的な世界では、ライブアレイをバックアップデータと比較するだけで、静かに破損したファイルを見つけることができます。しかし、現実には、6TBのバックアップデータが非常に高価で時間がかかることを思い出しています。どこを調べて何を回復するかを知っていると、物事が非常に簡単になります。

(「チェック」オプションでのみRAIDスクラブを実行することに注意する必要があります。「修復」オプションでスクラブを実行すると、データまたはパリティのどちらかが間違っていることしかMDADMで認識されないため、非常に危険です。そのため、MDADMが50%の確率で誤った推測を行い、間違ったデータを再構築する可能性があるようです。

提案は大歓迎です!


check dmesgまたは/ var / log / syslog?
psusi

こんにちは。私が知る限り、スクラバーによってsyslogに記録されるメッセージは、開始メッセージと停止メッセージのみでした。不一致に関するメッセージは記録されませんでした。
アーカシンキー

セクターオフセットに基づいてファイルを識別するには、icheck+ ncheckを参照してくださいdebugfs
SCH

セクター番号のロギングを追加してみました。今、私は次に何をすべきかを把握しようとしています:unix.stackexchange.com/questions/266432/…-
ピーター

2
ディスクが悪いということは何もありませんが、確認してください。smartmontoolsパッケージを使用して各ディスクに対して(smartctl -a /dev/sdaなど)実行するか、各ディスクで短いSMARTテストを実行して完全なレポートを印刷する他の方法を使用します。そのうちの1つが死にかけている可能性が非常に高く、全体的なSMARTヘルスアラームをトリガーするには深刻な量の悪さが必要です。
スプーラー

回答:


1

申し訳ありませんが、エラーが発生した場合、「チェック」は実際にアレイに書き戻します-https://www.apt-browse.org/browse/ubuntu/trusty/main/amd64/mdadm/3.2.5-5ubuntu4/fileを参照してください/usr/share/doc/mdadm/README.checkarray

「check」は読み取り専用の操作です。ただし、カーネルログがそうでないことを示唆している場合もあります(たとえば、/ proc / mdstatおよびいくつかのカーネルメッセージで「再同期」が示されます)。FAQの質問21も参照してください。

ただし、読み取り中に読み取りエラーが発生した場合、チェックは読み取りエラーに対する通常の応答をトリガーします。これは、「正しい」データを生成し、それを書き出そうとするためです。書く。ただし、読み取りエラーがない場合は読み取り専用です。

...そのため、探しているデータを収集するにはもう手遅れかもしれません。申し訳ありません。

長期的には、RAID5(および6、1)には、発生した可能性が高いビットロートに対する保護がありません。1つのディスクのデータが悪くなると、どのデータが良いか悪いかを判断する方法がありません。btrfsやzfsなどの各ディスクをチェックサムするファイルシステムへの移行を計画することをお勧めします。

(RAID-5は、実際に新しい展開で使用すべきではありません。また、未加工ディスクの容量がそれぞれ2TBを超える場合は、実際には使用すべきではありません-http : //www.zdnet.com/article/why-raid-5-を参照してください2009年の稼働停止/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.