# Enterprise Virtual Array

Das HP StorageWorks Enterprise Virtual Array, kurz EVA, erschien 2001. Das System wurde von DEC entwickelt, von Compaq übernommen und im Zuge der Übernahme durch Hewlett-Packard im Jahre 2002 in die Produktpalette integriert.

## EVA Generationen

Die Produktpalette gliedert sich in verschiedene Enterprise Virtual Array Modelle.
| Modell | Controller |
| EVA3000 | HSV100 |
| EVA5000 | HSV110 |
| EVA4000 | HSV200A |
| EVA4100 | HSV200B |
| EVA4400 | HSV300 |
| EVA6000 | HSV200A |
| EVA6100 | HSV200B |
| EVA6400 | HSV400 |
| EVA8000 | HSV210A |
| EVA8100 | HSV210B |
| EVA8400 | HSV450 |
| EVA-P6300 | HSV340 (2011) |
| EVA-P6500 | HSV360 (2011) |
Derzeit sind fünf Modelle verfügbar, bei denen EVA6400 und EVA8400 die neusten Modelle einer neuen Generation darstellen.
| Modell | Controller |
| EVA4400 | HSV300 |
| EVA6300 | HSV340 |
| EVA6400 | HSV400 |
| EVA8400/14 GB Cache | HSV450 |
| EVA8400/22 GB Cache | HSV450 |

## Technischer Aufbau

