Bearbeiten von „BtrFS“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 5: Zeile 5:


= Erstellen =
= Erstellen =
* Paket: btrfs-progs
* '''Achtung''': Immer Partitionsschema anlegen (fdisk...). Ohne geht auch, aber mit Einschränkungen (grub...)
* '''Achtung''': Immer Partitionsschema anlegen (fdisk...). Ohne geht auch, aber mit Einschränkungen (grub...)
<pre>mkfs.btrfs -L debian10 /dev/sdb1
<pre>mkfs.btrfs -L debian10 /dev/sdb1
btrfs filesystem label /dev/sdb1 debian10
btrfs filesystem label /dev/sdb1 debian10
# oder RAID1 für Daten (-d) und Metadaten (-m):
# oder RAID1 für Daten (-d) und Metadaten (-m):
mkfs.btrfs -m raid1 -d raid1 /dev/sdb1 /dev/sdc1 -f
mkfs.btfs -m raid1 -d raid1 /dev/sdb1 /dev/sdc1 -f
# Anzeigen:
# Anzeigen:
btrfs filesystem usage /media/work
btrfs filesystem usage /media/work
# Späteres Hinzufügen:
# Späteres Hinzufügen:
# btrfs device NEWDEVICE OLDDEVICE
btrfs device add -f /dev/sdd1 /media/work
btrfs device add -f /dev/sdd1 /media/work
# Balance notwendig!
# Balance notwendig!
Zeile 20: Zeile 18:
btrfs balance start -dconvert=raid1 -mconvert=raid1 /media/work
btrfs balance start -dconvert=raid1 -mconvert=raid1 /media/work
</pre>
</pre>
== /etc/fstab ==
<pre>
LABEL=fs.bullseye / btrfs  defaults,noatime,nodiratime,compress=zstd,autodefrag,subvol=@rootfs 0 0
LABEL=fs.bullseye /media/fs.sys btrfs defaults,noatime,nodiratime,compress=zstd,autodefrag,subvolid=5 0 0
</pre>
= Kommandos =
= Kommandos =
<pre>
<pre>
Zeile 50: Zeile 42:
# Kompression anzeigen:
# Kompression anzeigen:
compsize /media/work
compsize /media/work
</pre>
== Info ==
<pre>
btrfs device scan [/dev/sda6]
btrfs device usage /media/work
# Fehlerstatistik:
btrfs device stats /media/work
btrfs filesystem df
#Data, single: total=20.00GiB, used=11.97GiB
#System, single: total=32.00MiB, used=16.00KiB
#Metadata, single: total=1.50GiB, used=568.47MiB
#GlobalReserve, single: total=38.27MiB, used=0.00B
btrfs filesystem du -s /media/work/backup
#    Total  Exclusive  Set shared  Filename
#  18.80GiB    7.82GiB    4.15GiB  /media/fs.system


# Info:
btrfs filesystem show /media/work
btrfs filesystem show /media/work
# Total devices 1 FS bytes used 12.53GiB
btrfs filesystem df /media/work
# devid    1 size 32.00GiB used 21.53GiB path /dev/sda6
 
btrfs subvol list /media/
# nur Snapshots:
btrfs subvol list -s /media/work
btrfs check --readonly -Q -E -p --force /dev/sda6
# Fehlerstatistik:
btrfs device stats /media/work
</pre>
* sehr selten:
<pre>
# Extend-Status für Subvol 258 anzeigen:
btrfs check --readonly -E 258 --force /dev/sda6
</pre>
</pre>


Zeile 90: Zeile 53:
btrfs subvolume list /media/work | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup create 0/{} /media/work
btrfs subvolume list /media/work | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup create 0/{} /media/work
btrfs quota rescan /media/work
btrfs quota rescan /media/work
btrfs quota limit <group> <size>G path
btrfs qgroup limit 0/256 32G path
# option -e: unshared limit -c: compressed limit
btrfs btrfs qgroup show -reF path
</pre>
</pre>
* qgroups sind Nummern <level>/<id>
* qgroups sind Nummern <level>/<id>
Zeile 154: Zeile 113:
<pre>
<pre>
btrfs subvolume snapshot -r /media/work/backup /media/snapshots/dayly/backup.mon
btrfs subvolume snapshot -r /media/work/backup /media/snapshots/dayly/backup.mon
# Löschen:
btrfs subvol delete /media/fs.sys/snapshots/@rootfs/monthly/02
</pre>
</pre>


