[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