Citrix Hypervisor

IntelliCache

Hinweis:

Diese Funktion wird nur unterstützt, wenn Citrix Hypervisor mit Citrix Virtual Desktops verwendet wird.

Intellicache wird für VMs, die eine GFS2 SR verwenden, nicht unterstützt.

Durch die Verwendung von Citrix Hypervisor mit IntelliCache werden gehostete Virtual Desktop Infrastructure-Bereitstellungen kostengünstiger, da Sie eine Kombination aus gemeinsam genutztem Speicher und lokalem Speicher verwenden können. Dies ist von besonderem Vorteil, wenn viele virtuelle Maschinen (VMs) alle ein gemeinsames Betriebssystemimage teilen. Die Belastung des Speicher-Arrays wird reduziert und die Leistung wird verbessert. Darüber hinaus wird der Netzwerkverkehr zum und vom gemeinsam genutzten Speicher reduziert, da der lokale Speicher das Masterimage aus dem gemeinsam genutzten Speicher zwischenspeichert.

IntelliCache speichert Daten von einem übergeordneten VDI einer virtuellen Maschine im lokalen Speicher auf dem VM-Host. Dieser lokale Cache wird dann gefüllt, während Daten vom übergeordneten VDI gelesen werden. Wenn viele VMs einen gemeinsamen übergeordneten VDI gemeinsam nutzen, kann eine VM die von einer anderen VM in den Cache gelesenen Daten verwenden. Weiterer Zugriff auf das Masterimage im gemeinsam genutzten Speicher ist nicht erforderlich.

Für IntelliCache ist eine Thin Provisioning, lokale SR erforderlich. Thin Provisioning ist eine Möglichkeit, die Nutzung des verfügbaren Speichers zu optimieren. Mit diesem Ansatz können Sie den lokalen Speicher anstelle des gemeinsam genutzten Speichers stärker nutzen. Es stützt sich auf die On-Demand-Zuweisung von Datenblöcken. Bei anderen Ansätzen werden alle Blöcke im Voraus zugewiesen.

Wichtig:

Thin Provisioning ändert den standardmäßigen lokalen Speichertyp des Hosts von LVM zu EXT4. Thin Provisioning muss aktiviert sein, damit das lokale Caching von Citrix Virtual Desktops ordnungsgemäß funktioniert.

Thin Provisioning ermöglicht es dem Administrator, den VMs, die sich mit dem Speicherrepository (SR) verbinden, mehr Speicherplatz zu präsentieren, als in der SR verfügbar ist. Es gibt keine Speichergarantien, und die Zuweisung einer LUN beansprucht keine Datenblöcke, bis die VM Daten schreibt.

Warnung:

Thin Provisioning SRs kann der physische Speicherplatz ausgehen, da die darin enthaltenen VMs wachsen können und bei Bedarf Datenträgerkapazität verbrauchen. IntelliCache-VMs behandeln diese Bedingung, indem sie automatisch auf den gemeinsam genutzten Speicher zurückgreifen, wenn der lokale SR-Cache voll ist. Mischen Sie keine herkömmlichen virtuellen Maschinen und IntelliCache-VMs auf derselben SR, da IntelliCache-VMs schnell an Größe zunehmen können.

IntelliCache-Bereitstellung

IntelliCache muss entweder während der Host-Installation aktiviert werden oder manuell auf einem laufenden Host mithilfe der CLI aktiviert werden.

Wir empfehlen die Verwendung eines lokalen Hochleistungsspeichergeräts, um eine schnellstmögliche Datenübertragung zu gewährleisten. Verwenden Sie beispielsweise eine Solid State Disk oder ein Hochleistungs-RAID-Array. Berücksichtigen Sie bei der Dimensionierung lokaler Datenträger sowohl Datendurchsatz als auch Speicherkapazität. Der freigegebene Speichertyp, der zum Hosten des Virtual Disk Image (VDI) verwendet wird, muss NFS- oder EXT3/EXT4-basiert sein.

Auf Host-Installation aktivieren

Um IntelliCache während der Hostinstallation zu aktivieren, wählen Sie im Fenster “ Virtual Machine Storage “ die Option Thin Provisioning aktivierenaus. Diese Option wählt die lokale SR des Hosts aus, die für das lokale Zwischenspeichern von VM-VDIs verwendet werden soll.

Das Fenster "Virtual Machine Storage" in den Installationsbildschirmen.

Konvertieren eines vorhandenen Hosts zur Verwendung von Thin Provisioning

Um eine vorhandene lokale LVM SR zu löschen und sie durch eine Thin Provisioning EXT3/EXT4 SR zu ersetzen, geben Sie die folgenden Befehle ein.

Warnung:

Mit diesen Befehlen wird Ihre vorhandene lokale SR entfernt, und die VMs auf der 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-->

VM-Startverhalten

