[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Gedankenspiel neuer Server - Filesystem



Am Samstag, 29. Juni 2013, 16:53:39 schrieb Dirk Salva:
> On Sat, Jun 29, 2013 at 11:55:12AM +0200, Martin Steigerwald wrote:
[…]
> > > ich will mir einen neuen Heimserver aufsetzen. Gedacht ist momentan:
> > > SoftRAID-1 auf 3TB Toshiba mit zwei md-Devices. md0 bekommt ein
> > 
> > Warum Toshiba?
> 
> Die sind preisgünstig, verbrauchen wenig Strom und ich habe keine
> negativen Erfahrungen gefunden. Sind wohl auf Basis der HGST. Kann ich
> auch drei von kaufen und eine als Spare in's Regal legen.

Okay. Ich habe hier einen Haufen HGST-Platten. Funktionieren alle 
hervorragend. Mit den Western Digital in der Workstation auf der Arbeit gibts 
aber auch keine Probleme.

> > Ich würde immer LVM nehmen.
> 
> Ich sehe für mich darin bisher noch keinen Vorteil, ausser dass das
> System komplizierter wird. Mein Problem ist manchmal, das Debian
> einfach jahrelang einfach nur funktioniert und ich dann bei Problemen
> erstmal wieder herausfinden muss, wie passende tools uswusf. überhaupt
> heißen. Sollte ich für irgendwas jemals mehr Speicher benötigen, kann
> ich ja immer noch unkompliziert einfach noch eine Platte in's System
> hängen. Ich denke, _ich_, der ich jetzt noch 120GB auf'm Server nutze,
> bin mit 3TB für die nächsten 10 Jahre gerüstet, da kann ich alle meine
> externen Festplattendaten draufkopieren und habe immer noch Platz frei.

Gerade bei großen Platten halte ich LVM für sinnvoll, da ich dann auch schnell 
mal ein neues Dateisystem anlegen kann und eben nicht von Anfang an wissen 
muss, für was ich wieviel Platz brauche.

Da BTRFS mit Subvolumes auch eine gewisse Aufteilbarkeit hat, wäre es 
natürlich auch möglich, alle Daten auf eine BTRFS-Partition zu klatschen und 
von da aus nur mit Subvolumes zu arbeiten, die den Vorteil haben, in der 
Größenzuteilung komplett dynamisch zu sein.

Mit LVM und erst einen Teil des Platzes nutzen, kannst Du aber, falls es 
Probleme mit BTRFS gibt, eben schnell bestimmte oder alle Daten rumverschieben 
auf andere Dateisysteme, ohne alles neu machen zu müssen.

> Der Super-GAU wäre so etwas, wie es vor einigen Jahren passiert ist: da
> wurde beim Update von Debian Version X auf Version Y (ich weiß wirklich
> nicht mehr genau, wann das war) alles (auch IDE) von /dev/hdX auf
> /dev/sdX umgestellt. Das hat das RAID-1 durcheinandergebracht und alles
> andere auch, es hat mich viel Nerven gekostet, das ohne Datenverlust
> wieder an's Rennen zu bekommen. Mittlerweile bin ich auf UUID.

Das war eine Treiberumstellung von alten IDE-Treibern auf das "neue" libata-
Treiber-Framework, das Entwickler für SATA-Treiber ins Leben riefen.

> Aber, rein zur Info: in welcher Reihenfolge baue ich denn ein System
> auf, wenn ich das doch nutze?
> LVM-RAID_1-Dateisystem-Verschlüsselung
> Oder anders? Und vor allem: warum?

Das kommt ganz drauf an, was Du machen möchtest. Auf den 1,5 TB Western 
Digital auf der Arbeit habe ich 600 GB mit SoftRAID 1 und dann LVM gemacht, 
für Ext4, XFS usw. und für so Sachen wie BTRFS 600 GB mit LVM und dann ggf. 
SoftRAID 1 oder eben auch BTRFS RAID 1.

> > Ich habe mit XFS seit 2.6.16 keine Probleme mehr gehabt. Ich setze es aber
> > auch nicht mehr so häufig sein wie früher.
> 
> Hier laufen alle Systeme mit XFS. Funktioniert, aber nur so lange der
> Rechner nicht richtig hängt und weil die Rechner alle an einer USV
> hängen. Bei hartem Abschalten zeigte XFS nahezu immer das Problem, das
> bestimmte files, vorwiegend logfiles, hinterher defekt waren und
> deshalb z.B. das logging nicht mehr funktioniert hat.

Ohne Details kann ich dazu wenig sagen, mit allem, was syslog und rsyslog 
protokolliert hatte ich nie Probleme. Auch Ext4 arbeitet mittlerweile mit 
Delayed Allocation.

> > denke mehr als zwei Jahren ein BTRFS RAID 1. Das läuft. Das letzte
> > Scrubbing initierte ich glaube ich vor einem Monat etwa, und das lief
> > sauber durch.
> Was ist scrubbing? Noch nie gehört.

BTRFS schreibt Daten und Metadaten mit Prüfsummen. Beim Schrubben überprüft es 
diese. Bei einem BTRFS RAID-1 kann es dabei sogar, falls die Daten von einer 
Platte die falsche Prüfsumme haben, die von der anderen Platte aber okay sind, 
sich selbst reparieren.

> > Ein weiterer Grund gerade für die Backup-Platten ist die
> > Snapshot-Fähigkeit.
> Was genau bedeutet denn diese snapshot-Fähigkeit? So ganz habe ich das
> nicht verstanden.

Du machst

btrfs subvolume snapshot pfad-zur-subvolume pfad-zur-subvolume-2013-06-30

Dann ist ein pfad-zur-subvolume-2013-06-30 der Stand von pfad-zur-subvolume zu 
diesem Zeitpunkt. Wenn Du jetzt auf pfad-zur-subvolume was löschst, ist das in 
pfad-zur-subvolume-2013-06-30 noch enthalten.

So hebe ich alte Backup-Stände auf.

> > 1) Nimm vor allem für größere Datenbanken auf rotierenden Datenträgern ein
> > anderes Dateisystem. Ich empfehle XFS oder Ext4. Warum? BTRFS
> > fragmentiert,
> > indem es neue Daten immer an einen neuen Ort schreibt (COW – Copy On
> > Write), die Datenbank-Dateien erheblich. Auch die Mount-Option autodefrag
> > kann das meines Wissens bislang nicht vollständig ausgleichen. Auf einer
> > SSD macht das wenig aus.
> 
> Die einzige nennenswerte Datenbank wird wohl der innd sein, und news
> nutze ich immer weniger. Ob das dann noch relevant ins Gewicht fällt?

