Назад | Перейти на главную страницу

Восстановите временно отключенное устройство RAID

Если я создаю массив RAID 5 (в частности, MD RAID в Linux), а затем по какой-либо причине отключается один из дисков, нужно ли восстанавливать этот диск с нуля, если:

  1. В массив не записано никаких данных.
  2. Некоторые данные были записаны в массив.

Под «царапиной» я подразумеваю полное восстановление данных вместо восстановления разностных данных с момента последнего подключения диска.

Это точная проблема, которую решает растровое изображение с намерением записи. При создании массива укажите --bitmap=internal в командной строке. Растровое изображение записывает, была ли записана область массива. В зависимости от размера массива, например, один бит может быть 1 ГиБ.

Во время нормальной работы ядро ​​устанавливает биты в 1 непосредственно перед записью области. Затем, как только он узнает, что все записи сброшены в область, он обнуляет этот бит. Если вы отказываетесь от диска из массива, так что массив ухудшается, биты просто начинают накапливать единицы. Они не очищены.

Когда вы повторно добавляете диск обратно в массив, md синхронизирует только те регионы, которые были записаны, в соответствии с битовой картой.

Вы можете добавить растровое изображение в существующий массив с помощью --grow --bitmap=internal.

Это зависит от.

Когда вы отсоединяете диск от массива RAID 5, после того, как вы снова подключите диск, потребуется полная перестройка массива. Система не может узнать, что на этом диске все еще есть те же данные, что и до отключения.

Я имею в виду, что пока диск отключен, данные могут быть изменены другими способами. А «доверять» ему, пока диск снова в сети, может быть катастрофой для согласованности данных.

Вы можете включить растровое изображение с намерением записи или режим журнала согласованности данных. См. Для этого параметры --bitmap и --consistency-policy в mdadm. Но это никоим образом не гарантирует, что полное восстановление не произойдет после фактического удаления и повторного подключения диска, я думаю. Например, если в массив добавлен «горячий» резерв, он начнет перестраивать массив в «горячий» резерв, как только вы извлечете диск.