В RAID1, если питание потеряно и некоторые данные в кеше записи были записаны на один жесткий диск, но не на другой, диски будут иметь несогласованные данные для некоторых блоков. Я думаю, что в зависимости от того, какую именно RAID-систему вы используете, возможно, что система будет балансировать чтения между обоими дисками. Если система не «чистит» массив после грязного завершения работы перед возвратом данных в считыватель, она может вернуть разные данные для того же блока в последующих чтениях. То есть вы можете прочитать файл и увидеть данные на одном диске, очистить кэш-память чтения, а затем снова прочитать тот же файл и получить данные с другого диска, которые могут отличаться.
Я думаю (хотя и не уверен), что когда я видел MD Linux (программный RAID) после перезагрузки, он автоматически запускает очистку и фактически отказывается возвращать определенные блоки, пока не проверит, что каждый блок очищен. Но я не уверен, что это было то, что он делал на самом деле. Кроме того, я не знаю, как аппаратные RAID-контроллеры справляются с этой ситуацией.
Обратите внимание, что даже если эта очистка происходит, если ваш кэш записи не сохраняет порядок записи на каждый диск, файловая система может быть повреждена, даже если она занесена в журнал. Я предполагаю, что кэш записи, который вы ссылаетесь на ложь ОС относительно записей, которые фактически завершаются, означает, что любые предположения, которые файловая система делает относительно сохранения, преднамеренно нарушаются ради производительности. Похоже, что резервное копирование батареи предназначено для того, чтобы записи, которые файловая система считала завершенными, действительно выполнялись таким образом, что при повторной сборке массива данные, которые, как думала файловая система, были записаны, возвращаются при чтении.
Извините, у меня нет ответов, я поднимаю вопросы / вопросы, которые беспокоили бы меня в этом сценарии.