У меня btrfs RAID 6. У меня паршивые жесткие диски, один вышел из строя, а другой вышел из строя во время восстановления. Теперь у меня нет четности, и я не могу восстановить - третий диск выдает ошибки чтения в нескольких секторах. Поскольку я не могу его удалить, я перезаписал битые сектора нулями с помощью dd. Теперь во время перестройки я получаю несколько таких ошибок:
Информация BTRFS (устройство sdc): сбой csum ino 257 off 3985240064 csum 2566472073 ожидаемый csum 1136819032
...затем
ОШИБКА ядра в /build/linux-SMWX37/linux-3.12.9/fs/btrfs/extent_io.c:2082!
... восстановление прекращается
Я думаю, что btrfs не знает, что делать без четности для восстановления, поэтому выдает ошибку и прерывает работу.
Я решил, что могу просто удалить затронутые файлы, но индекс 257 ни с чем не сопоставляется.
btrfs inspect-internal inode-resolve -v 257 / data
ioctl ret = -1, ошибка: нет такого файла или каталога
Есть ли предложения по очистке индекса 257 вручную или иному восстановлению моей файловой системы?
Если у вас есть RAID-массив с тремя неисправными дисками, вероятность того, что raidset вернется в рабочее состояние, мала. Сожалею.
Я с радостью могу сказать, что ваша единственная альтернатива - заменить вышедшие из строя диски, воссоздать набор рейдов, а затем восстановить информацию из вашего последнего набора резервных копий.
Вы понимаете, что btrfs все еще относительно экспериментальный, и поэтому я предполагаю, что вы готовы к этой ситуации, сохраняя хорошие резервные копии.
Если вы хотите что-то более стабильное, я бы посоветовал использовать проверенную файловую систему ext4 вместо более экспериментальных btrfs.