Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:docker:btrfs [2026/03/21 14:31] ingo_wichmann [BTRFS vorbereiten] |
admin_grundlagen:docker:btrfs [2026/03/21 14:49] (aktuell) ingo_wichmann |
||
|---|---|---|---|
| Zeile 14: | Zeile 14: | ||
| * Freie Partition oder freies Logical Volume | * Freie Partition oder freies Logical Volume | ||
| + | du -sh /var/lib/docker | ||
| lsblk | lsblk | ||
| - | mkfs.btrfs /dev/sdaX | + | -> Blockdevice mit genug Platz wählen. |
| + | mkfs.btrfs /dev/xxx | ||
| -> UUID merken, kommt später in die ''/etc/fstab'' | -> UUID merken, kommt später in die ''/etc/fstab'' | ||
| - | mount -m /dev/sdaX /mnt/btrfs | + | mount -m /dev/xxx /mnt/btrfs |
| cd /mnt/btrfs | cd /mnt/btrfs | ||
| btrfs subvolume create $(date '+%Y%m%d')00 | btrfs subvolume create $(date '+%Y%m%d')00 | ||
| Zeile 39: | Zeile 41: | ||
| ===== Docker Daten in BTRFS verschieben ===== | ===== Docker Daten in BTRFS verschieben ===== | ||
| - | systemctl stop docker.socket docker.service | + | systemctl stop docker.socket docker.service containerd.service |
| cd /var/lib/ | cd /var/lib/ | ||
| - | du -sh docker | ||
| - | df -h . | ||
| - | -> ist genug Platz für ein Backup? | ||
| - | tar -caf docker.tar.zst docker/ | ||
| shopt -s dotglob | shopt -s dotglob | ||
| - | rm -rf docker/* | + | mv docker/* /mnt/btrfs/$(date '+%Y%m%d')00 |
| <file txt /etc/fstab> | <file txt /etc/fstab> | ||
| … | … | ||
| - | # device during installation: /dev/sdaX | + | # device during installation: /dev/xxx |
| UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /var/lib/docker btrfs rw 0 2 | UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /var/lib/docker btrfs rw 0 2 | ||
| UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/btrfs btrfs noauto,subvol=/ 0 2 | UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/btrfs btrfs noauto,subvol=/ 0 2 | ||
| </file> | </file> | ||
| mount -av | mount -av | ||
| - | tar -xf docker.tar.zst | ||
| - | rm docker.tar.zst | ||
| - | mit containerd: | ||
| systemctl start docker.socket docker.service containerd.service | systemctl start docker.socket docker.service containerd.service | ||
| - | ohne containerd: | + | ++++ ohne containerd: | |
| systemctl start docker.socket docker.socket | systemctl start docker.socket docker.socket | ||
| + | ++++ | ||
| ===== Snapshot erstellen ===== | ===== Snapshot erstellen ===== | ||
| aktuell aktives Docker-Subvolume ermitteln: | aktuell aktives Docker-Subvolume ermitteln: | ||
| Zeile 68: | Zeile 63: | ||
| cd /mnt/btrfs | cd /mnt/btrfs | ||
| btrfs subvolume get-default . | btrfs subvolume get-default . | ||
| - | -> Subvolume ID merken: ''ID 472 gen 428819 top level 5 path **20xxxxxx00**'' | + | -> Subvolume merken: ''ID 472 gen 428819 top level 5 path **20xxxxxx00**'' |
| === Container stoppen === | === Container stoppen === | ||
| - | mit containerd: | ||
| systemctl stop docker.socket docker.service containerd.service | systemctl stop docker.socket docker.service containerd.service | ||
| - | ohne containerd: | + | ++++ ohne containerd: | |
| systemctl stop docker.socket docker.socket | systemctl stop docker.socket docker.socket | ||
| + | ++++ | ||
| === Snapshot erstellen === | === Snapshot erstellen === | ||
| btrfs subvolume snapshot 20xxxxxx00 $(date '+%Y%m%d')01 | btrfs subvolume snapshot 20xxxxxx00 $(date '+%Y%m%d')01 | ||
| === Container starten === | === Container starten === | ||
| - | mit containerd: | ||
| systemctl start docker.socket docker.service containerd.service | systemctl start docker.socket docker.service containerd.service | ||
| - | ohne containerd: | + | ++++ ohne containerd: | |
| systemctl start docker.socket docker.service | systemctl start docker.socket docker.service | ||
| + | ++++ | ||
| === Starten überprüfen === | === Starten überprüfen === | ||
| watch docker ps | watch docker ps | ||