lpi2:btrfs
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| lpi2:btrfs [2025/01/13 10:42] – [Subvolume zum default-Volume machen] ingo_wichmann | lpi2:btrfs [2026/09/16 13:02] (aktuell) – ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== btrfs ====== | ====== btrfs ====== | ||
| + | Status: | ||
| + | * https:// | ||
| + | * https:// | ||
| Paket: | Paket: | ||
| - | * Debian: '' | + | * Debian: '' |
| + | * RockyLinux: '' | ||
| ===== Dateisystem anlegen ===== | ===== Dateisystem anlegen ===== | ||
| - | ext? nach btrfs konvertieren: | + | ++++ ext? nach btrfs konvertieren |
| man btrfs-convert | man btrfs-convert | ||
| - | + | ++++ | |
| - | oder besser: | + | |
| Dateisystem anlegen und mounten: | Dateisystem anlegen und mounten: | ||
| mkfs.btrfs /dev/sda2 | mkfs.btrfs /dev/sda2 | ||
| btrfs filesystem show | btrfs filesystem show | ||
| - | | + | mount -m -o noatime |
| - | | + | (( TODO: [[https:// |
| + | )) | ||
| 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/ | ||
| + | time cp -a share/ share2 | ||
| ===== Daten komprimieren ===== | ===== Daten komprimieren ===== | ||
| - | Daten komprimieren: | + | Daten komprimieren: |
| - | btrfs filesystem df -h share/ | + | btrfs filesystem df -h . |
| -> '' | -> '' | ||
| btrfs filesystem defragment -czstd -r share/ | btrfs filesystem defragment -czstd -r share/ | ||
| - | btrfs filesystem df -h share/ | + | btrfs filesystem df -h . |
| -> '' | -> '' | ||
| + | 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 | + | btrfs filesystem |
| 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 '' | ||
| + | btrfs send -p snap_ro2 | pv | ssh 192.168.122.74 btrfs receive /mnt/btrfs | ||
| + | )) | ||
| + | ==== Inkrement ==== | ||
| + | Daten ändern: | ||
| + | touch subvol2/ | ||
| + | date -r subvol2/ | ||
| + | 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 / | ||
| ===== Subvolume zum default-Volume machen ===== | ===== Subvolume zum default-Volume machen ===== | ||
| Zeile 74: | Zeile 104: | ||
| Snapshot des root-Volumes erstellen: | Snapshot des root-Volumes erstellen: | ||
| btrfs subvolume snapshot . 2025011300 | btrfs subvolume snapshot . 2025011300 | ||
| - | Daten (nicht Subvolumes!) aus root-Volume löschen: | ||
| - | ls 2025011300 | xargs echo rm -rf | ||
| - | -> prüfen, das da keine Verzeichnisse mit verschachtelten Subvolumes enthalten sind | ||
| - | ls 2025011300 | xargs rm -rf | ||
| btrfs subvolume show 2025011300 | btrfs subvolume show 2025011300 | ||
| -> '' | -> '' | ||
| btrfs subvolume set-default 256 2025011300/ | btrfs subvolume set-default 256 2025011300/ | ||
| + | Daten (nicht Subvolumes!) aus root-Volume löschen: | ||
| + | rm -rf --one-file-system /mnt/btrfs | ||
| testen: | testen: | ||
| Zeile 89: | Zeile 117: | ||
| ls btrfs | ls btrfs | ||
| - | ===== Subvolume mounten ===== | + | ===== Top-Subvolume mounten ===== |
| - | mkdir /mnt/subvol | + | mkdir /mnt/btrfs |
| - | mount -o subvolid=5 /dev/sdb / | + | mount -o subvolid=5, |
| - | ===== SuSE ===== | + | <file txt / |
| + | UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/btrfs btrfs noauto, | ||
| + | </ | ||
| + | |||
| + | ===== 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> < | ||
| + | btrfs | ||
| + | btrfs replace status . | ||
| + | |||
| + | == Doku == | ||
| + | * https:// | ||
| + | * [[https:// | ||
| + | ===== Dateisystem vergrößern ===== | ||
| + | Datenträger/ | ||
| + | btrfs device usage . | ||
| + | btrfs filesystem resize max . | ||
| + | btrfs device usage . | ||
| + | |||
| + | ===== zum RAID1 erweitern ===== | ||
| + | btrfs device add /dev/vde . | ||
| + | btrfs -v balance start -mconvert=raid1, | ||
| + | btrfs device usage . | ||
| + | |||
| + | ====== BTRFS bei SuSE ====== | ||
| ++++ SuSE default root layout | | ++++ SuSE default root layout | | ||
| SuSE default: | SuSE default: | ||
lpi2/btrfs.1736764966.txt.gz · Zuletzt geändert: 2025/01/13 10:42 von ingo_wichmann
