Auf unseren Technologietagen konnte man das RAID-System ES-6642F der Firma Eurostor begutachten.
Eurostor ist ein deutscher Hersteller von RAID-Systemen mit Sitz in Filderstadt (bei Stuttgart). Zu Testzwecken und für die OSL-Technologietage wurde uns das System zur Verfügung gestellt.
Bei dem ES-6642F handelt es sich um ein echtes active/active RAID-System mit beeindruckender Leistung zu einem gutem Preis. Das RAID-System kann in verschiedensten Varianten bestellt werden. Damit sind in erster Linie die Anzahl und Art der verwendeten Festplatten als auch die Anschlusstechnik und Cache-Größe gemeint. Jeder Controller hat bis zu 4 GB Cache und verfügt über 2 Ports mit 4 oder gar 8 Gbit/s. Bei unserem Testsystem waren dann auch 2 FC-Controller (Vollausbau) mit je 4 GB Cache eingebaut. Die FC-Ports hatten eine Geschwindigkeit von je 4 Gbit/s.
Das Besondere an diesem System ist die enorme Packungsdichte. So finden 42 Standard 3,5" Festplatten in nur 4 Höheneinheiten Platz. Es werden SATA- aber auch SAS-Platten unterstützt. Auf der Eurostor-Webseite werden momentan Festplatten bis 2 TB angeboten. Damit sind 84 TB auf 4 HE möglich. Im Testsystem waren 21 Hitachi Ultrastar (7200 rpm) Festplatten mit je 1 TB Kapazität verbaut. Statt dessen können auch SAS-Platten (mit maximal 600 GB und 15k RPM) verwendet werden. So kann 25 TB schneller Speicher bereit gestellt werden.
Durch Nutzung eines Erweiterungsshelfs kann die Kapazität nochmal verdoppelt werden.
Kurz die wichtigsten Merkmale des Eurostor ES-6642F:
Für den Einbau des Eurostor ES-6642F werden 4 Höheneinheiten im Rack benötigt. Das Gehäuse ist komplett aus Metall gefertigt und macht einen äußerst soliden Eindruck. Es sind keinerlei Plastik-Teile verbaut worden. Die Lüfter befinden sich ausschließlich hinten und machen unmittelbar nach dem Einschalten ordentlich Lärm. Dieser legt sich aber nach der Einschaltphase und die Geräuschkulisse ist dann für ein RAID-System dieser Größe doch erstaunlich gering und vor allem ohne nervige hochfrequente Anteile. Die Frontplatte ist durch die mittig links und rechts angeordneten Schrauben ohne Werkzeuge entfernbar. Dort ist nichts zu sehen und somit ist der Abbau (ausser beim Austausch) der Frontplatte nie notwendig. Seitlich an der Frontplatte gibt es (rechts oben) einen Schalter, der das gesamte RAID-System herunterfährt. Sehr praktisch!
Die Platten werden von oben eingebaut und durch zwei sehr kleine (oben hinter den Rack-Ohren) befindlichen Schräubchen "freigelegt". Diese sind leider bedingt durch Ihre Position versenkt und damit nicht ohne einen passenden Kreuzschlitz-Schraubendreher zu entfernen. Eine Nachfrage bei Eurostor ergab, dass diese Schräubchen nur für den Transport angebracht werden sollten. Im Betrieb können diese Schrauben entfernt werden. Das Öffnen und Schließen der Abdeckung kann dann über das mittig angebrachte Schloss (oben) auf der Frontplatte geschehen. Die Abdeckplatte läßt sich dann etwa 5 cm nach vorn ziehen und nach oben abnehmen. Dies geht sehr einfach ohne große Anstrengungen und dann sieht man auch schon die Platten.
Die übersichtliche Rückseite bietet folgende Schnittstellen bzw. Module:
Man kann gut erkennen, dass sämtliche über die Rückseite zugänglichen Komponenten ohne Werkzeug ausgetauscht werden können.
Für das Wechseln bzw. Einsetzen der Platten hat Eurostor eine einfache Lösung gewählt. Die Platten werden in einen speziellen Rahmen eingebaut und können dann einfach wahlfrei an eine freie Stelle gesteckt werden. Jede Platte ist dann mittels eines Schlitz-Schraubendrehers zu arretieren. Die mitgelieferten Platten waren zwar durchnummeriert, prinzipiell ist es aber völlig egal, welche Platte wo gesteckt wird. Auch vorkonfigurierte RAID-Sets bleiben erhalten, wenn die Platten anders gesteckt werden. Alle anderen austauschbaren Teile können im laufenden Betrieb ohne Werkzeuge getauscht werden. Dies ist mittlerweile Standard und auch Eurostor mit dem RAID-System ES-6642F bildet da keine Ausnahme.
Für die Administration des ES-6642F hat Eurostor ein einfaches Web-Interface bereitgestellt. Neben einer Übersicht, in der eventuelle Ausfälle erkannt werden können, ist es natürlich möglich, RAID-Sets zu bauen, Volumes/LUNs anzulegen bzw. zu löschen. Alle Parameter des RAID-Systems können bequem geändert bzw. administriert werden. Allerdings kann das Anlegen vieler LUNs schon langwierig sein, was wiederum zu Fehlern einlädt. Gleiches gilt für das Volume-Mapping. Dessen ungeachtet tut das Web-Interface, was es soll. Es gibt deutlich schlechtere Lösungen.
Über die serielle Schnittstelle oder via telnet auf die LAN-Ports bietet Eurostor ein ASCII-Interface an, das mittels Tastatureingaben bedient wird (siehe Bild bei Fazit). Ein einfaches CLI wäre wahrscheinlich praktischer gewesen, insbesondere für Massenverarbeitung.
Es können maximal 42 SATA- oder SAS-Platten eingebaut werden. Über ein Erweiterungshelf können weitere 42 Platten angebunden werden. Soll die HDD-Power-Save Technologie verwendet werden, ergeben sich jedoch Einschränkungen bei der Wahl der Platten, da diese die Power-Save Funktionen beherrschen müssen.
In unserem Testsystem wurden 21 Hitachi Ultrastar Platten verwendet (Kapazität 1 TB) und von Eurostor mit 1 RAID-Sets (20 Platten) und 1 Hot-Spare vorkonfiguriert. Der Ausfallschutz (RAID-Level) wird bei diesem System über die Volumes und nicht über das RAID-Set abgebildet. Dadurch ist eine Änderung des RAID-Sets sehr schnell erledigt, allerdings müssen die LUNs/Volumes darauf dann initialisiert werden. Dies kann bei entsprechend vielen LUNs eine Weile dauern.
Für unsere Tests haben wir 1 RAID-Set mit 21 Platten konfiguriert. Darauf wurde eine LUN mit 2 GB für die OSL Storage Cluster CCF als RAID 1+0 und 10 LUNs mit 1 TB als RAID 5 angelegt. Die Initialisierung dauerte etwa 4 Stunden.
Bevor die Integration des RAID-Systems in Solaris und OSL Storage Cluster etwas eingehender betrachtet wird, soll der Blick zunächst auf den Multipfad bzw. das LUN-Mapping und die FibreChannel-Konfiguration gelenkt werden.
Wie bereits in der Einleitung angemerkt ist das RAID-System active/active. Das bedeutet, dass performanter I/O über alle Pfade zu einer LUN gemacht werden kann. Im Falle unseres Testsystems waren also 4 Pfade zu jeder LUN vorhanden (bei Switchanschluss). Ein kurzer Test aller Pfade mittels Read-IO ergab, dass diese tatsächlich richtig active/active waren. Jeder Pfad brachte identische Performance, was bei ALUA RAID-Systemen nicht so ist, auch wenn die LUNs ebenfalls über alle RAID-Controller-Ports ansprechbar sind (ALUA* - Asymmetric Logical Unit Access).
Die Konfiguration des LUN-Mapping ist relativ einfach bereits beim Anlegen der LUNs realisierbar. Dabei kann auch festgelegt werden, ob die LUN über beide Controller (wenn man denn zwei hat) oder einem spezifischen Controller ansprechbar ist. Existiert die LUN bereits, kann das Mapping auch im Nachhinein über den Menüpunkt "Modify Volume Set" in den User-Interfaces geändert werden.
Ein weiterer Punkt in Bezug auf den Multipfad ist die FibreChannel-Konfiguration der RAID-Controller-Ports. Diese sind für jeden Controller einzeln vorzunehmen, was im ersten Moment ein wenig verwunderlich ist. Will man also die FibreChannel-Konfiguration auf Controller 1 ändern, muss man auf diesem angemeldet sein. Gleiches gilt auch für die Management-Netzwerkschnittstellen. Im Test ergab sich bei Switchanschluss, dass die korrekten Werte automatisch eingetragen werden. Dies galt für die Geschwindigkeit (1/2/4 Gbps) und den Modus (Loop, Fabric, Point-to-Point) der Ports gleichermaßen. Beim Direktanschluss wird automatisch Point-to-Point als Modus gewählt. Leider konnten wir damit die HBAs unter Solaris 10 nicht zur Arbeit überreden. Dies gelang erst beim manuellen Eintrag des Loop-Modus. Die Geschwindigkeit der HBAs wurde jedoch immer automatisch korrekt erkannt. Die üblichen Multipfad-Tests mit und ohne Switch wurden erfolgreich durchgeführt.
*Bei ALUA-RAID-Systemen wird der IO von dem besitzenden Controller bearbeitet. Wird die LUN über den anderen Controller angesprochen, muss dieser Request an den anderen Controller geleitet werden, was Leistung kostet.
Die Integration der LUNs in Solaris verlief völlig problemlos. Der Host war dabei sowohl direkt (Loop-Mode) als auch via Switches (Fabric-Mode) angeschlossen.
Die Volumes sind für den Storage Cluster sofort sichtbar (aber natürlich noch "foreign
"):
# devtab -lvv Running with clustername: eurostor Building device table: ok /dev/rdsk/c2t124d0s1 | | unknown | | RDL-AS42 | CCF | foreign | pi | /dev/rdsk/c3t124d0s1 | | unknown | | RDL-AS42 | CCF | foreign | pi | /dev/rdsk/c2t124d1s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#001 | foreign | pi | /dev/rdsk/c3t124d1s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#001 | foreign | pi | /dev/rdsk/c2t124d2s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#002 | foreign | pi | /dev/rdsk/c3t124d2s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#002 | foreign | pi | /dev/rdsk/c2t124d3s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#003 | foreign | pi | /dev/rdsk/c3t124d3s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#003 | foreign | pi | /dev/rdsk/c2t124d4s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#004 | foreign | pi | /dev/rdsk/c3t124d4s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#004 | foreign | pi | /dev/rdsk/c2t124d5s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#005 | foreign | pi | /dev/rdsk/c3t124d5s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#005 | foreign | pi | /dev/rdsk/c2t124d6s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#006 | foreign | pi | /dev/rdsk/c3t124d6s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#006 | foreign | pi | /dev/rdsk/c2t124d7s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#007 | foreign | pi | /dev/rdsk/c3t124d7s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#007 | foreign | pi | /dev/rdsk/c2t124d8s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#008 | foreign | pi | /dev/rdsk/c3t124d8s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#008 | foreign | pi | /dev/rdsk/c2t124d9s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#009 | foreign | pi | /dev/rdsk/c3t124d9s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#009 | foreign | pi | /dev/rdsk/c2t124d10s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#010 | foreign | pi | /dev/rdsk/c3t124d10s1 | | unknown | | RDL-AS42 | ARC-8060-VOL#010 | foreign | pi |
Ein Eintrag in die Datei "/etc/dvsc/scancfg
" ist notwendig, das ES-6642F RAID-System wird nicht automatisch vom OSL Storage Cluster erkannt.
Folgender Eintrag in die "/etc/dvsc/scancfg
" schafft Abhilfe:
[products] ... RDL-AS42 * # Eurostor 6642
Nach der CCF-Initialisierung und der Inventarisierung der LUNs als Physical Volumes stellt sich die Ausgabe des "devtab
" wie folgt dar:
# devtab -lvv Running with clustername: eurostor Building device table: ok /dev/rdsk/c2t124d0s1 | | sunEFI | | RDL-AS42 | CCF | native | pv | 0 | eurostor | ccf_es | dvsys | /dev/rdsk/c3t124d0s1 | | sunEFI | | RDL-AS42 | CCF | native | pv | 0 | eurostor | ccf_es | dvsys | /dev/rdsk/c2t124d1s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#001 | native | pv | 0 | eurostor | lun1 | default | /dev/rdsk/c3t124d1s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#001 | native | pv | 0 | eurostor | lun1 | default | /dev/rdsk/c2t124d2s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#002 | native | pv | 0 | eurostor | lun2 | default | /dev/rdsk/c3t124d2s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#002 | native | pv | 0 | eurostor | lun2 | default | /dev/rdsk/c2t124d3s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#003 | native | pv | 0 | eurostor | lun3 | default | /dev/rdsk/c3t124d3s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#003 | native | pv | 0 | eurostor | lun3 | default | /dev/rdsk/c2t124d4s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#004 | native | pv | 0 | eurostor | lun4 | default | /dev/rdsk/c3t124d4s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#004 | native | pv | 0 | eurostor | lun4 | default | /dev/rdsk/c2t124d5s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#005 | native | pv | 1 | eurostor | lun5 | default | /dev/rdsk/c3t124d5s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#005 | native | pv | 1 | eurostor | lun5 | default | /dev/rdsk/c2t124d6s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#006 | native | pv | 1 | eurostor | lun6 | default | /dev/rdsk/c3t124d6s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#006 | native | pv | 1 | eurostor | lun6 | default | /dev/rdsk/c2t124d7s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#007 | native | pv | 2 | eurostor | lun7 | default | /dev/rdsk/c3t124d7s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#007 | native | pv | 2 | eurostor | lun7 | default | /dev/rdsk/c2t124d8s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#008 | native | pv | 2 | eurostor | lun8 | default | /dev/rdsk/c3t124d8s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#008 | native | pv | 2 | eurostor | lun8 | default | /dev/rdsk/c2t124d9s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#009 | native | pv | 3 | eurostor | lun9 | default | /dev/rdsk/c3t124d9s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#009 | native | pv | 3 | eurostor | lun9 | default | /dev/rdsk/c2t124d10s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#010 | native | pv | 3 | eurostor | lun10 | default | /dev/rdsk/c3t124d10s1 | | sunEFI | | RDL-AS42 | ARC-8060-VOL#010 | native | pv | 3 | eurostor | lun10 | default |
Die entsprechende Ausgabe von "pvadmin -lvv
":
# pvadmin -lvv 0 ccf_es (ok) 3883964 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c2t125d0s1 [ 2] (ok) /dev/rdsk/c3t124d0s1 0 lun1 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c3t124d1s1 [ 2] (ok) /dev/rdsk/c2t125d1s1 0 lun2 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c2t125d2s1 [ 2] (ok) /dev/rdsk/c3t124d2s1 0 lun3 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c3t124d3s1 [ 2] (ok) /dev/rdsk/c2t125d3s1 0 lun4 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c2t125d4s1 [ 2] (ok) /dev/rdsk/c3t124d4s1 1 lun5 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c2t125d5s1 [ 2] (ok) /dev/rdsk/c3t124d5s1 1 lun6 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c3t124d6s1 [ 2] (ok) /dev/rdsk/c2t125d6s1 2 lun7 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c2t125d7s1 [ 2] (ok) /dev/rdsk/c3t124d7s1 2 lun8 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c3t124d8s1 [ 2] (ok) /dev/rdsk/c2t125d8s1 3 lun9 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c3t124d9s1 [ 2] (ok) /dev/rdsk/c2t125d9s1 3 lun10 (ok) 1999977404 blocks over 2 path(s) >[ 1] (ok) /dev/rdsk/c2t125d10s1 [ 2] (ok) /dev/rdsk/c3t124d10s1
Da in diesem Fall ein direkter Anschluss vorlag, sind nur 2 Pfade sichtbar (2 Single-HBAs im Host).
Ergebnis: Die Integration des Eurostor ES-6642F in Solaris und den OSL Storage Cluster verlief ohne Probleme.
Wie bereits beschrieben, war das RAID-System mit 21 Platten bestückt, die auch alle in ein RAID-Set integriert wurden. Dort wurden 10 LUNs (plus eine LUN mit 2 GB für die CCF) als RAID-5 konfiguriert. Die Hosts waren zwei Fujitsu RX100 S4 mit jeweils 4 Gbps Doppel-HBA. Der Anschluss an das RAID-System erfolgte direkt. Der FibreChannel-Modus des RAID-Systems wurde auf Loop gesetzt. Die Werte entstanden mit 1/2/8 Threads durch einen einzigen Host. Jeder Thread war auf einer eigenen LUN unterwegs und es wurden verschiedene Blockgrößen getestet:
Blockgröße | Read 1 Thread [MB/s] | Write 1 Thread [MB/s] | Read 2 Threads [MB/s] | Write 2 Threads [MB/s] | Read 8 Threads [MB/s] | Write 8 Threads [MB/s] |
8 kB | 87 | 36 | 157 | 69 | 440 | 220 |
16 kB | 135 | 57 | 236 | 110 | 615 | 337 |
64 kB | 226 | 102 | 386 | 195 | 679 | 522 |
128 kB | 260 | 116 | 455 | 228 | 688 | 557 |
256 kB | 283 | 126 | 479 | 250 | 703 | 552 |
1024 kB | 315 | 137 | 586 | 275 | 654 | 549 |
Nun wurde von zwei Hosts gleichzeitig IO auf das RAID-System gemacht. Dabei wurden immer 4 Threads auf dedizierten LUNs verwendet:
Blockgröße | Host 1 liest, Host 2 liest | Host 1 liest, Host 2 schreibt | Host 1 schreibt, Host 2 schreibt | |||
Read 4 Threads [MB/s] | Read 4 Threads [MB/s] | Read 4 Threads [MB/s] | Write 4 Threads [MB/s] | Write 4 Threads [MB/s] | Write 4 Threads [MB/s] | |
8 kB | 269 | 269 | 264 | 107 | 111 | 111 |
64 kB | 370 | 370 | 547 | 278 | 332 | 332 |
128 kB | 376 | 376 | 498 | 288 | 391 | 391 |
1024 kB | 373 | 373 | 464 | 401 | 264 | 264 |
Man kann die 4 Gb FC-HBAs der Hosts komplett (etwa 750 MB/s pro Host) auslasten. Das RAID-System ist also auch für solche Hochlastsituationen gewappnet und die Service-Zeiten für die IOs bleiben sehr klein (maximal 2 ms). Durch die Verwendung des FC-Protokolls sind die Host auch nur zu etwa einem Drittel ausgelastet.
Das Eurostor RAID-System ES-6642F ist ein wirklich leistungsstarkes System und konnte vollends überzeugen. Die extrem guten Durchsätze (mit SATA-Platten), die hohe Packungsdichte und das HDD-Power-Management sind sowohl für die Nutzung als Produktiv- aber insbesondere auch als Backup-RAID-System abgestimmt. Das System ist gut gelungen. Leider wurde auf ein CLI verzichtet, aber trotzdem läßt sich das ES-6642F sehr gut über die vorhandenen Mittel konfigurieren. Ansonsten ist die Verarbeitung sehr robust, wenn auch auf den Transport des Systems im Vollausbau verzichtet werden sollte, da die Platten direkt auf der Platine aufliegen und diese beim Transport brechen könnte. Die Platten sollten also für Transporte ausgebaut werden. Auf Plastikteile wurde komplett verzichtet und das kleine Frontdisplay mit den 4 Tasten erlaubt eine (wenn auch unkomfortable) Konfiguration aller RAID-System Parameter.
Insgesamt - auch wenn wir natürlich keine vollumfänglichen Integrationstests gefahren haben - ein sehr gelungenes System, das speziell in Kombination mit OSL Storage Cluster sicher auch gehobenen Anforderungen entsprechen kann und dazu noch für einen günstigen Preis zu bekommen ist.