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?
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.
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.