====== BTRFS ======
* [[https://journaldunadminlinux.fr/presentation-de-btrfs-et-comment-migrer/]]
* [[https://connect.ed-diamond.com/Linux-Pratique/LP-114/Realiser-une-sauvegarde-et-la-restaurer-avec-Btrfs]]
* [[https://wiki.archlinux.org/index.php/Btrfs]]
* [[https://debian-facile.org/doc:systeme:btrfs]]
* [[https://debian-facile.org/doc:systeme:btrfs-root-install-subvol]]
* [[https://debian-facile.org/doc:systeme:btrfs-sauvegarde]]
* [[https://ramsdenj.com/2016/04/05/using-btrfs-for-easy-backup-and-rollback.html]]
* [[https://unix.stackexchange.com/questions/62802/move-a-linux-installation-using-btrfs-on-the-default-subvolume-subvolid-0-to-a]]
==== Snapshots ====
[[https://linuxfr.org/news/btrfs-snapshot-et-rollback-sur-votre-systeme-gnu-linux]]
Toutes les commandes se font en root.
== Créer un snapshot ==
mkdir /.snapshots
btrfs subvol snapshot / /.snapshots/01
== Lister les sous-volumes ==
btrfs subvol list /
== Restorer un snapshot ==
btrfs subvolume set-default 261 /
Le numéro correspond à l'ID du snapshot qu'on souhaite restorer.
On peut vérifier que la commande a bien été prise en compte:
btrfs subvol get-default /
Redémarrer la machine pour que les modifications prennent effet.
---------------------
==== Problème d'espace disque ====
* [[https://serverfault.com/questions/790464/btrfs-no-space-left-on-device-but-btrfs-command-says-otherwise/791631]]
* [[http://marc.merlins.org/perso/btrfs/post_2014-05-04_Fixing-Btrfs-Filesystem-Full-Problems.html]]
Connaître l'occupation du système de fichiers, selon BTRFS:
sudo btrfs filesystem usage /
sudo btrfs filesystem df /
sudo btrfs fi show
=== Rééquilibrer les ressources ===
Si la dernière commande renvoie une utilisation d'un device qui se rapproche de sa capacité, lancer la commande suivante peut aider à réduire l'utilisation:
sudo btrfs balance start -dusage=55 /
Cette commande peut se lancer en étant sur le système monté. La valeur de ''dusage'' correspond (mais pas obligatoirement) au pourcentage d'utilisation indiqué par ''btrfs fi show''. Lancer la commande plusieurs fois, en augmentant progressivement cette valeur, jusqu'à se rapprocher du pourcentage d'occupation.
Si cette commande échoue par manque de place, il est possible d'utiliser un fichier sur un autre support de stockage pour étendre les capacités du système BTRFS:
touch foo
dd if=/dev/zero of=foo bs=1G count=3
sudo losetup -v -f foo # utiliser l'application graphique Disques pour connaître le /dev/loop correspondant
sudo btrfs device add /dev/loop0 /
sudo btrfs balance start -dusage=55 /
sudo btrfs device delete /dev/loop0 /
==== btrbk ====
* https://digint.ch/btrbk/
* [[https://wiki.calculate-linux.org/btrbk|Backup of Btrfs subvolumes with Btrbk]]
* [[https://wiki.gentoo.org/wiki/Btrbk]]
==== Opérations depuis un live CD ====
Utiliser un [[https://www.debian.org/CD/live/#__do_not_save__|live CD Debian]] et booter dessus.
sudo apt update
sudo apt install btrfs-progs
sudo btrfs check zero-log /dev/mapper/nom-du-volume-lvm # par exemple
Si le montage fonctionne :
sudo mkdir /mnt/dd
sudo mount /dev/mapper/nom-du-volume-lvm /mnt/dd