[linux-l] Partionierung - LVM über zwei physische Festplatte hinweg

Lutz Willek lutz.willek at belug.de
Mo Mär 12 12:20:51 CET 2012


Hi Volker,

Am 12.03.2012 11:13, schrieb Volker Grabsch:
> Lutz Willek schrieb:
>> ... LV auf beide Festplatten legst, somit
>> mindestens die Geschwindigkeit der langsamsten Platte hast, im Mittel
>> jedoch die Geschwindigkeit "(Platte1 + Platte2) / 2".
>
> Dieser Satz ergibt für mich überhaupt keinen Sinn....

Ich habe, ohne Hilfe von zwei Tassen Kaffee, versucht eine für andere 
sinnvolle Mail zu schreiben: Scheinbar klappt das einfach nicht. Mist.

Meine Annahme war _eine_ Lese/Schreiboperation ohne nebenlaufendes i/o, 
direkt auf die Hardware: Dann passt oben stehendes auch wieder. Das ist 
schön gedacht, bildet jedoch die Realität so was von überhaupt nicht ab.

> Ich hätte eher vermutet, dass man im Durchschnitt die Summe
> der Geschwindigkeiten "Platte1 + Platte2" erwarten kann.
>
> Oder habe ich hier etwas falsch verstanden?

Jetzt habe ich den Kaffee nachgeholt. "Platte1 + Platte2" wäre dann das 
Maximum bei ideal verteiltem, parallelem i/o mehrerer Prozesse in Summe 
gerechnet. Im übrigen bildet das genauso wenig die Realität ab wie die 
erste Annahme.

> (Voraussetzung dafür ist natürlich, dass das Striping "ideal"
>   erfolgt, also die unterschiedlichen Festplattengeschwindigkeiten
>   beim Striping berücksichtigt wurden. Und dass die Festplatten
>   nicht am selben Bus hängen bzw. der Bus schnell genug ist.)

... und die Zugriffe selbst ideal verteilt (=gleichzeitig) erfolgen 
können. Wie wäre es deshalb mit folgender Aussage:

Minimum: Geschwindigkeit der langsamsten Platte
Maximum: Geschwindigkeiten "Platte1 + Platte2"
Mittel: irgendwo dazwischen, abhängig vom Zugriffsmuster auf die Daten 
und der darunterliegenden Hardware.


Ab jetzt etwas OT:

Wir könnten noch das buzzword "Geschwindigkeit" näher beleuchten, also 
Durchsatz (B/s) oder Antwortgeschwindigkeit (io/s): Müssten dann aber 
auch den Lese/Schreibfall und Gleichzeitigkeit unterscheiden. Ein 
sicherlich sehr spannendes Thema!

In der Realität ist das alles zur Auslegung eines Speichersystems 
wichtig. Jedoch spielen dann auch andere Größen mit, etwa der Cache des 
Dateisystems/Speicher-Subsystems oder eben die Auslegung der Hardware 
selbst.

Ein Beispiel fällt mir spontan dazu ein, zugegeben zwar eine andere 
Liga, passt aber irgendwie doch: wafl auf einem raid-DP (Netapp).

Raiddp ist vereinfacht ein Raid4 mit doppelter Paritätsplatte, der 
erzielbare i/o der Storagegruppe hängt also direkt von dem Maximum der 
einzelnen Paritätsplatten ab: So weit so schlecht. Durch geschicktes 
Ausnutzen des Cache (gibt es auch als nachsteckbare Karte=PAM) und wafl 
(Dateisystem kennt den darunterliegenden Speicheraufbau und kann somit 
verteilt schreiben) gibt es in der Praxis jedoch so gut wie keine 
Beschränkungen: alles ist (zugegeben etwas teuer) kaufbar.
Ich will damit keine Werbung machen, nur zeigen das die Annahmen der 
Theorie (Raid4 Beschränkung) sich nicht mit der Praxis decken, wenn man 
nicht das Gesamtsystem betrachtet.

Alle neueren Ansätze sind deshalb unheimlich spannend:
ZFS als neueres Dateisystem/Speichersubsystem hat neben seiner 
Checksummen-Berechnung ("Selbstheilung") inzwischen viele dieser "wafl" 
Eigenschaften, etwas was ich gerade mit großer Spannung verfolge. Ob 
btrfs in absehbarer Zeit den Rückstand zu ZFS aufholen kann wage ich zu 
bezweifeln, hoffe es aber. Dann hätte Linux endlich nativ viele der 
Möglichkeiten, die man bisher nur mit relativ aufwendigen Systemen bekommt.

In Zukunft werden COW Dateisysteme sicher der traditionellen Kombo 
"Dateisystem/Volumemanager" den Rang ablaufen können, da freue ich mich 
schon darauf. Bis es soweit ist bin ich auch noch mit LVM zufrieden.

> Gruß
> Volker

lg Lutz



Mehr Informationen über die Mailingliste linux-l