Citrix Hypervisor

IntelliCache

Hinweis:

Dieses Feature 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.

Die Verwendung von Citrix Hypervisor mit IntelliCache macht gehostete Virtual Desktop Infrastructure-Bereitstellungen kostengünstiger, da Sie eine Kombination aus freigegebenem 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 freigegebenen Speicher reduziert, da der lokale Speicher das Masterimage aus dem freigegebenen Speicher zwischenspeichert.

IntelliCache speichert Daten von einem übergeordneten VDI der VMs im lokalen Speicher auf dem VM-Host. Dieser lokale Cache wird dann aufgefüllt, wenn Daten aus dem übergeordneten VDI gelesen werden. Wenn viele VMs eine gemeinsame übergeordnete VDI verwenden, kann eine VM die Daten verwenden, die von einer anderen VM in den Cache eingelesen wurden. Ein weiterer Zugriff auf das Masterimage auf freigegebenem Speicher ist nicht erforderlich.

Für IntelliCache ist ein Thin-bereitgestellter lokaler SR erforderlich. Thin Provisioning ist eine Möglichkeit, die Nutzung des verfügbaren Speichers zu optimieren. Dieser Ansatz ermöglicht es Ihnen, den lokalen Speicher anstelle von gemeinsam genutztem Speicher stärker zu nutzen. Es basiert auf der On-Demand-Zuweisung von Datenblöcken. Bei anderen Ansätzen werden alle Blöcke im Voraus zugeordnet.

Wichtig:

Thin Provisioning ändert den lokalen Standardspeichertyp des Hosts von LVM in EXT3. Thin Provisioning muss aktiviert sein, damit das lokale Caching von Citrix Virtual Desktops ordnungsgemäß funktioniert.

Mit Thin Provisioning kann der Administrator den VMs, die eine Verbindung zum Storage Repository (SR) herstellen, mehr Speicherplatz bereitstellen, als auf der SR verfügbar ist. Es gibt keine Speicherplatzgarantien, und die Zuweisung einer LUN beansprucht keine Datenblöcke, bis die VM Daten schreibt.

Warnung:

Thin Provisioned SRs kann der physische Speicherplatz ausfallen, da die VMs innerhalb wachsen können, um Festplattenkapazität bei Bedarf zu verbrauchen. IntelliCache VMs behandeln diesen Zustand, indem sie automatisch auf gemeinsam genutzten Speicher zurückfallen, wenn der lokale SR-Cache voll ist. Mischen Sie herkömmliche virtuelle Maschinen und IntelliCache VMs nicht auf demselben SR, da IntelliCache-VMs schnell an Größe wachsen können.

IntelliCache Bereitstellung

IntelliCache muss entweder während der Hostinstallation aktiviert oder manuell auf einem laufenden Host mit der Befehlszeilenschnittstelle aktiviert werden.

Es wird empfohlen, ein hochleistungsfähiges lokales Speichergerät zu verwenden, um die schnellstmögliche Datenübertragung sicherzustellen. Verwenden Sie beispielsweise eine Solid State Disk oder ein Hochleistungs-RAID-Array. Berücksichtigen Sie bei der Dimensionierung lokaler Festplatten sowohl den Datendurchsatz als auch die Speicherkapazität. Der freigegebene Speichertyp, der zum Hosten des virtuellen Datenträgerimages (Virtual Disk Image, VDI) verwendet wird, muss NFS- oder EXT-basiert sein.

Bei Host-Installation aktivieren

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

Das Fenster "Virtual Machine Storage" in den Installationsbildschirmen.

Konvertieren eines vorhandenen Hosts zur Verwendung von Thin Provisioning

Geben Sie die folgenden Befehle ein, um eine vorhandene LVM-basierte lokale SR zu löschen und sie durch eine Thin-bereitgestellte EXT3-basierte SR zu ersetzen.

Warnung:

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

Um das lokale Zwischenspeichern 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

VM-Startverhalten

Es gibt zwei Optionen für das Verhalten eines VM-VDI, wenn die VM gestartet wird:

  1. Modus für freigegebene Desktops

    Beim VM-Start wird der VDI auf den Status 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 aus, wenn Sie standardisierte Desktops bereitstellen möchten, für die Benutzer keine permanenten Änderungen vornehmen können.

  2. Modus “Privater Desktop”

    Beim VM-Start befindet sich der VDI in dem Zustand, in dem er beim letzten Herunterfahren verblieben war.

    Wählen Sie diese Option aus, wenn Sie möchten, dass Benutzer permanente Änderungen an ihren Desktops vornehmen können.

Einstellungen des VM-Caching-Verhaltens

Das VDI-Flag allow-caching diktiert das Caching-Verhalten:

Modus für freigegebene Desktops

Bei freigegebenen Desktops lautet die on-boot Option reset und das allow-caching Flag lautet true. Neue VM-Daten werden nur in den lokalen Speicher geschrieben. Es gibt keine Schreibvorgänge in den freigegebenen Speicher. Dieser Ansatz bedeutet, dass die Last auf gemeinsam genutztem Speicher reduziert wird. Die VM kann jedoch nicht zwischen Hosts migriert werden.

Modus “Privater Desktop”

Bei privaten Desktops ist die Option beim Start auf persist und das Allow-Caching-Flag auf festgelegt true. Neue VM-Daten werden sowohl in lokalen als auch in gemeinsam genutzten Speicher geschrieben. Lesevorgänge zwischengespeicherter Daten erfordern keinen E/A-Datenverkehr zum gemeinsam genutzten Speicher, sodass die Last auf gemeinsam genutztem Speicher reduziert wird. VM-Migration auf einen anderen Host ist zulässig, und der lokale Cache auf dem neuen Host wird beim Lesen der Daten aufgefüllt.

Implementierungsdetails 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 bei einem ihrer VDIs Caching-Verhaltens-Flags auf on-boot=reset und festgelegt sind allow-caching=true. 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 Speicher-Repository (SR). Jeder Host verfügt über einen Konfigurationsparameter (Local-cache-sr genannt), der angibt, welcher (lokale) SR für die Cache-Dateien verwendet werden soll. Typischerweise handelt es sich bei diesem SR um einen EXT-Typ SR. Wenn Sie VMs mit IntelliCache ausführen, werden Dateien in der SR mit Namen angezeigt uuid.vhdcache. Diese Datei ist die Cache-Datei für den VDI mit der angegebenen UUID. Diese Dateien werden nicht in XenCenter angezeigt. Die einzige Möglichkeit, sie zu sehen, besteht darin, sich bei dom0 anzumelden und den Inhalt von /var/run/sr-mount/sr-uuid

F: Wie kann ich eine bestimmte SR für die Verwendung als Cache angeben?

A: Das Hostobjektfeld local-cache-sr verweist auf eine lokale SR. Sie können seinen Wert anzeigen, indem Sie den folgenden Befehl ausführen:

xe sr-list params=local-cache-sr,uuid,name-label

Dieses Feld ist entweder festgelegt:

  • 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. Der Befehl erfordert, dass der angegebene Host deaktiviert ist. Fahren Sie die VMs herunter, wenn Sie diesen Befehl verwenden.

Die erste Option verwendet den lokalen SR vom Typ EXT und wird während der Hostinstallation 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 ist (z. B. beim VM-Start). Wenn der Host offline ist, wenn Sie den VDI löschen, sammelt die SR-Synchronisierung, die beim Start Garbage 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