Sie sind nicht angemeldet.

1

13.12.2012, 09:09

BTRFS, ich habe mich getraut.

Keine Ahnung, ob ich mit diesem Beitrag hier richtig bin, aber etwas passenderes habe ich nicht gefunden.

Nachdem es bei Kernel 3.7 wieder eine Verbesserung bei der Performance von BTRFS gegeben hat, habe ich es mir gestern Abend mal etwas näher angesehen. Das letzte Mal war so vor irgendwo 2 Jahren, damals war die Performance noch nicht so dolle. Aktuell sieht es gut aus. Bis auf das Löschen von Dateien, welches gut 50% länger dauert, habe ich nichts Negatives gefunden im Vergleich zu ext4. Als ganz normales FS ist es so wohl zu gebrauchen.

Aber es gibt ja die Besonderheiten. Es ist doch schon was, wenn man vor jedem Update ein Snapshot von seinem System erstellt, auf welches man zurückgreifen kann, wenn etwas schief geht. Ein ganzes Backup tut man sich ja eher nicht an. Aber wie setzt man sein System dann auf den Snapshot zurück? Ich habe leider aktuell nur eine Auflistung der Befehle gefunden, keine genauere Beschreibung. Das Aktuellste war folgendes:
http://kofler.info/blog/134/126/btrfs---…em-der-Zukunft/
Daraus geht hervor, dass mit btrfs subvolume set-default leider der Speicherplatz des aktuellen Default-Volumes verloren ist. Das ist natürlich sehr unschön. Ansonsten fällt mir nur noch ein, das aktuelle Default-Volume zu löschen und dann den Snaptshot zurückzukopieren. Das dürfe aber vom Umfang her dann doch einem Backup gleichkommen. Weiß da jemand Genaueres oder nutzt es schon?

Als nächstes werde ich mir dann mal die Option compress für die Systempartition ansehen.

2

15.12.2012, 08:22

Hi Reinhard, das geht recht gut.

Ich hab das so gelöst. Unter /etc/fstab hab ich zwei Einträge

Quellcode

1
2
/dev/laptop/root  /                            btrfs    defaults,autodefrag                  0  0
/dev/laptop/root  /media/btrfs          btrfs    defaults,subvolid=0,noauto      0  0


/ wird immer auf das aktuelle default subvol eingehängt. /media/btrfs wird nur bei Bedarf eingehängt. Hier sind die snapshots des btrfs zu finden. Das sieht so aus

Quellcode

1
2
3
ls /media/btrfs
rootfs
rootfs-2012-12-01


Will ich jetzt eine änderung rückgängig machen hänge ich /media/btrfs ein und setze das "neue alte default" subvolid auf die ID von bsp. rootfs-2012-12-01. Nach einem reboot ist der alte Stand wieder da und rootfs-2012-12-01 kann in rootfs umbenant werden und das alte rootfs subvol kann vorher gelöscht werden.

Eines ist mir noch bei btrfs aufgefallen auf meinem VDR. Alle 30-40 sec stockt der VDR kurz. BTFS sync alle 30-40 sec irgendwelche Strukturen. Das hat sich beim VDR negativ bemerkbar gemacht. Hier bin ich wieder auf ext4 zurück gegangen. Sonst bin ich ein Fan von btrfs :)

EDIT:
Zusatzinfo:
autodefrag ist wichtig. btrfs fragmentiert sonst sehr stark was bei ext4 nicht der Fall ist. Ohne diese Option ist nach ca einem Monat btrfs extrem lahm (war bei mir so).
Meine snapshots lege ich so an

Quellcode

1
2
3
4
5
mount /media/btrfs
cd /media/btrfs
btrfs subvolume snapshot rootfs rootfs-`date %Y-%m-%d`
cd
umount /media/btrfs


Das ganze in einem kleinen Script namens mk-snapshot.sh. Wird der snapshot wieder gelöscht werden diese Dateien nicht mehr referenziert und der Platz steht anschliessend wieder zu Verfügung.

Ein paar Links für dich:
https://btrfs.wiki.kernel.org/index.php/Main_Page
https://btrfs.wiki.kernel.org/index.php/SysadminGuide
I Can't Believe This is Butter! A tour of btrfs



Gruß
Georg

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »schorsch_76« (15.12.2012, 08:39)


3

15.12.2012, 08:42

Hallo Schorsch, welchen Kernel nutzt du? Dieses Problem mit dem sync ist mir noch nicht aufgefallen. Des weiteren gibt es dazu ja Folgendes seit 3.7:

Zitat

Mehrere Optimierungen am weiterhin experimentellen Btrfs sollen das
erzwungene Leeren der Schreib-Caches des Dateisystems mit fsync()
beschleunigen. Das soll insbesondere die Schreib-Performance von
virtuellen Maschinen erhöhen, wenn die Images der VMs auf
Btrfs-Dateisystemen liegen und das Gastsystem häufig ein Fsync fordert.
Btrfs steht bislang in dem Ruf, in solch einem Szenario schlechte
Performance zu liefern.
Leider scheint dieser Kernel einige Macken mit amd64 zu haben. Bei mir funktioniert das Powermanagement nicht mehr. Und Ubuntu startet damit erst gar nicht... Deshalb bin ich aktuell wieder beim 3.6.10.

Werde am Wochenende mal etwas damit rumspielen. Also root oder subvolid=0 wird gar nicht für Daten genutzt sondern nur, um die Subvolumes zu verwalten. Das könnte passen.

4

15.12.2012, 08:55

Momentan läuft gento-sources 3.6.10. Als ich den Test mit dem VDR gemacht hab hatte ich 3.5.4 am laufen.