BTRFS - грабли. cat/copy/rsync = Input/Output Error (Решено)
Привет! Давно сижу на разных raid (mdadm, zfs, lvm2), но в такую ситуацию попадаю впервые. Ситуация c btrfs-raid5 простая: при копировании достаточно свежей работы я словил:
# cat /data/work/2021Q3.txt > /dev/null
cat: /data/work/2021Q3.txt: Input/output Error
После осмотра, который длился 5 дней в разных комбинациях диагноз: только 7 «битых» файлов и:
[/dev/sdd].corruption_errs 6
[/dev/sdf].corruption_errs 22
И дальше поехала целая серия танцев с бубном от btrfs, которую я попытался решить на arch-форуме - без успеха (Успех пришёл через 2 недели, ниже):
https://bbs.archlinux.org/viewtopic.php?id=270625
На текущий момент задачу по сохранению как минимум одного (самого важного для меня файла) из 7-ми «битых» файлов я выполнил - с помощью dd и дальнейшего красноглазого разбора.
Но вопросы остались: где же хвалёная избыточность raid5? Почему счётчики corruption_errs видит только btrfs и они живут своей жизнью? Как вытаскивать инфу с раненной btrfs и что делать, чтобы таких повреждений больше не было?
Про бэкапы просьба не напоминать - моя информация того не стоила вообще. Важен сам принцип - как сделать BTRFS-raid более «железобетонным»?
В моём опыте с mdadm, zfs - разрушения тоже бывали, с причинами и следствиями, но все они как-то последовательно решались, без шаманства, объективно, без магии и уж точно без потерь. А тут на ровном месте проблема из ничего…
Единственная операция, которую я еще не сделал:
btrfs balance start -mconvert=raid1 -sconvert=raid1 /data
Стоит оно того? (копию данных сделал)