modinfo btrfs modprobe btrfs grep btrfs /proc/filesystems→ Sollte bei Debian, Ubuntu und SuSE
btrfs
ausgeben. RedHat unterstützt BTRFS nicht.
Voraussetzungen:
btrfs-progs
lsblk mkfs.btrfs /dev/sdaX
→ UUID merken, kommt später in die /etc/fstab
mount -m /dev/sdaX /mnt/btrfs cd /mnt/btrfs btrfs subvolume create $(date '+%Y%m%d')00 btrfs subvolume show $(date '+%Y%m%d')00
→ Subvolume ID merken und statt 20xxxxxx00 einsetzen:
btrfs subvolume set-default 20xxxxxx00 .
systemctl stop docker.socket systemctl stop docker.service cd /var/lib/ du -sh docker df -h .
→ ist genug Platz für ein Backup?
tar -caf docker.tar.zst docker/ shopt -s dotglob rm -rf docker/*
… # device during installation: /dev/sdaX UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /var/lib/docker btrfs rw 0 2 UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/btrfs btrfs noauto,subvolid=5,subvol=/ 0 2
mount -av tar -xf docker.tar.zst rm docker.tar.zst
systemctl start docker.service
aktuell aktives Docker-Subvolume ermitteln:
mount /mnt/btrfs cd /mnt/btrfs btrfs subvolume get-default .
→ ID 472 gen 428819 top level 5 path 20xxxxxx00 Container stoppen:
systemctl stop docker.socket systemctl stop docker.service
Snapshot erstellen
btrfs subvolume snapshot 20xxxxxx00 $(date '+%Y%m%d')01
Container starten:
systemctl start docker.socket watch docker ps
{ "storage-driver": "btrfs" }
systemctl start docker.socket systemctl start docker.service
prüfen:
docker info
→ Storage Driver: btrfs
modinfo btrfs modprobe btrfs grep btrfs /proc/filesystems→ Sollte bei Debian, Ubuntu und SuSE
btrfs
ausgeben. RedHat unterstützt BTRFS nicht.