Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2: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
lpi2:btrfs [2025/01/13 10:43]
ingo_wichmann
lpi2:btrfs [2025/10/04 10:30] (aktuell)
ingo_wichmann [Daten komprimieren]
Zeile 1: Zeile 1:
 ====== btrfs ====== ====== btrfs ======
 +Status: ​
 +  * https://​btrfs.readthedocs.io/​en/​stable/​Status.html
 +  * https://​silvenga.com/​posts/​btrfs-and-lessons-learned/​
  
 Paket: ​ Paket: ​
-  * Debian: ''​btrfs-progs''​+  * Debian: ''​btrfs-progs ​btrfsmaintenance''​
  
 ===== Dateisystem anlegen ===== ===== Dateisystem anlegen =====
Zeile 13: Zeile 16:
   mkfs.btrfs /dev/sda2   mkfs.btrfs /dev/sda2
   btrfs filesystem show   btrfs filesystem show
-  ​mkdir /​mnt/​btrfs +  mount -m -o noatime ​/dev/sda2 /mnt/btrfs 
-  ​mount /dev/sda2 /mnt/btrfs+(( TODO: [[https://​wiki.tnonline.net/​w/​Blog/​The_case_for_(no)_atime_on_Linux|noatime]] nachvollziehen 
 +))
   cd /mnt/btrfs   cd /mnt/btrfs
  
 Beispieldaten hinein kopieren: Beispieldaten hinein kopieren:
   time cp -a /usr/share/ .   time cp -a /usr/share/ .
 +
 +===== Reflink / CoW =====
 +
 +Schnelle Kopien dank reflink/​CoW:​
 +  time cp -a share/ share2
  
 ===== Daten komprimieren ===== ===== Daten komprimieren =====
-Daten komprimieren:​ +Daten komprimieren: ​(( Data loss on rotated journal files on BTRFS volumes using compression:​ https://​github.com/​systemd/​systemd/​issues/​9112 )) ((Mehr Datenverbrauch durch Defragmentation:​ [[https://​btrfs.readthedocs.io/​en/​latest/​Defragmentation.html|Defragmentation does not preserve extent sharing, e.g. files created by cp --reflink or existing on multiple snapshots. Due to that the data space consumption may increase.]] )) 
-  btrfs filesystem df -h share/+  btrfs filesystem df -h .
 -> ''​Data,​ single: total=2.01GiB,​ used=1.53GiB''​ -> ''​Data,​ single: total=2.01GiB,​ used=1.53GiB''​
   btrfs filesystem defragment -czstd -r share/   btrfs filesystem defragment -czstd -r share/
-  btrfs filesystem df -h share/+  btrfs filesystem df -h .
 -> ''​Data,​ single: total=3.01GiB,​ used=740.17MiB''​ -> ''​Data,​ single: total=3.01GiB,​ used=740.17MiB''​
 +  btrfs filesystem usage .
 ===== Subvolumes ===== ===== Subvolumes =====
 Informationen über das top-level Subvolume anzeigen: Informationen über das top-level Subvolume anzeigen:
Zeile 62: Zeile 71:
   btrfs subvolume snapshot -r subvol2 snap_ro1   btrfs subvolume snapshot -r subvol2 snap_ro1
  
-  btrfs filesystem ​df -h .+  btrfs filesystem ​usage .
   btrfs filesystem du -s --human-readable .   btrfs filesystem du -s --human-readable .
   du -sh .   du -sh .
Zeile 69: Zeile 78:
   du -sh subvol2   du -sh subvol2
   btrfs filesystem du -s --human-readable snap1   btrfs filesystem du -s --human-readable snap1
 +
 +===== Backup mit send und receive =====
 +==== Initiales Vollbackup ====
 +Read-only Snapshot erstellen:
 +  btrfs subvolume snapshot -r subvol2 snap_ro2
 +Backup übertragen:​
 +  btrfs send snap_ro2 | ssh 192.168.122.74 btrfs receive /mnt/btrfs
 +((
 +Mit ''​pv''​ Datenmenge anzeigen:
 +  btrfs send -p snap_ro2 | pv | ssh 192.168.122.74 btrfs receive /mnt/btrfs
 +))
 +==== Inkrement ====
 +Daten ändern:
 +  touch subvol2/​status
 +  date -r subvol2/​status
 +Read-only Snapshot erstellen:
 +  btrfs subvolume snapshot -r subvol2 snap_ro3
 +Backup übertragen:​
 +  btrfs send -p snap_ro2 snap_ro3 | ssh 192.168.122.74 btrfs receive /mnt/btrfs
 +Testen, ob Daten angekommen sind:
 +  ssh 192.168.122.74 date -r /​mnt/​btrfs/​snap_ro3/​status
  
 ===== Subvolume zum default-Volume machen ===== ===== Subvolume zum default-Volume machen =====
Zeile 89: Zeile 119:
   ls btrfs   ls btrfs
  
-===== Subvolume mounten ===== +===== Top-Subvolume mounten ===== 
-  mkdir /mnt/subvol +  mkdir /mnt/btrfs 
-  mount -o subvolid=5 /dev/sda2 /​mnt/​subvol +  mount -o subvolid=5,​subvol=/ ​/dev/sda2 /mnt/btrfs 
-===== SuSE =====+<file txt /​etc/​fstab>​ 
 +UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/btrfs btrfs noauto,​subvolid=5,​subvol=/ 0 0 
 +</​file>​ 
 + 
 +===== Datenträger tauschen ===== 
 +==== langsam ==== 
 +  btrfs device usage . 
 +  btrfs device add /dev/sda6 . 
 +  btrfs device usage . 
 +  btrfs device del /dev/sda2 . 
 +  watch -d btrfs filesystem usage -T . 
 + 
 +==== schneller & fehlertoleranter ==== 
 +  # btrfs replace start <id> <​new-disk>​ <​mount-point>​ 
 +  btrfs   ​replace start 1    /​dev/​sda6 ​ . 
 +  btrfs replace status . 
 + 
 +== Doku == 
 +  * https://​wiki.tnonline.net/​w/​Btrfs/​Replacing_a_disk 
 +  * [[https://​btrfs.readthedocs.io/​en/​latest/​btrfs-replace.html|man btrfs-replace]] 
 +===== Dateisystem vergrößern ===== 
 +Datenträger/​Volume auf dem das BTRFS liegt vergrößern,​ dann: 
 +  btrfs device usage . 
 +  btrfs filesystem resize max . 
 +  btrfs device usage . 
 + 
 +===== zum RAID1 erweitern ===== 
 +  btrfs device add /dev/vde . 
 +  btrfs -v balance start -mconvert=raid1,​soft -dconvert=raid1,​soft . 
 +  btrfs device usage . 
 + 
 +====== BTRFS bei SuSE ======
 ++++ SuSE default root layout | ++++ SuSE default root layout |
 SuSE default: SuSE default:
lpi2/btrfs.1736764999.txt.gz · Zuletzt geändert: 2025/01/13 10:43 von ingo_wichmann