BTRFS конвертирует RAID0 в RAID1

Как-то я сработал, создав свою файловую систему BTRFS, и в итоге оказался RAID0 вместо RAID1. Однако я заметил это только после добавления 274 ГБ данных (я знаю, какой дебил):

Total devices 2 FS bytes used 136.12GiB devid 1 size 465.76GiB used 137.03GiB path /dev/sdb devid 2 size 465.76GiB used 137.03GiB path /dev/sdc 

Мне нужен метод A: Подтверждение того, что это действительно RAID0 (я уверен, что это так, но я не нашел команду, которая выводила это явно, и я бы хотел проверить в следующий раз перед добавлением данных). И B: Если возможно, перераспределение данных на RAID1.

ОК пусть этот сервер станет памятником моего полного провала.

Чтобы подтвердить конфигурацию RAID: btrfs fi df /mountpoint

Оказывается, я не делал этого, Windows как-то дважды сообщает данные (и вдвое больше места), когда вы подключаетесь к btrfs RAID1 fs через SAMBA.

Если вы, возможно, допустили ошибку, я думал, что при настройке вашей файловой системы BTRFS это может помочь, хотя, к счастью, мне не пришлось ее пробовать.

При создании файловой системы btrfs на нескольких устройствах по умолчанию используется RAID0 для данных и RAID1 для метаданных . Если вы хотите изменить это, вы можете передать аргументы команде mkfs для изменения уровня RAID-данных (-d) и метаданных (-m):

 mkfs.btrfs -d raid1 -m raid1 /dev/sda /dev/sdb 

Чтобы подтвердить, какой уровень RAID используется в существующей файловой системе, вы можете использовать утилиту btrfs :

 $ btrfs fi df /mountpoint Data, RAID1: total=15.00GiB, used=14.65GiB System, RAID1: total=8.00MiB, used=16.00KiB Metadata, RAID1: total=1.00GiB, used=15.59MiB 

В примере вывода показан RAID1, используемый как для данных, так и для метаданных. Запуск btrfs fi usage /mountpoint обеспечит более подробную информацию.

Вы можете преобразовать существующую файловую систему на другой уровень RAID , передав аргументы команде balance .

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

Баланс снова записывает все данные в файловую систему, и добавление аргументов приведет к тому, что данные будут преобразованы по мере их перезаписи. Это может занять некоторое время, вы можете запустить btrfs balance status /mountpoint чтобы увидеть статус. Как только он закончится, вы можете подтвердить, что все данные были преобразованы как ожидалось с помощью btrfs fi df . Данные, записанные во время баланса, могут по-прежнему использовать старый формат, поэтому может потребоваться второй баланс.

Утилиты, такие как регулярная команда df или btrfs fi show , не учитывают параметры RAID, как это делает сам btrfs. Эти инструменты показывают только общую сумму, выделенную btrfs на дисках, они не знают, какой формат btrfs использует для данных. Это также означает, что обмен через SAMBA или другие инструменты не учитывает RAID. Для получения дополнительной информации см. Часто задаваемые вопросы btrfs.