Alle EVA-Systeme arbeiten von der Festplatte bis zum Hostport mit Fibre Channel, teils über Kupferkabel, teils über Lichtwellenleiter. Die Diskshelfs und Festplatten sind über zwei redundante (bei EVA6400 zwei FC-Loops und EVA8400 drei FC-Loops) FC-AL-Verbindungen an das Controllerpaar angebunden. Jeder Controller (zwei Controller pro EVA) verfügt über zwei bzw. vier Hostports, mit denen die Controller an die Fabric angebunden werden. Die Diskshelfs werden bei den Einsteigersystemen, EVA4x00, direkt mit dem Controllern verbunden. Auch hier sind die Diskshelfs redundant angebunden. Bei den Modellen 5000, 6x00 und 8x00 kommen Loopswitches zum Einsatz (Bei EVA4400, 6400 sowie 8400 wird diese Aufgabe von so genannten „Switched IO Modules“ übernommen, sie haben keine Switches). Diese Loopswitches brechen die physikalisch vorhandene Ringstruktur in eine physikalische Sternstruktur auf, die logisch aber noch ein Ring ist. Durch den Einsatz von Loopswitches können sogar ganze Diskshelfs im laufenden Betrieb hinzugefügt werden. Theoretisch geht das auch bei einer EVA4x00, aber HP rät davon ab. Das gesamte Backend, also die Anbindung der Festplatten an die Diskshelfs, und die Anbindung der Diskshelfs an die Controller arbeitet mit 2 GB FC. Die EVA4400 ändert diesen Zustand und arbeitet von der Festplatte bis zum Hostport mit 4 GB FC. Die Behauptung, dass 2 GB FC einen Flaschenhals darstellen, konnte bisher nicht belegt werden. So schafft eine EVA8100 bis zu 210.000 IOPS und 1500 MB/s. Eine EVA kann zwischen 8 und 240 Festplatten verwalten. Festplatten sind mit FC- und FATA-Interface erhältlich. FATA-Festplatten sind ATA-Festplatten mit Fibre Channel Interface. Dadurch kann man FATA- und FC-Platten in einem Diskshelf mischen, ein großer Vorteil gegenüber vielen anderen Herstellern in diesem Umfeld. Bei Systemen, die SAS und SATA Festplatten nutzen, ist dies auch möglich. Aktuell sind unterschiedliche Festplatten verfügbar:
| Größe | Geschwindigkeit | Interface | Kommentar |
| 300 GB | 10.000 rpm | Fibre-Channel | 2 Gb FC, alle EVA Modelle bis auf EVAx400 |
| 146 GB | 15.000 rpm | Fibre-Channel | 2 Gb FC, alle EVA Modelle bis auf EVAx400 |
| 300 GB | 15.000 rpm | Fibre-Channel | 2 Gb FC, alle EVA Modelle bis auf EVAx400 |
| 450 GB | 15.000 rpm | Fibre-Channel | 2 Gb FC, alle EVA Modelle bis auf EVAx400 |
| 1 TB | 7200 rpm | Fibre-Channel | F-ATA Platte |
| 72 GB | SolidStateDisk | Fibre-Channel | 4 Gb, nur EVAx400 |
| 200 GB | SolidStateDisk | Fibre-Channel | 4 Gb, nur EVAx400 |
| 400 GB | SolidStateDisk | Fibre-Channel | 4 Gb, nur EVAx400 |
| 300 GB | 10.000 rpm | Fibre-Channel | 4 Gb, nur EVAx400 |
| 450 GB | 10.000 rpm | Fibre-Channel | 4 Gb, nur EVAx400 |
| 600 GB | 10.000 rpm | Fibre-Channel | 4 Gb, nur EVAx400 |
| 146 GB | 15.000 rpm | Fibre-Channel | 4 Gb, nur EVAx400 |
| 300 GB | 15.000 rpm | Fibre-Channel | 4 Gb, nur EVAx400 |
| 450 GB | 15.000 rpm | Fibre-Channel | 4 Gb, nur EVAx400 |
| 600 GB | 15.000 rpm | Fibre-Channel | 4 Gb, nur EVAx400 |
| 1 TB | 7.200 rpm | Fibre-Channel | F-ATA, nur EVAx400 |
| 2 TB | 7.200 rpm | Fibre-Channel | F-ATA, nur EVAx400 |
| 300 GB | 15.000 rpm | SAS 3.5" | 6G, nur EVA P6x00 |
| 450 GB | 15.000 rpm | SAS 3.5" | 6G, nur EVA P6x00 |
| 600 GB | 15.000 rpm | SAS 3.5" | 6G, nur EVA P6x00 |
| 2 TB | 7.200 rpm | SAS 3.5" | 6G, nur EVA P6x00 |
| 146 GB | 15.000 rpm | SAS 2.5" | 6G, nur EVA P6x00 |
| 300 GB | 10.000 rpm | SAS 2.5" | 6G, nur EVA P6x00 |
| 450 GB | 10.000 rpm | SAS 2.5" | 6G, nur EVA P6x00 |
| 600 GB | 10.000 rpm | SAS 2.5" | 6G, nur EVA P6x00 |
| 500 GB | 7.200 rpm | SAS 2.5" | 6G, nur EVA P6x00 |
Die Controller sind jeweils in einem eigenen, 2U hohen Controllershelf untergebracht. Diese beiden Controllershelfs benötigen also 4U in einem Rack. Bei den Serien P4400 und P6xx0 gibt es auch Controllershelfs mit beiden Controllern sowie einem zusätzlichen Managementcontroller in einem 2U-Gehäuse. Die Controller sind redundant über Mirrorports miteinander verbunden. Je nach Controller verfügt das Controllerpaar über 4 bis 8 GB Cache. Die Controller arbeiten mit PowerPC-CPUs und arbeiten bei XCS (Name der Firmware) basierten Controllern stets in einem Active/Active-Verbund. Ältere EVA3000 und 5000 Systeme sind mit VCS 4.x (Name der Firmware) in der Lage, in einem eingeschränkten Active/Active-Verbund zu arbeiten.

### Speicherverwaltung

