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

Re: ext4 an RAID 10 ausrichten



Quoting Sven Hartge <sven@svenhartge.de>:

Klemens Kittan <klemens.kittan@cs.uni-potsdam.de> wrote:

wir wollen unserer virtuellen Server auf das VMFS5 umziehen, dazu habe
ich vorher einige Messungen machen wollen.

Die data disks kommen aus einem SAN (RAID 10 mit 10 Platten und einer
Chunk Size von 128k) und werden über VMware bereitgestellt. Über diese
disks lege ich eine LVM2 volume group, damit ich bei
Speicherplatzmangel diese problemlos erweitern kann. Das Filesystem
habe ich mit folgenden mkfs.ext4 Parametern an das RAID angepasst:

mkfs.ext4 -b 4096 -E stride=32,stripe-width=160 /dev/volg1/logv1

Nach den Messungen war ich erstaunt, das ich im Vergleich zu den
Standard Optionen (mkfs.ext4), keinen Performancegewinn ermitteln
konnte. Einen letzten Versuch habe ich noch mit folgenden mount
Optionen gemacht:

mount -o noatime,barrier=0,data=writeback /dev/volg1/logv1 /srv/

Auch da, keinen Unterschied zu den Standard Optionen von mount und
mkfs.ext4. Hat der darunterliegende VMware-Layer einen so großen
Einfluss? Oder Übersehe ich da etwas?

Was hast du erwartet? Plötzlich 3-fache Performance?

Das nicht. Einen messbaren Unterschied zwischen Default und angepassten Optionen für mkfs.ext4 habe ich schon erwartet. Spätestens bei der mount Option barrier=0 hätte ich einen merklichen Unterschied erwartet.

Bei RAID1 bzw. RAID10 ist die Ausrichtung nicht soo wichtig, wie sie
z.B. bei RAID5/6 ist, meiner Erfahrung nach.

In deinem Fall hast du dann noch den Hypervisor (Achtung, "noop" oder
"deadline" als Scheduler verwenden, "cfq" arbeitet eher gegen den
I/O-Scheduler im ESX und reduziert die Performance!) und dann da SAN mit
seinen eigenen Caching- und I/O-Mechanismen dazwischen.

Die Messungen habe ich mit dem deadline Scheduler gemacht. Du hast Recht, ich werde mal den noop probieren.

Da kann man sich die Angabe von Spezial-Tuning-Werten echt sparen.

Wichtiger ist da eher, dass die Partitionen insgesamt richtig
ausgerichtet sind, also am Besten an Grenzen von 1MB. Ich nutze daher
bei allen VMs $hier eine GPT bei der Partitionierung, weil dort die
üblichen Tools dafür sorgen, das alle Partitionen an korrekten Werten
ausgerichtet sind und nicht an einem krummen und mit der Realität nichts
mehr gemein habenden Faktor von "63 Sektoren pro Zylinder" wie bei der
MSDOS-Partitionstabelle.

Das habe ich als erstes überprüft. Die Partition auf dem ESXi ist an 1M ausgerichtet, die Partitionen im Linux sind an 1M (2048) ausgerichtet und die logischen Volumes habe ich auch überprüft.

Ich werde die Messungen mal mit dem noop Scheduler wiederholen. Trotzdem bin ich überrascht, das sich keine Änderungen gezeigt haben.

Grüße,
Sven

Gruß,
Klemens



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



Reply to: