Manjaro Difference between revisions of "Btrfs"

Difference between revisions of "Btrfs"

From Manjaro
(Subvolume)
(subvolume extended)
Line 73: Line 73:


== subvolume ==
== subvolume ==
A Btrfs subvolume is an independently mountable POSIX file-tree and '''not a block device'''. It is the part of a volume that will be '''mounted writeable''' into your Linux system. By convention the names of subvolumes start with '''@ (@, @home, @snapshots''' ...).
A subvolume is an independently mountable POSIX file-tree and '''not a block device'''. It is the part of a volume that will be '''mounted writeable''' into your Linux system. If you dont´t care about snapshots, and you don´t care about backups, it would be possible to use only one subvolume for everything. But then you would not be able to use the powers of Btrfs. ''Lets assume you do care.''
 
All subvolumes share the space of the Btrfs volume. You may create subvolumes at will. (You may think of subvolumes as sort of "dynamic partitions" inside a Btrfs volume)
All subvolumes share the space of the Btrfs volume. You may create subvolumes at will. (You may think of subvolumes as sort of "dynamic partitions" inside a Btrfs volume)


When making snapshots (or send/receive) every subvolume will be handled separately. For example when you have 2 subvolumes(@, @home), and make a snapshot of one of them(@), this snapshot will contain every bit of data of all fines in this subvolume(@), but none of the data from the other subvolume(@home). So if you make a few subvolumes, you are able to '''follow different strategies for snapshots''' of them. And you can '''restore''' each of them '''separately'''.
By convention the names of subvolumes start with '''@ (@home, @snapshots''' ...).
=== subvolume '''@''' ===
This is the subvolume where your '''complete manjaro system''' will reside. It is mounted at "/" in your filesystem. You may take snapshots of this subvolume (or backups with send/receive) to secure a running manjaro system. When something bad happens, you are able to rollback to one of the snapshots, or to restore one of the backups of this subvolume '''without loosing your data''' at /home.
In order to make a rollback possible, this has to contain all and every data that is needed for your manjaro to work properly! This includes:
* '''config''' of your bootloader (/boot/brub/grub.cfg)
* '''initramdisk''' (/boot/initramfs-5.10-x86_64.img)
* '''kernel''' (/boot/vmlinuz-5.10-x86_64)
* '''kernel-modules''' (/usr/lib/modules/5.10.59-1-MANJARO/*)
* programs (/usr/bin/*)
* configs (/etc/*)
* libraries (/usr/lib/*)
* your root account (/root/*)
* rest of system files (/usr/*)
=== subvolume '''@home''' ===
This is the subvolume where all '''user data''' ist stored. When you rollback your "@", this will not change at all. You may take snapshots of /home at a different rate and for different reasons. While snapshots of "@"  are good for rollback, snapshots of @homw are good for '''undeleting''' accidentally by users deleted (or overwritten) files.
=== subvolume '''@snapshots''', '''@home.snapshots''' ===
It is wise to "store" snapshots '''NOT inside''' the subvolume they where taken from. So this may be the right place to store your snapshots of '''@''' or '''@home'''.
=== subvolume '''@...''' ===
Sometimes it is desired to have other '''special snapshot strategies''' (or no snapshots at all) for some parts of the filesystem. If you need this, make another subvolume.


== snapshot ==
== snapshot ==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.