Создание btrfs subvolume, как @ или @home

11

Будучи заинтригованным btrfs, я решил поиграть с ним на виртуальной машине. Установка прекрасно работает, если я не забываю поместить ее /bootв отдельный раздел, и, кажется, все работает нормально.

То, что я хотел бы сделать, это создать отдельный подобъем для объемных данных с настройками, отличными от таких, как @и @home. btrfs subvolume create dataсделаю это для меня, но мне любопытно, почему он продолжает называть его @/data(или подобные вещи, когда я пытаюсь /dataили @data). Существует ли особый способ создания подобъемов, таких как, @и @homeпоэтому мой объем данных будет отображаться как @data? (и: какова точная разница между схемами именования?)


Дополнительная информация:

  • Ubuntu 12.04.2, работающий в качестве гостя KVM на хосте mint15;
  • ядро 3.8.0-27-generic из ubuntu-x-swat (raring backport);
  • btrfs, использующий два устройства, /dev/sdaи/dev/sdb
  • /dev/sdaи /dev/sdbявляются разделами на диске, не используемыми операционной системой хоста
akaIDIOT
источник

Ответы:

13

Вздох , кажется, я написал слишком рано, с небольшой помощью всемогущего Zosma на IRC, мы узнали, как это должно работать.

Подобъемы @и @homeявляются потомками корня btrfs, поэтому на /самом деле это не корень файловой системы. UUID корня btrfs предоставляется /etc/fstabдважды, обеспечивая монтирование для /и /home. Монтирование фактического корня файловой системы показывает вложенные тома, созданные установщиком:

root@box:~# mkdir /mnt/btrfs
root@box:~# mount UUID=f8963df3-1320-4bc0-a125-62be185b029e /mnt/btrfs
root@box:~# ls /mnt/btrfs
@  @home

Так вот, куда они пошли! Создать новый объем точно так, как это сделал установщик Ubuntu, теперь легко:

root@box:~# btrfs subvolume create /mnt/btrfs/@data
Create subvolume '/mnt/btrfs/@data'

Теперь, поскольку мы создали подобъем в корне btrfs, а не в корневой файловой системе для установки, /data/он не будет отображаться сам по себе. К счастью, просто скопировать прием, используемый установщиком, изучив /etc/fstabи добавив другое крепление для /data:

UUID=f8963df3-1320-4bc0-a125-62be185b029e /data  btrfs  defaults,subvol=@data 0 2

Последний шаг - создать точку монтирования mkdir /data. После перезагрузки у нас будет /dataкаталог, смонтированный из отдельного подобъема btrfs.

… Прибыль!

akaIDIOT
источник
5

Установка прекрасно работает, если я не забываю поместить / boot в отдельный раздел

Вам не нужно иметь отдельный / boot. GRUB2 может читать и загружать Linux с btrfs.

То, что я хотел бы сделать, это создать отдельный подобъем для массовых данных с настройками, отличными от таких, как @ и @home.

Если вы говорите о монтировании подобъемов с различными вариантами монтирования , имейте в виду, что в настоящее время (ноябрь 2013 г.) они не поддерживаются: в соответствии с часто задаваемыми вопросами Btrfs « Могу ли я монтировать подобъемы с разными вариантами монтирования? », В настоящее время только для btrfs параметры не поддерживаются или не реализованы. Однако разработчики планируют реализовать его в будущем.

Подразделение btrfs для создания данных будет делать это для меня, но мне любопытно, почему он продолжает называть его @ / data (или подобными вещами, когда я пытаюсь / data или @data)

По умолчанию установщик Ubuntu Ubiquity создает подобъемы @и @homeв файловой системе, а ваш корень Ubuntu фактически находится в подобъеме @.

Есть ли особый способ создания таких подразделов, как @ и @home, чтобы мой объем данных отображался как @data? (и: какова точная разница между схемами именования?)

@и @homeявляются произвольными именами, выбранными установщиком, которые не имеют никакого значения снаружи /etc/fstab. Фактически, я обычно переименовываю их в более конкретные имена, чтобы у меня могло быть много дистрибутивов, установленных с помощью Ubiquity, на тех же самых btrfs, если я не забуду обновить их fstab.

Более подробное объяснение на Funtoo.org - BTRFS .

обманчивая надежда
источник
Спасибо за тщательное добавление здесь; много полезной информации :)
akaIDIOT