Btrfs для нескольких устройств с одним режимом данных и сбоем диска

У меня был раздел btrfs на массиве из 6 дисков без рейда (метаданные в рейде10, а данные в одиночном), и один из дисков просто умер.

Итак, я потерял часть своих данных, хорошо, я знал это.

Но два вопроса:

  • Можно ли узнать (полагаю, используя метаданные), какие данные я потерял?

  • Можно ли выполнить какое-то «отсутствие btrfs для удаления» в такой настройке, чтобы восстановить доступ в rw к другим моим данным, или я должен скопировать все свои данные в новый раздел?

Редактировать: просто для ясности, я могу смонтировать его только для чтения с помощью mount -o recovery,ro,degraded

И btrfs fi df/Data

Data, single: total=6.65TiB, used=6.65TiB
System, RAID1: total=32.00MiB, used=768.00KiB
Metadata, RAID1: total=13.00GiB, used=10.99GiB
GlobalReserve, single: total=512.00MiB, used=0.00B

person pums974    schedule 15.09.2016    source источник
comment
Вероятно, стоит задать этот вопрос при сбое сервера вместо serverfault.com.   -  person iblamefish    schedule 15.09.2016
comment
Хорошо, я только что сделал это, спасибо.   -  person pums974    schedule 15.09.2016


Ответы (1)


Мне очень-очень повезло, и я думаю, что решил свою проблему (благодаря помощи списка рассылки btrfs).

В моей ситуации «btrfs-debug-tree -t 3 /dev/sda6» нигде не упоминает отсутствующий диск (данные или метаданные). Так что в пропавшем устройстве вообще ничего не было.

Таким образом, исправление ядра с помощью этого патча позволяет мне смонтировать массив в rw деградировал, и простой btrfs device remove missing сделал свое дело.

Итак, мой массив исправлен, и мои данные выглядят нормально (идет очистка)

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

person pums974    schedule 29.09.2016
comment
ссылка на патч неверна вот правильная patchwork.kernel.org/patch/7014141 - person max; 15.12.2016