Почему btrfs отказывается конвертировать метаданные в RAID1

Я создал файловую систему btrfs с одним устройством. Согласно статье wiki btrfs по использованию нескольких устройств , я должен иметь возможность конвертировать это в RAID1, используя:

btrfs balance start -dconvert=raid1 -mconvert=raid1 /path 

Я начал это на Linux 3.16, и он потерпел неудачу (ядро паника). Обновленный до Linux 4.0, после установки файловой системы он продолжался и заканчивался. Но это были данные, а не метаданные или система (согласно btrfs fi df ). Я схватил последние btrfs-progs от git (просто чтобы убедиться, что это не из-за старой версии), и сделал:

 Watt:/home/anthony/src/btrfs-progs# ./btrfs balance start -v -mconvert=raid1 /path Dumping filters: flags 0x6, state 0x0, force is off METADATA (flags 0x100): converting, target=16, soft is off SYSTEM (flags 0x100): converting, target=16, soft is off Done, had to relocate 6 out of 1411 chunks 

По-видимому, это фактически не отражало это. Прямо сейчас, у меня есть:

 Watt:/home/anthony/src/btrfs-progs# ./btrfs fi usage /path Overall: Device size: 7.28TiB Device allocated: 2.75TiB Device unallocated: 4.53TiB Device missing: 0.00B Used: 2.74TiB Free (estimated): 2.26TiB (min: 2.26TiB) Data ratio: 2.00 Metadata ratio: 2.00 Global reserve: 512.00MiB (used: 0.00B) Data,RAID1: Size:1.37TiB, Used:1.37TiB /dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 1.37TiB /dev/mapper/luks-ec97c1ad-21d8-41bb-9072-e5a74f68e416 1.37TiB Metadata,DUP: Size:2.50GiB, Used:1.58GiB /dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 5.00GiB System,DUP: Size:32.00MiB, Used:224.00KiB /dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 64.00MiB Unallocated: /dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 3.17TiB /dev/mapper/luks-ec97c1ad-21d8-41bb-9072-e5a74f68e416 1.36TiB 

Я снова попробовал полный баланс (с -dconvert=raid1 и -mconvert=raid1 ), и это тоже не сделало.

ПРИМЕЧАНИЕ. Большим диском (56 … b9) является тот, который я добавил.

Как я могу получить метаданные и систему?

One Solution collect form web for “Почему btrfs отказывается конвертировать метаданные в RAID1”

Это регрессия в ядре 4.0, в результате чего фильтры преобразования в балансе не имеют эффекта; похоже, что все преобразования затронуты (а не только одно-> raid1 или raid1-> raid5). См. Недавнюю цепочку рассылки , в которой в настоящее время нет официального исправления. Если вы исправляете свое ядро, в качестве временного исправления есть простой патч.

Это известная ошибка в версии 4.0. Я отправил патч [1], чтобы отменить фиксацию, вызвавшую регрессию, но она не получила никакого ответа. Вы можете применить это или просто вернуть 2f0810880f08 («btrfs: удалить выделение chunk при установке группы ro ro»), чтобы исправить вашу проблему на данный момент.

[1]: https://patchwork.kernel.org/patch/6238111/

  • Как изолировать объемы снимков с помощью btrfs?
  • BTRFS: слишком много отсутствующих устройств, доступное для записи монтирование запрещено
  • Эквивалент pvmove для BTRFS
  • кэширование ssd в устройстве loop на btrfs
  • Откат субблока btrfs с дочерними субволиями
  • Отобразить дерево subvolume btrfs
  • раздел btrfs не обнаружен
  • Сделайте tar (или другой) архив с выравниванием блоков данных, как в исходных файлах, для лучшей дедупликации на уровне блока?
  • установить с BTRFS: схема subvolume / partition?
  • Есть ли простой способ переместить подкаталоги btrfs в другую файловую систему btrfs?
  • Могу ли я определить исключительное использование пространства для групп подвоев btrfs?
  • Linux и Unix - лучшая ОС в мире.