IntelliCache™
Die Verwendung von XenServer® mit IntelliCache macht gehostete Virtual Desktop Infrastructure-Bereitstellungen kostengünstiger, indem sie die Nutzung einer Kombination aus gemeinsamem Speicher und lokalem Speicher ermöglicht. Dies ist besonders vorteilhaft, wenn viele virtuelle Maschinen (VMs) ein gemeinsames Betriebssystem-Image (das primäre Image) gemeinsam nutzen. Die Last auf dem Speicher-Array wird reduziert und die Leistung verbessert. Darüber hinaus wird der Netzwerkverkehr zum und vom gemeinsamen Speicher reduziert, da der lokale Speicher das primäre Image vom gemeinsamen Speicher zwischenspeichert.
IntelliCache funktioniert, indem es Daten für eine VM im lokalen Speicher auf dem VM-Host zwischenspeichert. Diese lokal zwischengespeicherten Daten umfassen:
- Eine zwischengespeicherte Kopie des primären Images (die übergeordnete VDI einer VM). Diese Datei ist Thin Provisioned und schreibgeschützt. Sie wird gefüllt, wenn Daten aus der primären Image-VDI auf dem gemeinsamen Speicher gelesen werden. Wenn viele VMs eine gemeinsame primäre Image-VDI gemeinsam nutzen, kann eine VM die Daten verwenden, die von einer anderen VM in den Cache gelesen wurden. Ein weiterer Zugriff auf das primäre Image auf dem gemeinsamen Speicher ist nicht erforderlich.
- Eine zwischengespeicherte Kopie der Delta-Disk pro VDI. Änderungen können auf diese lokale Delta-Disk geschrieben werden. Bei nicht-persistenten VMs werden Daten auf der lokal zwischengespeicherten Delta-Disk beim VM-Start verworfen. Bei persistenten VMs werden Daten auf der lokal zwischengespeicherten Delta-Disk beim VM-Start auf die Delta-Disk im gemeinsamen Speicher zurückgeschrieben.
Voraussetzungen
Die IntelliCache-Funktion hat die folgenden Anforderungen:
-
Premium Edition-Lizenz: IntelliCache wird nur bei Verwendung von XenServer Premium Edition mit Citrix Virtual Desktops unterstützt.
-
Speicher: Um IntelliCache zu verwenden, benötigen Sie sowohl einen lokalen SR für die zwischengespeicherten Daten als auch einen gemeinsamen SR für das Quell-Virtual Disk Image (VDI). Verwenden Sie diese SRs nur für IntelliCache-VMs. Mischen Sie keine traditionellen virtuellen Maschinen und IntelliCache-VMs auf demselben SR.
-
Gemeinsamer Speicher: Der gemeinsame Speicher, der zum Hosten der Quell-VDI verwendet wird, muss einer der folgenden Typen sein:
- NFS
- SMB3
- Gemeinsames LVM (iSCSI oder HBA)
-
Lokaler Speicher: Wir empfehlen die Verwendung eines leistungsstarken lokalen Speichergeräts, um die schnellstmögliche Datenübertragung zu gewährleisten. Verwenden Sie beispielsweise eine Solid State Disk oder ein leistungsstarkes RAID-Array. Berücksichtigen Sie bei der Dimensionierung lokaler Festplatten sowohl den Datendurchsatz als auch die Speicherkapazität.
Für IntelliCache ist ein Thin-Provisioned, lokales EXT3/EXT4-SR erforderlich. Thin Provisioning muss aktiviert sein, damit das lokale Caching von Citrix Virtual Desktops ordnungsgemäß funktioniert. Sie können Thin Provisioning bei der XenServer-Installation oder später über die Befehlszeile aktivieren. Thin Provisioning ändert den standardmäßigen lokalen Speichertyp des Hosts von LVM zu EXT4. Weitere Informationen finden Sie unter IntelliCache-Bereitstellung.
Thin Provisioning ist eine Methode zur Optimierung der Nutzung des verfügbaren Speichers. Dieser Ansatz ermöglicht es Ihnen, lokalen Speicher anstelle von gemeinsam genutztem Speicher stärker zu nutzen. Es basiert auf der bedarfsgesteuerten Zuweisung von Datenblöcken. Bei anderen Ansätzen werden alle Blöcke im Voraus zugewiesen. Thin Provisioning ermöglicht es dem Administrator, den VMs, die sich mit dem Storage Repository (SR) verbinden, mehr Speicherplatz zur Verfügung zu stellen, als auf dem SR tatsächlich vorhanden ist. Es gibt keine Speicherplatzgarantien, und die Zuweisung einer LUN beansprucht keine Datenblöcke, bis die VM Daten schreibt.
Thin-Provisioned SRs können an physischem Speicherplatz mangeln, da die VMs darin bei Bedarf die Festplattenkapazität belegen können. IntelliCache-VMs handhaben diese Bedingung, indem sie automatisch auf gemeinsam genutzten Speicher zurückgreifen, wenn der lokale SR-Cache voll ist. Mischen Sie keine traditionellen virtuellen Maschinen und IntelliCache-VMs auf demselben SR, da IntelliCache-VMs schnell an Größe zunehmen können.
-
IntelliCache-Bereitstellung
Um die IntelliCache-Funktion zu nutzen, müssen Sie sie sowohl auf XenServer als auch auf Citrix Virtual Apps and Desktops™ aktivieren.
Auf XenServer
Um IntelliCache zu verwenden, muss Thin Provisioning des lokalen SR entweder während der Host-Installation aktiviert oder manuell auf einem laufenden Host über die CLI aktiviert werden. Thin Provisioning ändert den standardmäßigen lokalen Speichertyp des Hosts von LVM zu EXT4.
Aktivieren bei Host-Installation
Um Thin Provisioning während der Host-Installation zu aktivieren, wählen Sie auf dem Bildschirm Virtual Machine Storage die Option Enable thin provisioning. Diese Option wählt das lokale SR des Hosts als dasjenige aus, das für das lokale Caching von VM-VDIs verwendet werden soll.