Der Speicher bei einem EVA-System ist voll virtualisiert. Während klassische Storagesysteme mit RAID-Sets und logischen Laufwerken arbeiten, arbeitet eine EVA mit Diskgroups und Vdisks. Statt im klassischen Fall Festplatten zu RAID-Sets mit einem bestimmten RAID-Level zu verbinden und daraus dann logische Laufwerke zu bilden, werden Festplatten bei einer EVA in Diskgroups organisiert. Es sind mindestens acht Festplatten einer Größe und Geschwindigkeit notwendig, um eine Diskgroup zu bilden. Daher besteht das kleinste EVA-System immer aus einer sogenannten 2C1D 8 HDD Konfiguration: 2 Controllern, 1 Diskshelf und 8 Festplatten.

### Protection Level

Innerhalb einer Diskgroup sind immer alle Festplatten aktiv. Es gibt keine Sparedisks. Statt Sparedisks zu verwenden, wird über alle Festplatten in einer Diskgroup soviel Platz freigehalten, dass die größte Festplatte in der Diskgroup dorthin wiederhergestellt werden kann. Durch den Verzicht auf Sparedisks gehen keine IOPS durch inaktive Festplatten verloren. Dieses Freilassen von Speicherplatz wird als Protection Level bezeichnet. Hier stehen drei Level zur Auswahl: None, Single und Double. Beim Protection Level None wird kein Speicherplatz reserviert. Bei Single wird die doppelte Kapazität der größten Festplatte in der Diskgroup reserviert, bei Double die vierfache Kapazität. Somit kann die EVA den Ausfall von einer, bzw. zwei Festplatten abfedern. Die jeweils doppelte Kapazität ist technisch bedingt, da die EVA alle Festplatten intern zu Paaren verbindet. Fällt eine Platte aus, werden die Daten der ausgefallenen Platte, als auch ihres Partners, der sogenannten Widow, in den freien Platz wiederhergestellt. Solange freier Speicherplatz in einer Diskgroup vorhanden ist, stellen die Controller die Festplatten in den freien Plattenplatz wieder her. Reicht dieser nicht aus, wird der reservierte Speicherplatz verwendet.

### RAID Level

Alle EVA-Systeme beherrschen die RAID-Level VRAID 0, VRAID 1 und VRAID 5. Eine Vdisk, also ein logisches Laufwerk, welches einem Host präsentiert werden kann, erstreckt sich immer über alle Festplatten in einer Diskgroup. Verfügt eine Diskgroup, z. B. über 56 Festplatten, und es wird eine Vdisk mit 1 GB angelegt, so ist diese 1 GB große Vdisk über alle 56 Festplatten verteilt. Entsprechend performant ist diese Vdisk. Vdisks mit unterschiedlichen RAID-Leveln lassen sich problemlos innerhalb einer Diskgroup mischen. Auch das ist nicht bei allen Systemen von Marktbegleitern möglich. HP rät dringend davon ab, unterschiedliche Plattengrößen und Techniken innerhalb einer Diskgroup zu mischen. Es ist anerkannter Best Practice so wenig Diskgroups wie möglich zu erstellen, mit jeweils möglichst vielen Platten. Daraus kann man folgern, dass es sinnvoller ist, 32x 72 GB Festplatten statt 16x 146 GB Festplatten zu verwenden.
Es ist durchaus möglich, dass eine produktive Vdisk in einem VRAID 1 betrieben wird, ein Klon für Tests aber mit VRAID 5.

### Interne Verwaltung

