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

[OT] Performance von RAID und Dateisystem



Hallo Liste,



aktuell suche ich noch der richtigen Konfiguration für einen Backup-
Server. Dabei teste ich verschiedene RAID-Konfigurationen (Stripe-Size,
RAID10 / RAID50) und Dateisystemoptionen. Das Hardware-Setup sieht wie
folgt aus:

16 * 1TB SATA2 (WD Raid Edition 3 und 4, 7,2krpm) in einem Infortrend
A16S-G2130, verbunden mit einem HP DL360g6 über SAS, 3Gbit. Der DL360
hat 8GB RAM und einen Xeon 5506 mit 4 Cores. Das Betriebssystem hat
extra nochmal 2 SAS-Platten im RAID1 Der SAS-Connector zum Infortrend
ist ein LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS
(rev 08), laut lspci. Weiterhin ist eine kleine Tape-Library (LTO5) von
HP angeschlossen.

Aktuell läuft dort ein RAID1+0 (jetzt gerade 2 * 8 Platten im RAID0 und
ein RAID1 drüber) mit einer Stripe-Size von 512K. Das Dateisystem ist
ext4 mit Standardoptionen. Installiert ist ein Debian Squeeze mit
2.6.32-5-openvz-amd64.

Die Dateien, die später auf dem Backup-Server liegen sind eher klein
(~1MB im Durchschnitt, wie auf Webhosting-Systemen mit sehr vielen
Dateien < 500KB). Das Volumen beträgt ca. 3,5 TB. Die Daten kommen aus
zwei Rechenzentren, werden jede Nacht via rsync geholt und liegen dann
dort bereit um sie auf Bänder zu sichern.
Das ganze Setup war vorher etwas kleiner (8 * 1TB im RAID5), was gerade
im 3/4 vollem Zustand eine Lese-Performance von < 10MB im Durchschnitt
gebracht hat. Mit den weiteren Platten und dem richtigen RAID-Level und
Dateisystem möchte ich so viel heraus kitzeln wie möglich.

Um einen initialen Test zu machen, benutze ich dstat für die Anzeige
des aktuellen Durchsatzes und der erreichten Zahl IOPS, ~600GB echte
Daten (nichts generiertes für den Test) und tar nach /dev/null, wobei
ich vorher den Buffer-Cache leere:

echo 3 > /proc/sys/vm/drop_caches
tar cf - /srv/data > /dev/null

Mein Test mit dem aktuellen RAID-Level brachte weit weniger als 15MB/s.
Als mein Kollege den gleichen Test nur leicht abänderte und nur pv(1)
zwischen tar und /dev/null stellte, kam ich auf ~60MB/s. Was ist da los?

echo 3 > /proc/sys/vm/drop_caches
tar cf - . | pv > /dev/null

Warum hebt ein pv die Geschwindigkeit um das vierfache an?

Gibt es ein Tool für die Kommandozeile, mit dem ich die wirklichen Werte, zum Beispiel die Größenverteilung der Dateien, ermitteln kann?

Weiterhin bin ich für jeden Tipp, der mich näher an ein optimales Setup
mit den bestehenden Mitteln bringt, sehr dankbar :)

Alles Gute,

Helmuth


Reply to: