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

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:btrfs [2026/02/23 15:55]
ingo_wichmann [BTRFS vorbereiten]
admin_grundlagen:docker:btrfs [2026/03/21 14:49] (aktuell)
ingo_wichmann
Zeile 3: Zeile 3:
 ===== BTRFS vorbereiten ===== ===== BTRFS vorbereiten =====
 Voraussetzungen:​ Voraussetzungen:​
-  * kernel unterstützt BTRFS ((+  * kernel unterstützt ​[[lpi2::​btrfs|BTRFS]] ((
  
   modinfo btrfs   modinfo btrfs
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
-  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
 +
 +===== containerd Daten ins Docker-Verzeichnis verschieben =====
 +ab Docker Version 29.0 ist containerd das default Storage Backend
 +  dockerd --version
 +  docker info -f '{{ .DriverStatus }}'
 +-> enthält: ''​driver-type io.containerd.snapshotter.v1''​
 +
 +  systemctl stop docker.socket docker.service containerd.service
 +<file txt /​etc/​containerd/​config.toml>​
 +
 +root = "/​var/​lib/​docker/​containerd"​
 +
 +</​file>​
 +  cd /var/lib
 +  mv containerd/ docker
 +  ln -s docker/​containerd containerd
  
 ===== 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 
- 
-  systemctl start docker.socket 
  
 +  systemctl start docker.socket docker.service containerd.service
 +++++ ohne containerd: |
 +  systemctl start docker.socket docker.socket
 +++++
 ===== Snapshot erstellen ===== ===== Snapshot erstellen =====
 aktuell aktives Docker-Subvolume ermitteln: aktuell aktives Docker-Subvolume ermitteln:
Zeile 50: Zeile 63:
   cd /mnt/btrfs   cd /mnt/btrfs
   btrfs subvolume get-default .   btrfs subvolume get-default .
--> ID 472 gen 428819 top level 5 path **20xxxxxx00**+-> Subvolume merken: ''​ID 472 gen 428819 top level 5 path **20xxxxxx00**''​
  
-Container stoppen: +=== Container stoppen ​=== 
-  systemctl stop docker.socket docker.service +  systemctl stop docker.socket docker.service ​containerd.service 
-Snapshot erstellen+++++ ohne containerd: | 
 +  systemctl stop docker.socket docker.socket 
 +++++ 
 +=== Snapshot erstellen ​===
   btrfs subvolume snapshot 20xxxxxx00 $(date '​+%Y%m%d'​)01   btrfs subvolume snapshot 20xxxxxx00 $(date '​+%Y%m%d'​)01
-Container starten: + 
-  systemctl start docker.socket+=== Container starten ​=== 
 +  systemctl start docker.socket docker.service containerd.service 
 +++++ ohne containerd| 
 +  systemctl start docker.socket ​docker.service 
 +++++ 
 +=== Starten überprüfen === 
   watch docker ps   watch docker ps
  
admin_grundlagen/docker/btrfs.1771862113.txt.gz · Zuletzt geändert: 2026/02/23 15:55 von ingo_wichmann