Intern ordnen die Controller alle Festplatten einem Redundant Storage Set, kurz RSS, zu. Diese RSS verfügen über 6 bis 11 Festplatten. Bei einem EVA-System mit 16 Festplatten sind also zwei RSS vorhanden. Jedes RSS ist eine einzelne RAID Protection Domain. Die EVA verwendet z. B. für VRAID 1 einen 4D+4P, bei VRAID 5 einen 4D+1P Mechanismus. Jeweils vier Datachunks sind auf vier unterschiedlichen Platten in einem RSS gespeichert, ebenso der eine Paritychunk. Bei VRAID 1 ist es vergleichbar. Eine Festplatte kann also unterschiedliche Data- und Paritychunks enthalten. Fällt eine Festplatte nun aus, ist erstmal nur ein RSS betroffen. Nun wird auch klar, warum die EVA Festplatten zu Paaren bindet: Diese Paare bilden immer eine 1D+1P Teil eines VRAID 1. Fällt eine Platte aus, werden die Daten in den freien Bereich wiederhergestellt, und dort auch erneut gespiegelt. Die Daten liegen also nach der Wiederherstellung wieder gespiegelt vor. Je nach RSS Status, dieser kann None, Mirrored oder Parity sein, kann sogar ein ganzer Diskshelfausfall abgefangen werden. Die EVA-Controller sorgen immer für eine optimale Verteilung von Platten. Wenn z. B. acht Diskshelfs und 64 Festplatten vorhanden sind, wird die EVA versuchen, mehrere RSS mit jeweils acht Festplatten zu bilden, wobei sich ein RSS senkrecht über alle acht Diskshelfs erstreckt. Um die Metadaten zu schützen, liegen diese am Anfang einer Diskgroup und sind über mehrere Platten verteilt. Es werden bis zu fünf Kopien vorgehalten.

## Software

Das System wird über eine Software namens HP StorageWorks Command View EVA Software administriert. Diese Software ist auf einem Managementserver installiert. Dieser Server ist lediglich für die Administration notwendig. Fällt er aus, läuft das System wie gewohnt weiter, lediglich eine Administration ist nicht mehr möglich. Mit einer Command View EVA Installationen können bis zu 16 EVA-Systeme verwaltet werden. Es ist geplant, in den nächsten Generationen das Management auf einen embedded Command View Server zu verlagern. Die EVA4400 ist hier für schon vorbereitet.
Mit HP StorageWorks Business Copy EVA können Snapshots, Clones, Snapclones und Mirrorclones erstellt werden. Damit kann man z. B. Datensicherungen vereinfachen, oder sehr einfach Testdaten generieren sowie Migrationen vorbereiten. Noch 2011 wird auch eine Online Raid-Migration möglich sein.
Sofern notwendig können EVA-Systeme über HP StorageWorks Continuous Access EVA gespiegelt werden. Eine Spiegelung ist synchron oder asynchron möglich.
HP StorageWorks EVA Dynamic Capacity Management Software vereinfacht das Management des Speicherplatzes und hilft dabei, ein Storagesystem besser auszulasten. Mit diesem Produkt ist u. a. Thin Provisioning möglich.
Das lang ersehnte „richtige“ Thinprovisioning kam im Sommer 2011 dazu.
HP StorageWorks Secure Path for HP-UX und Multi-path failover Software sorgen für ein optimiertes Pfadmanagement, sofern das Betriebssystem nicht von Haus aus mit redundanten Pfaden umgehen kann.

## Sonstiges

Über die EVA iSCSI Connectivity Option können Vdisks über iSCSI exportiert werden. Dabei wird eine iSCSI-to-FC Bridge in die EVA eingebunden, welche über das Command View EVA administriert werden kann. Somit ist es möglich, hochperformanten Speicher auch kostengünstig über iSCSI bereitzustellen. Für größere Fileserverumgebungen gibt es EVA File Services, was eine Lösung aus EVA Speichersystemen, ProLiant Servern und HP PolyServe File Serving darstellt. Dabei arbeitet ein Verbund von ProLiant Servern, betrieben mit Windows oder Linux, als virtueller Fileserver. Der Fileserver kann über CIFS, NFS oder Polyserve Direct I/O angesprochen werden. Um zwei EVA-Systeme über längere Strecken zu spiegeln, gibt es das IP Distance Gateway. Damit können auch größere Distanzen mit kostengünstigen IP-Strecken überbrückt werden.
Insgesamt sind derzeit rund 200 Petabyte in Form von EVA Storagesystemen installiert.