Zeile 169: Zeile 126:
btrfs balance status /media/work
btrfs balance status /media/work
</pre>
</pre>
== Balance bei "vollem" Laufwerk" ==
<source lang=bash>
btrfs balance start -v -dusage=0 /mnt/btrfs
# wenn das durch ist:
btrfs balance start -v -dusage=10 /mnt/btrfs
</source>
== Balance mit zusätzlicher Partition ==
<source lang=bash>
#hier: die "volle" btrfs-Partition ist /dev/sdx1
mount /dev/sdx1 /media/trg
# Platz auf /dev/sdy2 dazufügen:
btrfs device add /dev/sdy2 /media/trg
btrfs balance start /media/trg
# Zusatzspeicher wieder entfernen:
btrfs device delete /dev/sdy2 /media/trg
</source>
== Balance mit Image als Zusatzspeicher ==
<source lang=bash>
#Anlegen eines Mountpoints
#mounten des "vollen" btrfs-Dateisystems
mount /dev/sdx2 /media/trg
mount /dev/sdy5 /media/tmp
#4GB-Image-Datei erstellen
dd if=/dev/zero of=externalfs/extend.img bs=1M count=4096
#Loop-Device loop10 über die Image-Datei erstellen
losetup /dev/loop10 /media/tmp/big_data.img
#Hinzufügen der Image-Datei zum "vollen" btrfs-Dateisystem
btrfs device add /dev/loop0 /media/trg
btrfs balance start /media/trg
#Image-Datei vom btrfs-Dateisystem wieder entfernen
btrfs device delete /dev/loop0 /media/trg
</source>


= Umbau / Fehlerfall =
= Umbau / Fehlerfall =
Zeile 218: Zeile 143:
<pre>btrfs device scan
<pre>btrfs device scan
btrfs device scan /dev/sda
btrfs device scan /dev/sda
</pre>
= Send/Receive =
* effiziente Möglichkeit, Subvolumes zu kopieren.
== Komplette Kopie ==
<pre>
btrfs send /home/BACKUP | btrfs receive /backup/home
</pre>
== Differenzielle Kopie ==
* Initialisierung:
<pre>btrfs subvolume snapshot -r /home /home/BACKUP
btrfs send /home/BACKUP | btrfs receive /backup/home
# Es entsteht dann ein Subvolume /backup/home/BACKUP
</pre>
* Update:
<pre>btrfs subvolume snapshot -r /home /home/BACKUP-new
sync
btrfs send -p /home/BACKUP /home/BACKUP-new | btrfs receive /backup/home
btrfs subvolume delete /home/BACKUP
mv /home/BACKUP-new /home/BACKUP
btrfs subvolume delete /backup/home/BACKUP
mv /backup/home/BACKUP-new /backup/home/BACKUP
</pre>
= Notfall =
* [https://btrfs.wiki.kernel.org/index.php/Problem_FAQ btrfs-wiki-FAQ]
<pre>btrfs device scan
btrfs rescue
btrfs rescue super-recover -v
btrfs  check --init-extent-tree
# sichern von Daten nach <directory>:
btrfs restore -i <device> <directory>
</pre>
= chattr und lsattr =
<pre>chattr OPTION MODE FILE
</pre>
Options:
* -R rekursiv
* -V verbose
* -f Fehler werden unterdrückt
* -v VERSION Setzt für Datei Version/Generationsnummer
* -p PROJ Setzt Projektnummer
Hat ein Verzeichnis das Attribut c (compressed), dann auch alle Unterverzeichnisse
Modes:
* a: append only (a)
* A: no atime updates (A)
* c: compressed (c)
* C: no  copy on write (C)
* d: no dump (d)
* D: synchronous directory updates (D)
* e: extent format (e)
* i: immutable (i)
* j: data journalling (j)
* P: project hierarchy (P)
* s: secure deletion (s)
* S: synchronous updates (S)
* t: no tail-merging (t)
* T: top of directory hierarchy (T)
* u: undeletable (u)
<pre>lsattr OPT FILES
</pre>
Optionen:
* -R Rekursiv
* -V Verbose
* -a auch verborgene (Beginn mit .)
* -l Lang Namen ausgeben
* -p Projektnummer ausgeben
* -v Versionsnummer ausgeben
= Konvertierung zu RAID1 =
<pre>
mount /dev/sdb1 /mnt
btrfs device add /dev/sdc1 /mnt
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt
</pre>
</pre>

Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)