Lokales ISO Repository im XenServer anlegen

Wer hat nicht schon mal einen einzelnen XenServer zum Ausprobieren auf ausrangierter Hardware installiert? Selbst in der Gratis-Edition ("free" lt. Citrix) unterstützt der XenServer Funktionen, die bei anderen Hypervisor-Varianten entweder Geld kosten oder den Einsatz (sprich: Einkauf) zusätzlicher Software erfordern.
Wenn man nun bloss einen einzelnen Server betreibt, und ISO Dateien bereitstellen muss, um VMs davon zu installieren, bleiben folgende Möglichkeiten:

  1. Einrichten einer Freigabe auf dem PC, mit dem man den XenServer steuert.Dies ist üblicherweise der Rechner, auf dem XenCenter installiert ist. Dabei richtet man vom XenServer aus einen Zugriff auf ein freigegebenes Verzeichnis des Notebooks / der Workstation ein.

    Vorteil:
    keine langen Kopieraktionen, keine Synchronisation für neue ISOs

    Nachteil:
    wenn Notebook / Workstation nicht verfügbar sind, ist das Storage Repository mit den ISOs auf dem XenServer unbrauchbar.
    Erfordert zwischen XenServer und Workstation SMB/CIFS Ports & Firewallfreischaltungen.
  2. Eine NFS oder SMB/CIFS Freigabe auf einer (kleinen) VM mit Linux oder Windows, die auf dem XenServer selbst läuft.

    Vorteil:
    leicht einzurichten und keine Abhängigkeiten von externen Maschinen

    Nachteil:
    eine weitere Lizenz (Windows) bzw. passendes Wissen (Linux) nötig
    Wenn der XenServer gebootet ist, ist das ISO Storage Repository erst einmal defekt, weil die zugehörige VM noch nicht gestartet ist.
  3. Ein lokales ISO Storage Repository (Hey, darum geht's hier :-) )
    Sofern auf dem XenServer der Rest der Installationsplatte (bzw. SSD) bereits als Ext3-SR bereitgestellt ist (während der Installation "für XenDesktop optimieren" auswählen oder nachträglich umwandeln) lässt sich dies mit ein paar einfachen Handgriffen an der XenServer Konsole (SSH, Putty oder über XenCenter) einrichten.

    Vorteil:
    keine Abhängigkeiten zu externem Storage, Servern oder VMs

    Nachteil:
    nicht über XenCenter / Wizard einzurichten
    befüllen des ISO-Repositories über WinSCP

Los geht's:
Zuerst gilt es, die SR UUID des lokalen Storage Repositories herauszufinden. Mit XenCenter gelingt dies leicht, die UUID wird über die "General" Ansicht des SRs preisgegeben - wie im folgenden Screenshot dargestellt:

Aha, meine UUID lautet also b700c08e-206f-06e2-c180-25dab8e1237d - das wollte ich schon immer wissen. Der Pfad, unter dem das Storage Repository im XenServer normalerweise verfügbar gemacht ist, kann mit dem Linux Befehl "mount" herausgefunden werden, in unserem Fall (XenServer 7.2) ist es /run/sr-mount/b700c08e-206f-06e2-c180-25dab8e1237d.

In der Shell (oder PuTTY) können wir nun mit drei einfachen Kommandos das lokale ISO SR einrichten:

Schritt 1: 
Anlegen eines Verzeichnisses, unterhalb des obigen Pfades. Hier werden später die ISO Dateien hineinkopiert. Dies kann entweder über WinSCP (komfortabel) oder in der Shell selbst erledigt werden.
Mein Vorschlag ist das Linux Kommando:
mkdir /run/sr-mount/b700c08e-206f-06e2-c180-25dab8e1237d/iso
Fertig? Gut. 

Schritt 2:
Es folgt das eigentliche Einrichten des ISO SRs mit dem folgenden XE Kommando:
xe sr-create type=iso name-label=ISO shared=false device-config:location=/run/sr-mount/b700c08e-206f-06e2-c180-25dab8e1237d/iso device-config:legacy_mode=true content-type=iso

Das obige Kommando gibt auf der Shell die UUID des angelegten ISO SRs zurück (in meinem Fall 800a4116-a710-7764-daef-7f2d474c88a8, diese UUID kann man sich ja leicht merken), alternativ kann diese auch wieder über XenCenter in Erfahrung gebracht werden - sie wird für den dritten Befehl benötigt, der kosmetische Wirkung hat...

Schritt 3:
Immer wenn neue ISO Files in das ISO SR kopiert werden, muss ein Rescan des SR durchgeführt werden (Button im XenCenter auf der Storage Ansicht des SRs), aber mit folgendem Trick aktualisiert der XenServer höchstpersönlich das ISO SR:
xe sr-param-set uuid=800a4116-a710-7764-daef-7f2d474c88a8 other-config:auto-scan=true

Hier ist darauf zu achten, dass die SR UUID von dem frisch angelegten ISO SR verwendet wird, nicht von dem zuvor verwendeten SR, welches für die Aufnahme von virtuellen Harddisks der VMs dient.

Nun fehlt nur noch das Betanken des neuen ISO SR über WinSCP.
Oh, und wer mehr über seinen XenServer herausfinden möchte, ist herzlich eingeladen, ein passendes Training bei mir zu machen, aktuell wäre dies das CXS-301 Training (bei Arrow ECS).


Zack - fertig!

Kommentare

Beliebte Posts aus diesem Blog

Auf NFS Shares mit Windows zugreifen

Citrix Default Passwords