Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker_mit_btrfs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
admin_grundlagen:docker_mit_btrfs [2026/01/25 13:44]
ingo_wichmann gelöscht
— (aktuell)
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''​ 
-