Сегодня решал сбой рейда на raid10-far с четырьмя дисками. Один диск вышел из строя, а другой не был повторно добавлен после жесткой перезагрузки. Mdadm -D сообщал, что он чист и работает только с двумя дисками из четырех. Когда я попытался прочитать массив md с помощью dd if = / dev / md1 of = / dev / null, чтение завершилось неудачно ровно через 1,5 МБ с сообщением «Ошибка ввода-вывода буфера на устройстве md1, логический блок XXX» в dmesg. Предполагая, что я использую блоки размером 512 КБ по умолчанию, произошло неизбежное: каждый четвертый блок, расположенный на одном из этих двух отсутствующих дисков, был недоступен, согласно распределению блоков в raid10-FAR. http://goo.gl/5Xl7k.
Есть ли какое-то предназначение, что массив может быть собран так плохо, или это ошибка в реализации md-raid10-far? Raid10-near может быть собран в некоторых случаях таким образом, поэтому, возможно, разработчики забыли изменить код, который решает, можно или нельзя его собрать?
Я использую Ubuntu Server 12.04, ядро 3.2.0-26-generic, mdadm v3.2.3