RAID: Was ist ausschlaggebend für die Performance?

Performance bei einem RAID Systems meint eigentlich zwei ganz unterschiedliche Faktoren: Einerseits die I/O-Rate, d.h. die maximale Menge an Datenblocks, die in einer Sekunde verarbeitet werden kann, andererseits die maximale Transferrate, die vor allem durch die Art der Anbindung des RAIDs an den Hostrechner begrenzt wird. Beim Schreiben und Lesen kleiner Blocks (wie bei Datenbanken meist erforderlich), spielt es keine große Rolle, ob das System beispielsweise mit 8 oder 16 Gbit FC angebunden ist, denn die Begrenzung liegt beim I/O-Durchsatz des Controllers. Geht es dagegen um große Dateien (Videodaten beispielsweise), ist oft der Durchsatz des Datenbusses entscheidend, vorausgesetzt, der Server selbst ist schnell genug. Dann ist die Auswahl des passenden Interfaces ein wesentliches Performancekriterium.

Viel Cache – viel Performance?

RAM-Speicher als Cache ist vergleichsweise günstig. Daher wird man in der Regel den Cache nicht zu klein konfigurieren. Generell wird die Wirkung aber meist überschätzt: Bei konstantem Datenfluss hilft er überhaupt nicht, bei Datenpaketen, die deutlich über die Cachegröße hinausgehen auch nicht. Sinnvoll ist großer Cache bei eher unregelmäßigen kleinen Zugriffen.

Wirksam ist ein größerer Cache aber vor allem dann, wenn das RAID auf mehrere einzelne Volumes aufgeteilt ist. Denn in diesem Fall wird für jedes Volume ein Teil des Caches reserviert. Mit der Anzahl der Volumes verkleinern sich die zugewiesenen Speicherbereiche deutlich. Daher gilt in diesem speziellen Fall: Mehr Cache ist gleich mehr Performance.

Dual Controller: Active/Active ist schneller

Bei Dual Controller Systemen werden die Ressourcen sinnvoller genutzt, wenn beide Controller aktiv arbeiten können, und nicht einer von beiden nur beobachtet um im Notfall seine Funktion zu übernehmen (active/active statt active/passive). In der Regel bedeutet das, dass mindestens zwei RAID Sets existieren sollten, denn nur dann kann die Last verteilt werden.

Übrigens sind Dual Controller RAIDs nicht doppelt so schnell wie  Single Controller Systeme, denn ein Teil der Performance jedes Controllers wird verwendet, um den Cache des jeweils anderen zu spiegeln. Nur so ist nämlich gewährleistet, dass, wenn ein Controller ausfällt, der andere nahtlos und ohne Datenverlust die Aufgaben übernehmen kann.

Wenn es mehr um Performance geht als um die die zusätzliche Ausfallsicherheit, ist es also besser, zwei Single Controller RAID Systeme als ein Dual Controller RAID zu verwenden.

Lastverteilung über Hostports

Wenn der Bus (ob iSCSI, SAS oder Fibre Channel) der begrenzende Performancefaktor ist, kann ein RAID System mit zwei oder mehr Ports auch über mehrere Ports an den gleichen Hostrechner angebunden werden. Das setzt natürlich einen Dual Port Hostadapter (oder zwei einzelne) voraus.

In diesem Fall müssen unbedingt zwei RAID Sets angelegt werden. Die Volumes des einen werden auf Port 0 gemappt, die des anderen auf Port 1 etc. Werden nämlich zwei Volumes eines RAID Sets auf verschiedene Ports gemappt, wird oft die Performance eher schlechter.

Wird ein großes zusammenhängendes Volume benötigt, können auch auf der Rechnerseite die Volumes beider Ports durch lokales Striping auf dem Client (RAID 0) zusammengefasst werden.