Kann ich auch nicht sagen. Ich würde mir die Flexibilität offen halten, die bei 
Problemen auf ein anderes Dateisystem zu schieben.

Was mit LVM und erstmal nur einen Teil des Platzes nutzen absolut kein Problem 
ist.

> > 3) Falls Du BTRFS für / einsetzen möchtest,
> > a) nimm ein ein /boot auf Ext4 oder so. Ich glaube zwar, dass GRUB 2 auch
> > ein BTRFS RAID 1 unterstützt, aber gesehen habe ich das noch nicht. Oder
> > teste es halt vorher, ich bin bei der Partition für /boot jedoch lieber
> > etwas konservativer. Und 200-500 MB dafür zu reservieren ist bei
> > aktuellen Datenträger-Größen auch kein Problem.
> 
> Hmm. Ich wollte nicht so kleinteilig partitionieren. Auf dem derzeit
> noch verwendeten Server liegt alles in /dev/md0, ein Problem hatte ich
> damit seit Debian 3 nicht. Ich will möglichst nur ein Filesystem
> benutzen.
> Aber das wäre natürlich noch wichtig zu wissen, ob der grub2 aus Wheezy
> btrfs raid-1 unterstützt. Wobei ich da wie selbstverständlich von
> ausgegangen bin.

Das dürfte in den Releasenotes stehen. Ich glaube Wheezy unterstützt BTRFS, 
aber eben nicht für /boot. 

> > b) prüfe, ob die Initial Ramdisk von Wheezy das wirklich frisst. Auf
> > meiner
> 
> Wie?

Vor dem Mounten eines BTRFS RAID 1 muss BTRFS seine Partitionen 
zusammensuchen. Das triggert der Befehl "btrfs device scan". Läuft der vor dem 
Mounten nicht, klappt auch das Mounten nicht.

Für die BTRFS RAID 1-Partitionen auf meiner Workstation auf der Arbeit klappt 
das mittlerweile. Aber / habe ich noch auf XFS SoftRAID 1. Ich denke mal, es 
würde dafür auch klappen, aber sicher bin ich nicht.

> > 4) Informiere Dich eingehend. Vorher oder sei zumindest bereit, Dich zu
> > informieren. Bei BTRFS ist Einiges doch etwas anders als mit den Dir
> > bekannten Dateisystemen. So ist die Angabe des freien Speicherplatzes bei
> > df bestenfalls als Schätzwert. Und ein BTRFS RAID 1 funktioniert auch
> > anders als ein SoftRAID 1.
> 
> Das mit dem df wäre nicht so wirklich ein Problem, aber was heißt das,
> daß das BTRFS-SoftRAID-1 anders als ein mdadm-SoftRAID-1 funktioniert?
> Mir geht es beim RAID-1 ja "nur" um das, was es kann: erhöhte
> Ausfall- und Datenverlustsicherheit (gg. mechanische Schäden) durch
> Spiegelung.

BTRFS RAID 1 stellt sicher, dass es von jedem Daten- und Metadaten-Chunk zwei 
Kopien gibt. D.h. bei drei Platten würdest Du ebenfalls nur zwei Kopien 
bekommen.

Für zwei Platten macht das jetzt keinen Unterschied. Ich halte dennoch für 
sinnvoll, so ein paar Eigenarten von BTRFS vorher zu kennen.

Keiner wird Dir sagen können, Dir eine Garantie geben können, ob es für Deinen 
Workload gut funktioniert. 

Für mich läuft es gut.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: