mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# BTRFS
|
|
|
|
## TL;DR
|
|
|
|
```shell
|
|
# create a volume with single metadata and double data blocks (useless but good example)
|
|
sudo mkfs.btrfs --metadata single --data dup /dev/sdb
|
|
|
|
# sparse a volume on multiple devices
|
|
sudo mkfs.btrfs --label data /dev/sd{a,c,d,e,f,g} --force
|
|
echo "LABEL=data /mnt/data btrfs compress=zstd 0 0" | sudo tee -a /etc/fstab
|
|
|
|
# create a readonly snapshot of a subvolume
|
|
sudo btrfs subvolume snapshot -r /mnt/btrfs-volume/data /mnt/btrfs-volume/snapshot
|
|
|
|
# delete a subvolume
|
|
sudo btrfs subvolume delete --commit-each /mnt/btrfs-volume/data
|
|
|
|
# deduplicate a volume's blocks
|
|
sudo duperemove -Adrh --hashfile=/tmp/duperemove.hash /mnt/volume1 /mnt volume2
|
|
sudo jdupes --dedupe --recurse --softabort /mnt/btrfs-volume
|
|
|
|
# send and receive snapshots
|
|
sudo btrfs send /source-dir/.snapshots/snapshot | sudo btrfs receive /dest-dir/.snapshots/
|
|
|
|
# get the properties of a subvolume/filesystem/inode/device
|
|
btrfs property get -ts /path/to/subvolume
|
|
btrfs property get -tf /path/to/filesystem
|
|
btrfs property get -ti /path/to/inode
|
|
btrfs property get -td /path/to/device
|
|
btrfs property get /path/to/autoselected/type/of/resource
|
|
|
|
# change a subvolume to ro on the fly
|
|
btrfs property set -ts /path/to/subvolume ro true
|
|
|
|
# get info about a path
|
|
sudo btrfs subvolume show /path/to/subvolume
|
|
|
|
# check the compress ratio of a compressed path
|
|
sudo compsize /mnt/btrfs-volume
|
|
```
|
|
|
|
## Check differences between 2 snapshots
|
|
|
|
See also [snapper].
|
|
|
|
```shell
|
|
sudo btrfs send --no-data -p /old/snapshot /new/snapshot | sudo btrfs receive --dump
|
|
|
|
# requires you to be using snapper for your snapshots
|
|
sudo snapper -c config diff 445..446
|
|
```
|
|
|
|
## Further readings
|
|
|
|
- [Gentoo wiki]
|
|
- [Snapper]
|
|
- [does btrfs have an efficient way to compare snapshots?]
|
|
- [determine if a btrfs subvolume is read-only]
|
|
|
|
[snapper]: snapper.md
|
|
|
|
[gentoo wiki]: https://wiki.gentoo.org/wiki/Btrfs
|
|
|
|
[determine if a btrfs subvolume is read-only]: https://unix.stackexchange.com/questions/375645/determine-if-btrfs-subvolume-is-read-only#375646
|
|
[does btrfs have an efficient way to compare snapshots?]: https://serverfault.com/questions/399894/does-btrfs-have-an-efficient-way-to-compare-snapshots#419444
|