Es gibt zwei Optionen für das Verhalten eines VM-VDI beim Booten der VM:

  1. Freigegebener Desktop-Modus

    Beim Start der VM wird der VDI in den Zustand zurückgesetzt, in dem er sich beim vorherigen Start befand. Alle Änderungen während der Ausführung der VM gehen verloren, wenn die VM das nächste Mal gestartet wird.

    Wählen Sie diese Option, wenn Sie standardisierte Desktops bereitstellen möchten, an denen Benutzer keine dauerhaften Änderungen vornehmen können.

  2. Modus “Privater Desktop”

    Beim Start der VM befindet sich der VDI in dem Zustand, in dem er beim letzten Herunterfahren belassen wurde.

    Wählen Sie diese Option aus, wenn Sie Benutzern erlauben möchten, dauerhafte Änderungen an ihren Desktops vorzunehmen.

Verhaltenseinstellungen für VM-Caching

Das VDI-Flag allow-caching bestimmt das Cachingverhalten:

Freigegebener Desktop-Modus

Für freigegebene Desktops ist die on-boot-Option reset und das allow-caching-Flag ist true. Neue VM-Daten werden nur in den lokalen Speicher geschrieben. Es gibt keine Schreibvorgänge in den gemeinsam genutzten Speicher. Dieser Ansatz bedeutet, dass die Belastung des gemeinsam genutzten Speichers reduziert wird. Die VM kann jedoch nicht zwischen Hosts migriert werden.

Modus “Privater Desktop”

Für private Desktops ist die on-boot-Option persist und das allow-caching-Flag ist auf true festgelegt. Neue VM-Daten werden sowohl in den lokalen als auch in den gemeinsamen Speicher geschrieben. Das Lesen von zwischengespeicherten Daten erfordert keinen E/A-Verkehr zum freigegebenen Speicher, sodass die Belastung des gemeinsam genutzten Speichers reduziert wird. Die VM-Migration zu einem anderen Host ist zulässig, und der lokale Cache auf dem neuen Host wird beim Lesen der Daten aufgefüllt.

Einzelheiten zur Implementierung und Fehlerbehebung

F: Ist IntelliCache mit Livemigration und Hochverfügbarkeit kompatibel?

A: Sie können Livemigration und Hochverfügbarkeit mit IntelliCache verwenden, wenn sich virtuelle Desktops im privaten Modus befinden, d. h. wenn on-boot=persist

Warnung:

Eine VM kann nicht migriert werden, wenn für eines der VDIs Cacheverhaltensflags auf on-boot=reset und allow-caching=true festgelegt sind. Migrationsversuche für virtuelle Rechner mit diesen Eigenschaften schlagen fehl.

F: Wo ist der lokale Cache auf dem lokalen Datenträger?

A: Der Cache befindet sich in einem Speicher-Repository (SR). Jeder Host hat einen Konfigurationsparameter (Local-Cache-sr genannt), der angibt, welche (lokale) SR für die Cache-Dateien verwendet werden soll. In der Regel ist dieser SR ein SR vom Typ EXT3/EXT4. Wenn Sie VMs mit IntelliCache ausführen, sehen Sie innerhalb der SR Dateien mit Namen uuid.vhdcache. Diese Datei ist die Cache-Datei für den VDI mit der angegebenen UUID. Diese Dateien werden in XenCenter nicht angezeigt. Sie können sie nur anzeigen, indem Sie sich bei dom0 anmelden und den Inhalt von /var/run/sr-mount/sr-uuid

F: Wie gebe ich eine bestimmte SR für die Verwendung als Cache an?

A: Das Host-Objektfeld 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 ist entweder gesetzt:

  • Wenn Sie nach der Installation des Hosts die Option “Thin Provisioning aktivieren” im Host-Installationsprogramm ausgewählt haben, oder

  • Durch die Ausführung xe host-enable-local-storage-caching host=host sr-uuid=sr. Für den Befehl muss der angegebene Host deaktiviert sein. Fahren Sie die virtuellen Maschinen herunter, wenn Sie diesen Befehl verwenden.

Die erste Option verwendet die lokale SR vom Typ EXT3/EXT4 und wird während der Host-Installation erstellt. Die zweite Option verwendet die SR, die in der Befehlszeile angegeben ist.

Warnung:

Diese Schritte sind nur für Benutzer erforderlich, die mehr als eine lokale SR konfiguriert haben.

F: Wann wird der lokale Cache gelöscht?

A: Eine VDI-Cache-Datei wird nur gelöscht, wenn der VDI selbst gelöscht wird. Der Cache wird zurückgesetzt, wenn ein VDI an eine VM angeschlossen wird (z. B. beim Start der VM). Wenn der Host beim Löschen des VDI offline ist, sammelt die SR-Synchronisierung, die beim Startmüll ausgeführt wird, die Cache-Datei.

Hinweis:

Die Cache-Datei wird nicht vom Host gelöscht, wenn eine VM auf einen anderen Host migriert oder heruntergefahren wird.

IntelliCache