BtrFS: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „= Links = * VmHost = Erstellen = <pre>mkfs.btfs /dev/sdb # oder mkfs.btfs -d raid1 /dev/sdb /dev/sdc -f # Anzeigen: btrfs filesystem usage /media/work # S…“)
 
Zeile 3: Zeile 3:


= Erstellen =
= Erstellen =
* '''Achtung''': Immer Partitionsschema anlegen (fdisk...). Ohne geht auch, aber mit Einschränkungen (grub...)
<pre>mkfs.btfs /dev/sdb
<pre>mkfs.btfs /dev/sdb
# oder
# oder RAID1 für Daten (-d) und Metadaten (-m):
mkfs.btfs -d raid1 /dev/sdb /dev/sdc -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 add -f /dev/sdd /media/work
btrfs device add -f /dev/sdd1 /media/work
# Balance notwendig!
# Balance notwendig!
# Nachträglich zu RAID wandeln:
btrfs balance start -dconvert=raid1 -mconvert=raid1 /media/work
</pre>
</pre>


= Quota =
# Nachträglich einrichten:
<pre>btrfs quota enable /media/work
btrfs subvolume list /media/work | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup create 0/{} /media/work
btrfs quota rescan /media/work
</pre>
* qgroups sind Nummern <level>/<id>
** Level 0 ist voreingestellt, wenn Subvolume erzeugt wird
** <id> ist für Level 0 die Subvolume-ID, z.B. 0/5 ist die qgroup des Toplevel-Volumes
** <id> für Level > 0 ist frei wählbar
* Erklärung: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-quota
* Scripte, die Belegungen auflisten: https://btrfs.wiki.kernel.org/index.php/Quota_support
<pre>btrfs quota limit 100000000 0/6 /media/work
# Gruppe einrichten und nutzen (für 2 Subvolumes)
btrfs qgroup create 1/100 /media/work
btrfs qgroup assign 0/965 1/100 /media/work # subvolume a hat id 965
btrfs qgroup assign 0/966 1/100 /media/work # subvolume b hat id 966
btrfs qgroup show -reF /media/work
</pre>
= Einhängen =
= Einhängen =
<pre>mount /dev/sdb /media/work
<pre>mount /dev/sdb /media/work

Version vom 1. Oktober 2019, 15:27 Uhr

Links

Erstellen

  • Achtung: Immer Partitionsschema anlegen (fdisk...). Ohne geht auch, aber mit Einschränkungen (grub...)
mkfs.btfs /dev/sdb
# oder RAID1 für Daten (-d) und Metadaten (-m):
mkfs.btfs -m raid1 -d raid1 /dev/sdb1 /dev/sdc1 -f
# Anzeigen:
btrfs filesystem usage /media/work
# Späteres Hinzufügen:
btrfs device add -f /dev/sdd1 /media/work
# Balance notwendig!
# Nachträglich zu RAID wandeln:
btrfs balance start -dconvert=raid1 -mconvert=raid1 /media/work

Quota

  1. Nachträglich einrichten:
btrfs quota enable /media/work
btrfs subvolume list /media/work | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup create 0/{} /media/work
btrfs quota rescan /media/work
  • qgroups sind Nummern <level>/<id>
    • Level 0 ist voreingestellt, wenn Subvolume erzeugt wird
    • <id> ist für Level 0 die Subvolume-ID, z.B. 0/5 ist die qgroup des Toplevel-Volumes
    • <id> für Level > 0 ist frei wählbar
btrfs quota limit 100000000 0/6 /media/work
# Gruppe einrichten und nutzen (für 2 Subvolumes)
btrfs qgroup create 1/100 /media/work
btrfs qgroup assign 0/965 1/100 /media/work # subvolume a hat id 965
btrfs qgroup assign 0/966 1/100 /media/work # subvolume b hat id 966
btrfs qgroup show -reF /media/work

Einhängen

mount /dev/sdb /media/work
  • In /etc/fstab:
UUID=xxx /media/work btrfs defaults,subvol=@,compress,autodefrag 0 1

Subvolumes

Flaches Design

  • /etc/fstab:
LABEL=the-btrfs-fs-device  /     btrfs subvol=/root,defaults,noatime  0  0
LABEL=the-btrfs-fs-device       /home btrfs subvol=/home,defaults,noatime  0  0
btrfs subvolume create /media/work/root
btrfs subvolume create /media/work/home
btrfs subvolume list /media/work
btrfs subvolume delete /media/work/vm-store 

Snapshots

  • Wenn ein (schreibbarer) Schnappschuss erstellt wurde, gibt es keinen Unterschied zwischen Orginal und Schnappschuss.
  • Zurücksetzen (Rollback):
    • Orginal unmounten
    • mv zum Verschieben des alten Subvolumes an einen anderen Platz benutzen
    • mv zum Verschieben des Schnappschusses zum Orginal benutzen
    • Neu mounten

Balance

btrfs balance /media/work
# Verlauf testen
btrfs balance status /media/work
# Stoppen
btrfs balance pause /media/work
# Weitermachen
btrfs balance resume  /media/work

Umbau / Fehlerfall

btrfs device delete /dev/sda /media/data
# Bei einer defekten Festplatte kann das Dateisystem mit folgenden Befehl gemountet werden:
mount -o degraded,rw /dev/sda /media/work
# folgender Befehl ersetzt eine defekte Platte:
btrfs replace start 6 /dev/sdf1 /media/work
</dev>

= Info =
<pre>btrfs device scan
btrfs device scan /dev/sda