Was sind Virtual Volumes?
Leserfrage: Speicherdaten werden traditionell in Volumes verteilt. Wie funktionieren im Vergleich dazu Virtual Volumes (VVOL) von Vmware? Welche Vorteile bringen sie und lassen sie sich überall sinnvoll einsetzen? Gibt es auch Nachteile oder Besonderheiten, die bei einer VVOL-Konfiguration beachtet werden müssen?
Antwort Doc Storage:
Die 2012 eingeführten VVOLs sollen laut Vmware den »ESX-Server« speicher-zentralisieren. Das heißt, die in VMDK-Dateien (Virtual Machine Disk) gespeicherten Betriebssystem-Installationen zu befähigen, besser mit den Speichersystemen zu kommunizieren, auf denen sie abgelegt sind. Ziel ist es, Arrays zu ermöglichen, beispielsweise Clones oder Snapshots von virtuellen Maschinen mit ihren Bordmitteln anzufertigen.
Bis zur Einführung von VVOLs musste der Vmware-Administrator hierzu mit dem Speicherteam zusammenarbeiten, um die spezifischen Eigenschaften der verschiedenen Speichersysteme auf diese Vorgänge abzustimmen: Das Speicherteam musste einen Pool anlegen, diesem eine RAID-Gruppe, Eigenschaften wie Snapshots, Clones oder Replikation zuordnen, dort ein oder mehr logische Laufwerke generieren und diese dann einem ESX-Server zuordnen, von welchem aus dann das entsprechende Betriebssystem in eine VMDK-Datei installiert werden konnte. Mithilfe von VVOLs können all diese Vorgänge nun aus »vSphere«, also aus der Vmware-eigenen Benutzeroberfläche durchgeführt werden, ohne jedes Mal mit den Speicheradministratoren arbeiten zu müssen. Hierzu sind drei Technologien notwendig: der »Storage Container«, der »Storage Provider« und der Protocol Endpoint«.
Ein Storage-Container ist der Speicher-Pool in einem Array. Mit VVOLs muss lediglich der Pool aus mehreren physikalischen Platten im System angegeben werden. Dieser Pool wird an den ESXi-Hosts sichtbar, und über Vsphere lassen sich dann so viele VVOLs anlegen, wie Speicherplatz vorhanden ist.
Ein Storage-Provider stellt eine Out-of-Band-Kommunikation zwischen »vCenter« und den genutzten Speicherarrays her. Aus dieser Kommunikation »erfährt« Vmware die spezifischen Eigenschaften des Arrays, welche dann dem jeweiligen Pool als Charakteristika zugeordnet sind. Diese Kommunikation ist bidirektional, so dass Vcenter auch Befehle oder Informationen über das jeweilige API an das Speichersystem senden kann. Somit können über Vcenter bestimmte Anforderungen wie Verfügbarkeit oder Leistung an ein VVOL definiert und an das Array weitergegeben werden, welches dann dementsprechend Speicherplatz »zusammenbaut«. Ein Storage-Provider kommt vom Hersteller des Arrays und nutzt das von Vmware bereitgestellte API.
Der Protocol-Endpoint kommuniziert mit den VVOLs bzw. VMDKs stellvertretend für den ESXi-Server, der seinerseits keine direkte Sicht auf die VVOLs hat. Es handelt sich hierbei entweder um eine LUN, wenn Blockspeicher verwendet wird, oder einen Mountpoint, wenn NAS verwendet wird. Liest oder schreibt eine virtuelle Maschine, sorgt der Protocol-Endpoint dafür, dass diese I/Os zum korrekten VVOL gelangen.
Der größte Vorteil von VVOLs ist die wesentliche Vereinfachung der Speicherverwaltung und -zuordnung durch schlichtes Verzichten auf separate Konfigurationsvorgänge am Speichersystem. Ein kleiner Nachteil ist die Entkopplung der Informationen über die gespeicherten Daten (Tracktables) von den Arrays, so dass ohne ESXi bzw. Vcenter auf den Platten gespeicherte Daten nur noch sehr schwer auffind- und rekonstruierbar sind.
Auf jeden Fall sind VVOLs überall dort sinnvoll, wo große Vmware-Installationen auf vielen Speichersystemen genutzt werden und die jeweilige Abstimmung zwischen Speicher- und Vmware-Teams bisher unnötige Zeit in Anspruch nehmen.
Gruß
Doc Storage