SSD Cache mit EnhanceIO unter Debian (Wheezy)

Storage Zugriffe: 3219

A. Allgemeines

Um die Leistung meines RAID 10 auf einem NetApp DS14MK4, das den Speicher für einen VMWare Hypervisor 6 bereitstellt, zu steigern, habe ich mit für einen SSD Cache entscheiden. Eingesetzt habe ich als SSD ein OCZ RevoDrive, da der HP ML370 G5, auf dem das Debian läuft einen P400 Controller hat und dieser nur SATA I kann. Beide Teile des RevoDrives laufen einem mdadm Stripe-RAID. Gecachet wird über EnhanceIO. Dies bietet den Vorteil, dass der Speicherplatz des HDD-RAID-Arrays mit dem Geschwindkeitsvorteil einer SSD kombiniert werden kann.

B. Vorgehen

Folgende Schritte sind nötigt, um den SSD Cache einzurichten:

I. Kernel aktualisieren (nur bei Debian Wheezy, nicht bei Jessie notwendig)

Zunächst muss der Debian Kernel aktualisiert werden, da EnhanceIO erst ab dem Kernel 3.9 läuft und Debian Wheezy einen 3.2er Kernel hat.

II. EnhanceIO installieren

Nun wird EnhanceIO installiert. Voraussetzungen sind ein Kernel > 3.9, der im ersten Schritt installiert wurde, git, python, build-essential und dkms.

III. Cache einrichten

Die Einrichtung des Caches bei EnhanceIO ist sehr einfach. Anders als bei anderen Programmen muss nicht erst die Größe der Partiton für die Metadaten ausgerechnet werden oder ein LVM verbund erzeugt werden. Dies erfolgt nach diesem Schema:

     eio_cli create -d /dev/sdb -s /dev/sdc4 -m wb -c enhanceio_test
                           │                 │                 │                 └Name des Caches (wird intern von EnhanceIO benötigt)
                           │                 │                 └Art des Caches(wb=writeback, wt=writethrough, ro=readonly)
                           │                 └Caching Device (SSD)
                           └Source Device (HDD)

Danach ist der Cache eingerichtet. Dieser transparent, d.h. es wird kein neues, zusätzliches Device erzeugt. Die Zugriffe auf das Source Device werden automatisch über das Cache Device gecachet.

C. Ergebnis

Das Ergebnis ist eine erhebliche Beschleunigung der virtuellen Maschinen. Das DS14MK4 lieferte vor der Einrichtung des Caches ca. 180 MB/s, die ich direkt in einer VM getestet habe, ab.

Folgende Werte ergaben sich bei Verwendung des SSD-Caches. Den RAM-Cache habe ich deaktiviert um das Ergebnis nicht zu verfälschen.

(Getestet mit einer Windows 10 VM auf einem VMWare Hypervisor 6 und einem asynchronen NFS-Share.)

Drucken