Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:btrfs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:btrfs [2026/03/20 16:34] – ingo_wichmannadmin_grundlagen:docker:btrfs [2026/05/03 09:07] (aktuell) – ingo_wichmann
Zeile 1: Zeile 1:
 ====== Docker mit BTRFS als Storage ====== ====== Docker mit BTRFS als Storage ======
 +Hier geht es darum, alles was in Docker ist mit Snapshots sichern zu können. Und nicht um [[https://docs.docker.com/storage/storagedriver/btrfs-driver/| Docker mit BTRFS statt overlay ]]
  
 ===== BTRFS vorbereiten ===== ===== BTRFS vorbereiten =====
Zeile 14: Zeile 15:
   * 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
-  btrfs subvolume show $(date '+%Y%m%d')00 
--> Subvolume ID merken 
   btrfs subvolume set-default $(date '+%Y%m%d')00   btrfs subvolume set-default $(date '+%Y%m%d')00
  
Zeile 41: Zeile 42:
  
 ===== 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 70: Zeile 64:
   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
- 
-====== Docker mit BTRFS statt overlay ====== 
-siehe auch https://docs.docker.com/storage/storagedriver/btrfs-driver/ 
-<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.1774024452.txt.gz · Zuletzt geändert: 2026/03/20 16:34 von ingo_wichmann