Subvolumes sind quasi dem Top-Level-Volume untergeordnet. Allerdings kann ein Subvolume auch einem anderen Subvolume untergeordnet sein. Verschachtelung ist also kein Problem. Von Subvolumes lassen sich Snapshots erstellen.
Erstes Subvolume anlegen
Das Anlegen eines Subvolumes ist denkbar einfach. Folgender Befehl sorgt für das erste Subvolume.
btrfs subvolume create /mnt/subvol1
Schaut man nun mit einem ls -lah /mnt/
nach so sieht man ein Unterverzeichnis. Es ist aber keins. Es ist ein Subvolume.
Die Subvolumes kann man sich natürlich auch anschauen. So erfährt man direkt die Subvolume-ID:
btrfs subvolume list /mnt/
Ein Subvolume kann man auch direkt mounten. Man muss nicht das Top-Level Volume mounten, um an das Subvolume zu kommen. Allerdings braucht man die Subvolume-ID dazu.
Erst das Top-Level Volume unmounten und danach das Subvoluem mounten:
umount /mnt/
mount -o subvolid=297 /dev/sda /mnt
Subvolume in Subvolume
Verschachteln geht natürlich auch. In folgendem Beispiel legen wir ein Subvolume in einem Subvolume an. Wir wollen das Subvolume sv2_in_sv1 anlegen, welches sich unterhalb von /mnt/subvol1/ befindet.
btrfs subvolume create /mnt/subvol1/sv2_in_sv1
Schauen wir jetzt mit einem ls -lah /mnt/subvol1/ rein, so finden wir sv2_in_sv1 wieder. Auch das lässt sich wieder direkt mounten. Ein btrfs subvolume list /mnt/
gibt alle Subvolumes wieder, die es in /mnt/ gibt.
Subvolumes löschen
So wie man Subvolumes erstellt, so löscht man sie auch wieder. Statt create nutzt man hier delete. Ich lösche also das Subvolume /mnt/subvol1/sv2_in_sv1 wieder.
btrfs subvolume delete /mnt/subvol1/sv2_in_sv1