Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:btrfs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

admin_grundlagen:docker:btrfs [2026/01/25 13:45] (aktuell)
ingo_wichmann angelegt
Zeile 1: Zeile 1:
 +====== Docker mit BTRFS als Storage ======
 +siehe auch https://​docs.docker.com/​storage/​storagedriver/​btrfs-driver/​
 +
 +===== BTRFS vorbereiten =====
 +Voraussetzungen:​
 +  * kernel unterstützt BTRFS ((
 +
 +  modinfo btrfs
 +  modprobe btrfs
 +  grep btrfs /​proc/​filesystems
 +-> Sollte bei Debian, Ubuntu und SuSE ''​btrfs''​ ausgeben. RedHat unterstützt BTRFS nicht. ​
 +))
 +  * Paket:
 +    * Debian (ab 12): ''​btrfs-progs''​
 +  * Freie Partition oder freies Logical Volume
 +
 +  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
 +
 +===== Docker Daten in BTRFS verschieben =====
 +  systemctl stop docker.socket 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/*
 +<file txt /​etc/​fstab>​
 +
 +# 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,​subvol=/​ 0 2
 +</​file>​
 +  mount -av
 +  tar -xf docker.tar.zst
 +  rm docker.tar.zst
 +
 +  systemctl start docker.socket
 +
 +===== 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 statt overlay ======
 +<code json /​etc/​docker/​daemon.json>​
 +{
 +  "​storage-driver":​ "​btrfs"​
 +}
 +</​code>​
 +  systemctl start docker.socket
 +  systemctl start docker.service
 +
 +prüfen:
 +  docker info
 +-> ''​Storage Driver: btrfs''​
 +
  
admin_grundlagen/docker/btrfs.txt · Zuletzt geändert: 2026/01/25 13:45 von ingo_wichmann