Я установил Ubuntu 11.10 с btrfs в качестве / файловой системы (было немного бесполезно, я объясню, если люди заинтересованы), поэтому я могу расширить основную файловую систему на второй диск в системе (*).
После установки системы я побежал btrfs device add /dev/sdb1 /
, и он добавил новое устройство и расширил файловую систему, и все было хорошо. Но в соответствии с (неправильным) руководством, которое я читал, мне также пришлось запустить btrfs filesystem balance
, и это, по-видимому, превратило мою файловую систему в режим «raid1», поэтому все хранится избыточно дважды - один раз на каждом диске, и я могу использовать только 50% моей общей емкости:
$ btrfs filesystem df /
Data, RAID0: total=78.00GB, used=41.57GB
System, RAID1: total=8.00MB, used=16.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=3.75GB, used=355.06MB
Его приятная особенность, но я вроде как хотел использовать «raid0» (снятие). Я попытался удалить новое устройство, чтобы его можно было повторно добавить, но когда я попробую, я получаю сообщение об ошибке, и syslog имеет это:
btrfs: unable to go below two devices on raid1
Итак, мой вопрос: как я могу конвертировать моя файловая система возвращается к raid0, поэтому я могу использовать общее пространство обоих дисков?
(*) Как это можно сделать с LVM, но с btrfs вы можете размещать несколько «разделов» в одной и той же «файловой системе», и пространство выделяется динамически там, где оно вам нужно - в отличие от LVM.
btrfs balance start -dconvert=raid0 /
Это все, что вам нужно сделать. Система будет активно перемещать существующие данные, чтобы быть raid0 (полосатый, без четности), и любые другие данные также будут записаны таким же образом.
METAdata все равно будет записана в двух экземплярах. Если вы хотите жить EXTRA SUPER опасно, не стесняйтесь ссылаться на аргумент -mconvert raid0 в приведенную выше команду, то и данные И метаданные в массиве в / будут преобразованы в raid0.
Вы читаете правильное руководство; вам необходимо запустить баланс после добавления накопителя, чтобы обновить данные на новом диске. Также происходит преобразование любых блоков DUP в RAID1, а по умолчанию параметры mkfs используют RAID1 или DUP для метаданных в зависимости от того, есть ли у вас несколько дисков или нет. В настоящее время нет поддерживаемого способа конвертировать назад, но в списке рассылки btrfs есть плакаты с ограничениями, которые в конечном итоге позволят это делать.