Поэтому я пытаюсь обернуть голову вокруг BTRFS и настроить свой файловый сервер, используя файловые системы BTRFS. Вот мои настройки:
/ dev / sda1: файловая система BTRFS, содержит @, подтомы @home, смонтированные в / и /home.
/ dev / sdb1 и / dev / sdc1: файловая система из пула BRTFS, жесткие диски 2x3 ГБ,
содержит все мои медиафайлы. В настоящее время монтируется в / mnt / media
Я настроил их таким образом, потому что я не хочу, чтобы мои медиа-файлы занимали место на / dev / sda1, который является твердотельным накопителем на 120 ГБ; Я хотел бы зарезервировать это только для системных файлов. Я хотел бы смонтировать эту вторичную файловую систему BTRFS в подобъем верхнего уровня, помеченный @media, чтобы я мог делать снимки. Однако каждый раз, когда я пытаюсь смонтировать / dev / sdb1 или / dev / sdc1, используя subvolid, я получаю эту ошибку:
peetipablo@flexo:/$ sudo mount -t btrfs -o subvolid=354 /dev/sdb1 /mnt/media
mount: mount(2) failed: No such file or directory
Вот список подобъемов:
peetipablo@flexo:/$ sudo btrfs subvolume list /
ID 257 gen 142548 top level 5 path @
ID 258 gen 142527 top level 5 path @home
ID 310 gen 113715 top level 5 path @apt-snapshot-release-upgrade-utopic-2015-04-30_08:11:14
ID 311 gen 113766 top level 5 path @apt-snapshot-release-upgrade-vivid-2015-04-30_08:39:50
ID 312 gen 134632 top level 257 path var/lib/machines
ID 313 gen 142500 top level 257 path root_snapshot_5_13_15
ID 354 gen 142517 top level 5 path @media
Если Я пытаюсь сделать @media вложенным по умолчанию для каталога / mnt / media, я могу смонтировать sdb1 без вложенного -o, но при попытке сделать снимок я получаю сообщение об ошибке:
peetipablo@flexo:/$ sudo btrfs subvolume set-default 354 /mnt/media
peetipablo@flexo:/$ sudo btrfs subvolume get-default /mnt/media
ID 354 gen 142517 top level 5 path @media
peetipablo@flexo:/$ sudo mount -t btrfs /dev/sdb1 /mnt/media
peetipablo@flexo:/$ sudo btrfs subvolume snapshot @media /mnt/media_snap
ERROR: error accessing '@media'
peetipablo@flexo:/$ sudo btrfs subvolume snapshot /mnt/media /mnt/media_snap
Create a snapshot of '/mnt/media' in '/mnt/media_snap'
ERROR: cannot snapshot '/mnt/media' - Invalid cross-device link
У меня есть ощущение, что я чего-то не понимаю или использую этот новый тип файловой системы таким образом, что его не следует использовать. Стоит ли просто объединить все 3 устройства в одну файловую систему BTRFS и не беспокоиться о заполнении моего SSD носителем? Есть ли способ достичь моей конечной цели, используя метод, отличный от того, который я использую в настоящее время?
Файловые системы Btrfs не взаимодействуют друг с другом, таким образом, Вы не можете смонтироваться @media
подобъем на /dev/sd{b,c}1
потому что @media
подобъем в настоящее время включен /dev/sda1
, и Вы получаете перекрестную ошибку устройства, когда Вы пытаетесь создать снимки /mnt/media
кому: /mnt/media_snap
потому что /mnt/media
идет /dev/sd{b,c}1
тогда как /mnt/media_snap
идет /dev/sda1
.
Вместо того, чтобы иметь @media
подобъем на /dev/sda1
файловая система btrfs, Вы хотите создать @media
подобъем в btrfs файловой системе на /dev/sd{b,c}1
:
sudo mount /dev/sdb1 /mnt/media/
sudo btrfs subvol create /mnt/media/@media
sudo umount /mnt/media/
sudo mount -o subvol=@media /dev/sdb1 /mnt/media/
Можно создать снимки /mnt/media/
, но можно поместить снимок только в /dev/sd{b,c}1
файловая система. Таким образом, можно создать снимок только для чтения как это:
sudo btrfs subvol snap -r /mnt/media/ /mnt/media/<snapshot_name>
Но я рекомендую поместить каждый снимок подобъема вне самого подобъема, потому что это упрощает вещи, когда необходимо вернуться к снимку. Чтобы сделать это, необходимо будет смонтировать корень /dev/sd{b,c}1
файловая система:
sudo mkdir /mnt/media_root/
sudo mount -o subvol=/ /dev/sdb1 /mnt/media_root/
sudo btrfs subvol snap -r /mnt/media_root/@media/ /mnt/media_root/<snapshot_name>