Vorhandenen Host zur Verwendung von Thin Provisioning konvertieren
Um ein vorhandenes lokales LVM-SR zu löschen und es durch ein Thin-Provisioned EXT3/EXT4-SR zu ersetzen, geben Sie die folgenden Befehle ein.
Warnung:
Diese Befehle entfernen Ihr vorhandenes lokales SR, und VMs auf dem SR werden dauerhaft gelöscht.
localsr=`xe sr-list type=lvm host=hostname params=uuid --minimal`
echo localsr=$localsr
pbd=`xe pbd-list sr-uuid=$localsr params=uuid --minimal`
echo pbd=$pbd
xe pbd-unplug uuid=$pbd
xe pbd-destroy uuid=$pbd
xe sr-forget uuid=$localsr
sed -i "s/'lvm'/'ext'/" /etc/firstboot.d/data/default-storage.conf
rm -f /var/lib/misc/ran-storage-init
systemctl restart storage-init.service
xe sr-list type=ext
<!--NeedCopy-->
Um das lokale Caching zu aktivieren, geben Sie die folgenden Befehle ein:
xe host-disable host=hostname
localsr=`xe sr-list type=ext host=hostname params=uuid --minimal`
xe host-enable-local-storage-caching host=hostname sr-uuid=$localsr
xe host-enable host=hostname
<!--NeedCopy-->
Unter Citrix Virtual Apps and Desktops
Wenn Sie in Citrix Studio eine Verbindung von Citrix Virtual Apps and Desktops zu XenServer herstellen, wählen Sie die Verwendung von IntelliCache aus. Wenn Thin Provisioning des lokalen SR in XenServer aktiviert wurde, zeigt Citrix Studio die Option IntelliCache verwenden, um die Last auf dem gemeinsam genutzten Speichergerät zu reduzieren an, wenn die Verbindung zu XenServer erstellt wird.
Weitere Informationen finden Sie in der Produktdokumentation zu Citrix Virtual Apps and Desktops.
VM-Verhalten mit IntelliCache
Das VDI-Flag on-boot bestimmt das Verhalten einer VM-VDI, wenn die VM gestartet wird, und das VDI-Flag allow-caching bestimmt das Caching-Verhalten.
Die für diese Parameter zu verwendenden Werte hängen vom Typ der VM ab, die Sie erstellen, und von ihrem Verwendungszweck:
-
Für gemeinsam genutzte oder zufällig zugewiesene Maschinen:
- Setzen Sie den Parameter
on-bootaufreset. - Setzen Sie den Parameter
allow-cachingauftrue
Zum Beispiel:
xe vdi-param-set uuid=vdi_uuid on-boot=reset allow-caching=true <!--NeedCopy-->Beim VM-Start wird die VDI auf den Zustand zurückgesetzt, den sie beim vorherigen Start hatte. Alle Änderungen während des Betriebs der VM gehen beim nächsten Start der VM verloren. Neue VM-Daten werden nur in den lokalen Speicher geschrieben. Es erfolgen keine Schreibvorgänge auf den gemeinsam genutzten Speicher. Dieser Ansatz bedeutet, dass die Last auf dem gemeinsam genutzten Speicher reduziert wird. Die VM kann jedoch nicht zwischen Hosts migriert werden.
Wählen Sie diese Option, wenn Sie standardisierte Desktops bereitstellen möchten, an denen Benutzer keine dauerhaften Änderungen vornehmen können.
- Setzen Sie den Parameter
-
Für statische oder dedizierte Maschinen:
- Setzen Sie den Parameter
on-bootaufpersist. - Setzen Sie den Parameter
allow-cachingauftrue
Zum Beispiel:
xe vdi-param-set uuid=vdi_uuid on-boot=persist allow-caching=true <!--NeedCopy-->Beim VM-Start befindet sich die VDI in dem Zustand, in dem sie beim letzten Herunterfahren verlassen wurde. Neue VM-Daten werden sowohl auf den lokalen als auch auf den freigegebenen Speicher geschrieben. Lesevorgänge von zwischengespeicherten Daten erfordern keinen E/A-Verkehr zum freigegebenen Speicher, wodurch die Last auf dem freigegebenen Speicher reduziert wird. Die VM-Migration zu einem anderen Host ist zulässig, und der lokale Cache auf dem neuen Host wird beim Lesen von Daten gefüllt.
Wählen Sie diese Option, wenn Sie Benutzern erlauben möchten, dauerhafte Änderungen an ihren Desktops vorzunehmen.
- Setzen Sie den Parameter
Hinweis:
Für VMs, deren VDIs sich auf einem GFS2-SR befinden, unterscheidet sich das Startverhalten der VM von VMs mit VDIs auf anderen SR-Typen. Für VDIs auf einem GFS2-SR wird die Startoption beim Herunterfahren der VM angewendet, nicht beim VM-Start.
Implementierungsdetails und Fehlerbehebung
F: Ist IntelliCache mit Live-Migration und Hochverfügbarkeit kompatibel?
A: Sie können Live-Migration und Hochverfügbarkeit mit IntelliCache verwenden, wenn virtuelle Desktops im privaten Modus sind, d.h. wenn on-boot=persist.
Warnung:
Eine VM kann nicht migriert werden, wenn eine ihrer VDIs Caching-Verhaltens-Flags auf
on-boot=resetundallow-caching=truegesetzt hat. Migrationsversuche für VMs mit diesen Eigenschaften schlagen fehl.
F: Wo befindet sich der lokale Cache auf der lokalen Festplatte?
A: Der Cache befindet sich in einem Storage Repository (SR). Jeder Host verfügt über einen Konfigurationsparameter (genannt local-cache-sr), der angibt, welches (lokale) SR für die Cache-Dateien verwendet werden soll. Typischerweise ist dieses SR ein SR vom Typ EXT3/EXT4. Wenn Sie VMs mit IntelliCache ausführen, sehen Sie Dateien innerhalb des SR mit den Namen uuid.vhdcache. Diese Datei ist die Cache-Datei für die VDI mit der angegebenen UUID. Diese Dateien werden in XenCenter nicht angezeigt. Die einzige Möglichkeit, sie zu sehen, besteht darin, sich bei dom0 anzumelden und den Inhalt von /var/run/sr-mount/sr-uuid aufzulisten.
F: Wie gebe ich ein bestimmtes SR zur Verwendung als Cache an?
A: Das Hostobjektfeld local-cache-sr verweist auf ein lokales SR. Sie können seinen Wert anzeigen, indem Sie den folgenden Befehl ausführen:
xe sr-list params=local-cache-sr,uuid,name-label
<!--NeedCopy-->
Dieses Feld wird entweder festgelegt:
-
Nach der Host-Installation, wenn Sie die Option „Thin Provisioning aktivieren“ im Host-Installationsprogramm gewählt haben, oder
-
Durch Ausführen von
xe host-enable-local-storage-caching host=host sr-uuid=sr. Der Befehl erfordert, dass der angegebene Host deaktiviert ist. Fahren Sie die VMs herunter, wenn Sie diesen Befehl verwenden.
Die erste Option verwendet einen lokalen SR vom Typ EXT3/EXT4 und wird während der Host-Installation erstellt. Die zweite Option verwendet einen SR vom Typ EXT3/EXT4, der in der Befehlszeile angegeben wird.
Warnung:
Diese Schritte sind nur notwendig für Benutzer, die mehr als einen lokalen SR konfiguriert haben.
F: Wann wird der lokale Cache gelöscht?
A: Der lokale Cache enthält zwei Arten von Informationen:
- Ein gemeinsamer Cache für die primäre Image-Festplatte. Diese gemeinsame Cache-Datei spiegelt die schreibgeschützte VDI aus dem freigegebenen Speicher und wird nicht gelöscht oder zurückgesetzt, wenn Aktionen an einzelnen VDIs vorgenommen werden.
-
Ein VDI-spezifischer Delta-Disk-Cache für jede VDI. Bei einer nicht-persistenten VM wird der Delta-Disk-Cache zurückgesetzt, wenn eine VDI an eine VM angehängt wird (z. B. beim VM-Start). Diese Cache-Datei wird nur gelöscht, wenn die VDI selbst gelöscht wird. Wenn der Host offline ist, wenn Sie die VDI löschen, bereinigt die SR-Synchronisierung, die beim Start ausgeführt wird, die Cache-Datei.
Hinweis:
Die Delta-Disk-Cache-Datei wird nicht vom Host gelöscht, wenn eine VM auf einen anderen Host migriert oder heruntergefahren wird.