12. Jan
Post

Performance-Steigerung bei LVM-Partitionen

Eigentlich gehören RAID, Logical Volume Manager (LVM) & Co. eher zu den Basics eines Linux-Admins, um möglichst viel Performance aus Festplatten heraus zu holen. Ich war gerade aufgrund eines enormen Geschwindigkeitszuwachses allerdings so aus dem Häuschen, dass ich es direkt niederschreiben und veröffentlichen musste.

In einem meiner Systeme stecken 2 SATA2-Festplatten mit je 750 GB Speicherplatz. Das Betriebssystem ist SLES11 und hauptsächlich befinden sich dort Xen4-DomU’s. Die Gäste stellen Webserver, Mailserver und andere Systemdienste bereit. Bisher war es so, dass ich einen Teil der ersten Platte mit LVM genutzt habe. Die zweite Platte war für Backups und andere Dinge in Verwendung. Die Performance war in Ordnung, aber auch nicht überragend.

Um diese Situation zu verbessern, hab ich mich im Internet auf die Suche gemacht. Es galt, ohne neue Hardware auszukommen (bei Mietservern unverschämt teuer) und ohne den Server komplett umzukrempeln, wie es z.B. bei einem neu konfigurierten Software-RAID der Fall wäre. Ich bin fündig geworden! Die Lösung funktioniert in meiner Umgebung wunderbar, ist aber grundsätzlich auch problemlos woanders verwendbar:

Das Geheimnis liegt im LVM verborgen. Statt weiterhin nur ein einziges Physical Volume (PV) zu verwenden, in dem die Volume Group (VG) und ihre Logical Volumes (LV) liegen, habe ich einen Teil der zweiten Festplatte zur bereits bestehenden VG hinzugefügt. Das ist erst mal nichts Neues, sondern bei LVM üblich.

Neu für mich war allerdings beim Kommando “lvcreate“, das zum Anlegen neuer Logical Volumes verwendet wird, der Parameter “-i 2“. Dieser Parameter gibt an, auf wie viele Physical Volumes das zu erzeugende Logical Volume aufgeteilt werden soll. In diesem Fall auf 2 PV’s. Auf ganz bequeme Art schaffen wir somit ein Software-RAID-0 für dieses LV. Wichtig ist aber, dass alle PV’s einer VG unbedingt auf separaten Platten liegen müssen, da es sonst zu Performance-Einbußen kommt.

Die Festplatten-Geschwindigkeit meines Xen-Gastes, den ich zum Testen verwendet habe, ist massiv gestiegen.

 

Hier die Ausgaben von hdparm zu den Lesegeschwindigkeiten:

(“/dev/xvdb” liegt auf einem einzigen PV, “/dev/xvdc” liegt auf 2 PV’s)

 

3x hintereinander “hdparm -Tt /dev/xvdb” (ALT)

/dev/xvdb:
Timing cached reads:   18416 MB in  1.99 seconds = 9251.71 MB/sec
Timing buffered disk reads:  280 MB in  3.00 seconds =  93.29 MB/sec

/dev/xvdb:
Timing cached reads:   18144 MB in  1.99 seconds = 9114.75 MB/sec
Timing buffered disk reads:  274 MB in  3.00 seconds =  91.24 MB/sec

/dev/xvdb:
Timing cached reads:   17474 MB in  1.99 seconds = 8778.24 MB/sec
Timing buffered disk reads:  276 MB in  3.02 seconds =  91.45 MB/sec

 

3x hintereinander “hdparm -Tt /dev/xvdc” (NEU)

/dev/xvdc:
Timing cached reads:   17672 MB in  1.98 seconds = 8909.50 MB/sec
Timing buffered disk reads:  552 MB in  3.01 seconds = 183.52 MB/sec

/dev/xvdc:
Timing cached reads:   17226 MB in  1.99 seconds = 8651.80 MB/sec
Timing buffered disk reads:  560 MB in  3.01 seconds = 186.18 MB/sec

/dev/xvdc:
Timing cached reads:   18446 MB in  1.99 seconds = 9267.25 MB/sec
Timing buffered disk reads:  550 MB in  3.02 seconds = 182.30 MB/sec

 

Und hier noch das “dd”-Kommando bei der Erzeugung von ca. 4 GB großen Dateien:

 

ALT:

time dd if=/dev/zero of=test1.bin bs=4k count=1000000
1000000+0 records in
1000000+0 records out
4096000000 bytes (4.1 GB) copied, 51.6753 s, 79.3 MB/s

real    0m51.682s
user    0m0.556s
sys     0m10.405s

 

NEU:

time dd if=/dev/zero of=test1.bin bs=4k count=1000000
1000000+0 records in
1000000+0 records out
4096000000 bytes (4.1 GB) copied, 26.8236 s, 153 MB/s

real    0m26.813s
user    0m0.512s
sys     0m8.845s

 

Na, wenn das nichts ist… ich find’s großartig! :-)

GD Star Rating
lädt…

Das könnte Dich ebenfalls interessieren:

Veröffentlicht in: IT / Technology

Über den Autor:

Beruflich arbeite ich als Premium Support Engineer bei Novell. Seit 2008 schreibe ich in diesem privaten Blog über Linux, Software, Programmierung, Suchmaschinen-Optimierung und über alles, was mir außerdem an IT-Themen begegnet. Darüber hinaus blogge ich hier auch über meine Hobbies, meine Meinung zu Filmen, Musik und was mir sonst so vor die Flinte kommt.

1 Kommentar zu "Performance-Steigerung bei LVM-Partitionen"

Trackback | Kommentar RSS Feed

  1. Dennis sagt:

    Wichtig zu erwähnen ist beim Stripe-Set der Totaldatenverlust, wenn eine HDD ausfällt. Daher sollte ein gutes Backupkonzept vorliegen.

Schreibe einen Kommentar