RAID 1は冗長性の利点を提供しますが、RAIDを使用すると、どのような場合でも矛盾(ディスクエラーではなくI / Oエラーなど)が発生するかどうかを理解したいと思います。
これを理解するために私は読んだ。マニュアルページ、いくつかの質問がありました。
変更はすべてのデバイスに同時に記録されます。
(1)すべてのディスクの書き込みが完了した後にのみ、書き込みはシステムに再承認されますか(失敗としてマークされたディスクを除く)?
RAID1の場合、「異常終了後のアレイの整合性の維持」には、最初のドライブの内容を他のすべてのドライブにコピーすることが含まれます。
(2) 最初のデバイスには最新の書き込みが含まれる場合と含まれない場合があります。したがって、2番目の最新ディスクのデータを上書きできます。 (1)への答えが「はい」の場合、これは問題ではありません。そうですか?
mdドライバが書き込みエラー[...]を検出すると、すぐにデバイスを無効にし(欠陥があるとマークされている)、残りのデバイスで作業を続けます。
(3)書き込み操作を続行する前(たとえば、再起動後)にこの情報は保持されますか?
(4)WIL(Write Intent Log)は単なる最適化に過ぎませんか、それともデータ損失が避けられない場合に役立ちますか?
次のシナリオを考えてみましょう。
- sdaおよびsdbデバイスを含むmd0 RAID 1
abc
md0に書き込む- sdbが失敗し、欠陥があるとマークされています
xyz
md0に書き込む(実際には現在sda)- システムが再起動し、その後はsdbのみを使用できます(理由は何でも)
- md0で読むとどうなりますか?何を読むのでしょうか?
デフォルトでは、RAID 1(特にmd)を使用すると、ユーザーに承認された書き込みが失われ(目立たない場合があります)、個々のディスクがまったく書き込まれないか(可用性と一貫性)を理解したいと思います。