Назад | Перейти на главную страницу

Смонтировать два подобома btrfs одновременно

Вот гипотетическая установка на недавнем ядре Linux:

/dev/sda1 is formatted as btrfs

Затем я запускаю следующее, чтобы создать два вложенных тома в корне / dev / sda1:

$ mount /dev/sda1 /mnt
$ btrfs subvolume create /mnt/a
$ btrfs subvolume create /mnt/b
$ umount /mnt

Теперь я хочу смонтировать оба этих подтома одновременно в двух разных точках монтирования:

$ mount -o subvol=a /dev/sda1 /a
$ mount -o subvol=b /dev/sda1 /b

Вот в чем проблема. Я пробовал это с файлом в качестве блочного устройства (используя цикл), и он работал нормально (по крайней мере, для касания двух файлов в каждом). Однако после установки всей системы, размещения корневого каталога в одном подтоме и домашнего каталога в другом, монтирования обоих при загрузке, я получил сообщение об ошибке, сообщающее мне, что базовое устройство было «защищено от записи», и при первой попытке прочитать домашний содержимое каталога привело к сбою ядра.

Я хотел бы знать, действительно ли то, что я хочу сделать (монтировать одноблочное устройство более одного раза с разными вариантами монтирования), разрешено btrfs или вообще операционной системой.

Вы можете определить вложенный том a, который по умолчанию должен действовать как root.
в этом случае он будет автоматически смонтирован вместо корня btrfs.

Предполагая, что ваше дерево btrfs выглядит так

/
|
| ---- a (вложенный том, содержащий / каталог)
|
| ---- b (вложенный том, содержащий домашний каталог)

чтобы установить по умолчанию:

mount /dev/sda1 /mnt
btrfs subvolume create /mnt/a
btrfs subvolume set-default /mnt/a

теперь вы можете смонтировать файловую систему btrfs, а затем подтом b

mount -o defaults /dev/sda1 /a
mount -o defaults,subvol=b /dev/sda1 /b