Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:docker_mit_btrfs [2025/03/28 15:12] ingo_wichmann |
admin_grundlagen:docker_mit_btrfs [2025/10/28 11:08] (aktuell) ingo_wichmann [Snapshot erstellen] |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== BTRFS vorbereiten ====== | + | ====== Docker mit BTRFS als Storage ====== |
| + | siehe auch https://docs.docker.com/storage/storagedriver/btrfs-driver/ | ||
| + | |||
| + | ===== BTRFS vorbereiten ===== | ||
| Voraussetzungen: | Voraussetzungen: | ||
| * kernel unterstützt BTRFS (( | * kernel unterstützt BTRFS (( | ||
| Zeile 14: | Zeile 17: | ||
| lsblk | lsblk | ||
| mkfs.btrfs /dev/sdaX | mkfs.btrfs /dev/sdaX | ||
| - | -> UUID in die Zwischenablage kopieren | + | -> UUID merken, kommt später in die ''/etc/fstab'' |
| - | mkdir /mnt/btrfs | + | mount -m /dev/sdaX /mnt/btrfs |
| - | mount /dev/sdaX /mnt/btrfs | + | |
| cd /mnt/btrfs | cd /mnt/btrfs | ||
| - | btrfs subvolume create $(date '+%Y%m%d') | + | btrfs subvolume create $(date '+%Y%m%d')00 |
| - | -> Subvolume ID merken und bei XXX einsetzen: | + | btrfs subvolume show $(date '+%Y%m%d')00 |
| - | btrfs subvolume set-default XXX $(date '+%Y%m%d')/ | + | -> Subvolume ID merken und statt 20xxxxxx00 einsetzen: |
| - | ====== Docker mit BTRFS als Storage ====== | + | btrfs subvolume set-default 20xxxxxx00 . |
| - | siehe auch https://docs.docker.com/storage/storagedriver/btrfs-driver/ | + | |
| ===== Docker Daten in BTRFS verschieben ===== | ===== Docker Daten in BTRFS verschieben ===== | ||
| Zeile 29: | Zeile 30: | ||
| cd /var/lib/ | cd /var/lib/ | ||
| du -sh docker | du -sh docker | ||
| + | df -h . | ||
| + | -> ist genug Platz für ein Backup? | ||
| tar -caf docker.tar.zst docker/ | tar -caf docker.tar.zst docker/ | ||
| shopt -s dotglob | shopt -s dotglob | ||
| Zeile 40: | Zeile 43: | ||
| mount -av | mount -av | ||
| tar -xf docker.tar.zst | tar -xf docker.tar.zst | ||
| + | rm docker.tar.zst | ||
| + | |||
| + | systemctl start docker.service | ||
| + | |||
| + | ===== Snapshot erstellen ===== | ||
| + | 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 docker.service | ||
| + | Snapshot erstellen | ||
| + | btrfs subvolume snapshot 20xxxxxx00 $(date '+%Y%m%d')01 | ||
| + | Container starten: | ||
| + | systemctl start docker.socket | ||
| + | watch docker ps | ||
| - | ===== Docker mit BTRFS starten ===== | + | ====== Docker mit BTRFS statt overlay ====== |
| <code json /etc/docker/daemon.json> | <code json /etc/docker/daemon.json> | ||
| { | { | ||