Mit dem 2012 R2 Release des System Center Virtual Machine Manager hat Microsoft der VMM Library die Offloaded Data Transfer Unterstützung spendiert. Damit lassen sich VMs deutlich schneller bereitstellen als mit früheren Versionen, da die VMs nicht mehr per BITS über das Netzwerk übertragen werden sondern per Fast File Copy die Bereitstellung der VHD/VHDX Dateien an das Storage Array ausgelagert wird.
Was sind die Voraussetzungen um per VMM ein VM Deployment per ODX zu beschleunigen? Laut Microsoft die folgenden für Hardware, Software und Hyper-V, um ODX verwenden zu können. Die VMM Voraussetzung hat nur indirekt mit ODX zu tun.
Hardware:
- Storage Array mit ODX Support (iSCSI, FC, FCoE oder SAS)
Software:
- Windows Server 2012 oder Windows Server 2012 R2
- Data Deduplication und BitLocker Drive Encryption dürfen nicht auf dem Laufwerk, worauf sich die VMM Library befindet, aktiviert sein.
- Dateisystem: NTFS
- Dateien müssen größer als 256 KB sein
- Applikation muss ODX unterstützen
Hyper-V:
Um ODX innerhalb einer VM nutzen zu können, muss einer der Punkte erfüllt sein.
- VHD/VHDX Dateien der VM müssen auf einer ODX fähigen LUN liegen
- ODX fähige iSCSI LUN wird mittels dem iSCSI Initiator direkt mit der VM verbunden
- ODX fähige FC LUN wird mittels dem Virtual FC Adapter direkt mit der VM verbunden
- SMB 3.0 Freigabe, die auf einem ODX fähigen Storage Array liegt.
Siehe auch:
-> http://technet.microsoft.com/en-us/library/hh831628.aspx
Virtual Machine Manager:
Der VMM benötigt für den Einsatz von Fast File Copy einen Run As Account, der Mitglied in der Gruppe der lokalen Administratoren auf den Hyper-V Hosts ist. Dieser Run As Account wird in den Eigenschaften der Hyper-V Hosts im VMM als Host Management Credentials hinterlegt.
Einsatz und Konfiguration von Fast File Copy / ODX im VMM:
Meinen SC 2012 R2 VMM Server betreibe ich in einer VM unter Windows Server 2012 R2. Dessen VHDX Dateien liegen auf einer Synology DS412+, die mittels iSCSI mit den Hyper-V Hosts verbunden ist. Die Synology DS412+ ist ein ODX fähiges NAS System / Storage Array. Somit wäre Punkt 1 erfüllt (VHD/VHDX Dateien der VM müssen auf einer ODX fähigen LUN liegen). Des Weiteren ist in diesem Falle wichtig, dass diese VHDX Dateien per SCSI an die VM angeschlossen werden, denn mittels IDE kann man die ODX Fähigkeit nicht nutzen.
Innerhalb der VM funktioniert das Anlegen einer neuen VHDX Datei, die eine feste Größe hat, auf dem Volume der VMM Library binnen weniger Sekunden. Allerdings kann in dieser Konstellation die VMM Library beim VM Deployment von den ODX Fähigkeiten des Windows Server und des Storage Arrays keinen Gebrauch machen. Das VM Deployment wird zwar erfolgreich abgeschlossen, aber mit einer Information in den Jobs des VMM hinterlegt.
Information (26278)
VMM could not offload transfer the file \SRV-1.neumanndaniel.localMSSCVMMLibraryWindows_Server_2012_R2Windows_Server_2012_R2_Datacenter.vhdx to C:ClusterStorageVolume4ODXWindows_Server_2012_R2_Datacenter.vhdx.
Leider ist es in der TechNet nicht dokumentiert, wie man den VMM entsprechend einrichtet, um die ODX Fähigkeiten beim VM Deployment zu nutzen. Ich war daher etwas verwundert, dass mein erster Versuch in der oben genannten Konstellation nicht funktionierte und musste entsprechend weiter recherchieren und ausprobieren. Im Endeffekt bin ich dann zu der folgenden Lösung gekommen, die ich nun vorstelle.
Step by step – So funktioniert es:
Als aller Erstes bevor man überhaupt die VMM Konsole öffnet legt man auf dem Storage Array eine neue LUN an die man per iSCSI/Virtual Fibre Channel direkt mit der VM des VMM verbindet. Dorthin verlagert man dann seine VMM Library. Dieser Schritt ist allerdings nur erforderlich, falls man bisher die VMM Library auf einem Volume betreibt, welches durch eine VHDX Datei bereitgestellt wird. Ist dies erledigt sollte man sicherstellen, dass auf dem Volume, auf dem sich die VMM Library befindet, die Data Deduplication deaktiviert ist. Ist diese nämlich aktiviert kann ODX nicht verwendet werden, wie bereits oben schon erwähnt. Im nächsten Schritt legt man dann den entsprechenden Run As Account an. Ich habe hier den Administrator Account der Domain verwendet. Anschließend muss man die Eigenschaften jedes Hyper-V Hosts aufrufen und auf den Reiter Host Access wechseln, um die Host Management Credentials zu setzen. Setzt man diese nicht, dann steht einem das Feature Fast File Copy der VMM Library nicht zur Verfügung.
Nach dem Setzen der Host Management Credentials kann man mit dem VM Deployment beginnen. Hat man im Vorfeld alles richtig gemacht, so sollte beim Host Rating unter Deployment and Transfer Explanation die Meldung “This destination is available for SAN migrations” erscheinen.
Falls man es vergessen hat die Host Management Credentials zu setzen, erscheint die Meldung “Creating a virtual machine using fast file copy requires the host hostname to have an associated Run As account.”
Starten man das VM Deployment wird nun der VMM Fast File Copy nutzen, um die Bereitstellung der VHD/VHDX an das Storage Array auszulagern.
Wie in dem Screenshot zu sehen ist hat die Bereitstellung der VHDX Datei nur 23 Sekunden gedauert. Die VHDX Datei dieser VM ist 8 GB groß und ohne FFC/ODX hat die Bereitstellung dieser Datei bisher mehrere Minuten gebraucht. Also ein absoluter Gewinn an dieser Stelle.
Nun noch einmal als Zusammenfassung was man alles benötigt, um ODX mittels VMM nutzen zu können.
- ODX fähiges Storage Array
- VMM Library muss auf einer iSCSI/FC LUN liegen, die direkt per iSCSI Initiator oder Virtual Fibre Channel mit der VM des VMM verbunden ist
- Run As Account der Mitglied in der Gruppe der lokalen Administratoren auf den Hyper-V Hosts ist
- Run As Account muss als Host Management Credentials in den Eigenschaften Hyper-V Hosts auf dem VMM hinterlegt sein