[Eisfair] [e64] LSI MegaRaid Controller Treiber/Utils ?
D. Oezbilen
oezbilen at gmx.net
So Nov 8 23:04:20 CET 2020
Hallo Nelson, Thomas,
>> mkfs.ext4 -L testraid -v -E stride=64,stripe-width=192 /dev/sda1Stimmt.
64kB auf einer HD, R5 mit drei HDs => 192er Stripe.
> mkfs.ext4 nutzt standardmässig 4kB grosse Blocks, mit den Parametern
> stride und stripe-width gibst du dem FS den Hint mit wie es unten
> drunter aussient:
Richtig.
ntfs wird auch zumesit mit 4k angelegt.
Linux arbeitet mit 4k pages, weshalb man z.B. bei KVM hugepages nimmt,
damit dieses Mimikry nicht ist, sondern 1M oder 2M Breite Bloecke
geblockt werden.
Vorab: mag sein, dass ich deinen Kommentar nicht richtig verstanden habe.
Sagst Du mit
//
Also 64 Blocks à 4kB --> 192kB chunksize
und 192 Blocks à 4kB --> 512kB streifengrösse
Was hinten und vorne nicht passt.
//
dass es falsch ist? So lese ich es.
Die Zahlen, die Du v. der mkfs.ext4-Befehl ableitest passen definitiv
nicht.
64*4 = 256
192*4 = 768
Da hast Du Recht.
Aber, mkfs.ext4-Befehl ist richtig angeben.
Die Zahlen mit 4k und 64 darf man auch nicht multiplizieren. Es ist was
anderes, wie die Zahlen lauten, aber fuer mkfs eingegeben werden muessen.
Wenn falsch, was ist richtig deiner Meinung nach?
Welche Syntax muss er angeben, damit es richtig ist?
@4K Blockgroesse
Wenn man nichts angibt (-b= ...) nimmt mkfs.xyz immer 4k an, s.o.
Insofern kann man diesen Parameter ausser acht lassen.
Bei 64kB Chunkgroesse schreibt das BS 16Bloecke a 4kB auf die erste HD.
Dann geht es auf die zweite HD etc.
@wie Du ableitest, rechnest
> Also 64 Blocks à 4kB --> 192kB chunksize
s.o. 4kB Blockgroesse
Nochmals; chunksize ist reserviert fuer die Groesse, die der Controller
auf ___einer____ HD hat. Es ist __nicht__ die Totalgroesse auf allen HDs.
Ausserdem warum fuehrst Du hier 64 ___Blocks___ ein? Nelson schreib, er
hat 64kB, die Controller geben _keine_ Blocks_ an, sondern 64/128/512kB
oder gar 1MB.
Ich denke, Du verwendest die Begriffe nicht richtig(?).
Trotzdem koennte dein Weg richtig sein. Das muss sich nicht
ausschliessen. :-)
Jedoch ...
> und 192 Blocks à 4kB --> 512kB streifengrösse
Was ich mal (Ewigkeiten her) lernte, dass Zahlen Einheiten haben, das
Ergebnis *muss* auch v. den Einheiten passen.
Sprich am Ende der Rechnung hat man nicht 20 Schafe ;-) sondern, 20 km,
4m oder hier in diesem Beispiel 192kB oder von mir aus auch 512kB.
Wenn wir deinen Weg rechnen, deinen Gedanken folgen, warum 64*4 nicht
192 sind, was sie wirklich nicht sind, doch s.o.:
64 (Blocks, also ohne Einheit) x 4kB macht (nicht)192kB, passt (nicht)
192 __kB__ Stripe passt, aber math. falsch. ;-) Jedoch werden bei Dir in
der zweiten Zeile aus den gerade(?) errechneten 192 wieder Blocks (die
absolute Groesse ist hier jetzt auch egal)?
Und Du rechnest 192 (mit oder ohne Einheit, wenn Du aus 64 kBs nimmst,
muesste es mit kB sein) wieder mit 4kB -> Daraus folgt *nicht* (math.)
512kB und v. der Einheit auch nicht kB, sondern kB*kB.
Hier ist auch egal, ob die Groesse stimmt, die ___Einheiten___ passen nicht.
Kannst Du das bitte erklaeren?
Denn s.o. nacher am Ende der Rechnung __muss__ auch die Einheit passen.
Wenn da s.o. kB x kB wuesste ich nicht, wie/wo ich diese Groesse
einparke, kQuadrat (1024x1024), 512 M(?)Byte ist dann die Stripegroesse?
Gegenvorschlag:
Nelson gibt den Chunk mit 64kB im R5 an. Also sind es dort drei
__Daten___ schreibende HDs. => 64kB * 3 => 192kB. q.e.d. ;-)
Was bei Dir untergeht ist die Anzahl der Platten die am I/O beteiligt sind.
Frage:
Wenn Du ein R5 hast mit 8 (acht) Platten, vier (4) auf Standby, die
Kontrollergroesse (chunksize) 64kB ist, wie lautet der Befehl? Wie
bringst Du vier oder acht(?) (oder sechs) Platten in die Rechnung ein?
Noch ein Vorschlag:
Nelson fragte an, was passt? Du hast gesagt, passt hinten und vorn nicht.
Schreibe dann bitte auch die genaue Syntax fuer Nelson, so kann er beide
Befehle selbst ueberpruefen, sei es mit fio/hdparm/dd oder was auch immer.
Ist doch Banane, welche Syntax richtig ist; gerne wuerde ich sehen, wie
der Befehl -deiner Meinung nach- ausschaut.
Mag wahrlich sein, dass ich Raid-Ausrichten nicht verstanden habe. Doch
so ganz kann ich deiner Rechnung nicht folgen. Deswegen ist meine Bitte
den Befehl in toto zu sehen.
@Nelson
Wenn Du ein grosses, phettes Volume geschaffen hast, so solltest evtl.
XFS nehmen.
@Thomas
Dann bitte auch fuer XFS die Syntax fuer Nelson angeben.
Gruss
Oez.
Mehr Informationen über die Mailingliste Eisfair