Mit einem eigenen Master-Set lassen sich selbst erstellte virtuelle Maschinen in smartlearn für Piloten, Varianten und Durchführungen verwenden. Die Master-VMs werden im vCenter der smartlearn-Instanz erstellt und anschliessend auf der smartlearn-Appliance importiert.
In diesem Artikel steht <set> für den Namen des eigenen Master-Sets, z. B. vm-p-mas-<set> für den VM-Ordner. <Host> ist der ESXi-Host, auf dem die Netzwerke des Master-Sets liegen, <Datenspeicher> der Datenspeicher für die Master-VMs.
Master-Sets in smartlearn
Ein Master-Set ist ein VM-Ordner im vCenter. Er fasst die Master-VMs und die zugehörigen Netzwerke zusammen. smartlearn erkennt Ordner, VMs und Netzwerke ausschliesslich über benutzerdefinierte Attribute (smartlearn.*). Objekte ohne diese Attribute werden beim Import ignoriert.
Einfache und komplexe Master-Sets
Das Attribut smartlearn.master_set.single_machine am Ordner legt den Typ fest.
| Typ | single_machine | Inhalt | Zugriff | Netzwerk |
|---|---|---|---|---|
| Einfach | true | Windows-Haupt-VM und Firewall | Ein RDP-Stream auf die Haupt-VM, kein Zugriff auf die Firewall | Eigenes NAT-Netz lan0 hinter der Firewall |
| Komplex | false | Meist mehrere VMs, z. B. für IT-Lernumgebungen (DHCP, DNS, SMB konfigurieren) | VMRC pro VM | Eigene Netze lan0–lan3, dmz0 |
Dieser Artikel beschreibt ein komplexes Master-Set.
Ein einfaches Master-Set besteht aus einer Firewall und der Haupt-VM. Die Haupt-VM hängt nur am NAT-Netz pg-p-mas-<set>-lan0. Die Firewall verbindet dieses Netz mit VM Network und Transfer Network; der RDP-Stream erreicht die Haupt-VM über die Firewall.
Vom Master zur Durchführung
- Pilot: Aus den Master-VMs entsteht eine Prüfungs- oder Lernumgebungsvorlage (siehe Pilot erstellen). smartlearn klont dafür jede Master-VM ab dem Snapshot, der beim letzten Import eingelesen wurde.
- Variante: Aus dem Piloten entstehen Varianten, z. B. Prüfung SQL-Injections Frühling (siehe Variante erstellen).
- Durchführung: Aus einer Variante entstehen Durchführungen, z. B. Prüfung SQL-Injections Klasse 3A (siehe Durchführung erstellen).
Da smartlearn vom eingelesenen Snapshot klont und nicht vom aktuellen Zustand der Master-VM, kann die Master-VM jederzeit weiterentwickelt werden. Bestehende Piloten, Varianten und Durchführungen bleiben davon unberührt. Nach Abschluss der Arbeiten wird ein neuer Snapshot erstellt und erneut importiert. Neue Piloten verwenden ab dann diesen Stand.
Konfigurations-ISO
Jede Master-VM hat ein CD-Laufwerk. Im Master liegt dort der Platzhalter base.iso. Beim Klonen ersetzt smartlearn ihn durch ein eigenes ISO pro VM mit der Datei SMARTLRN.YML. Die Datei enthält Angaben zur Umgebung, zu den Teilnehmenden und zum Netzwerk der VM. Ein Script im Gast kann sie beim Start auslesen, z. B. um Hostnamen, Benutzerkonten oder IP-Adressen zu setzen. Details im Artikel Konfigurations-ISO (SMARTLRN.YML).
Aufbau eines Master-Sets
Ein komplexes Master-Set besteht aus einem VM-Ordner und einem gleichnamigen Netzwerkordner:
<Datacenter>
├── vm/vm-p-mas/vm-p-mas-<set>/ ← Master-Set (VM-Ordner)
│ ├── vm-p-mas-<set>-<vm1> ← Master-VMs
│ └── vm-p-mas-<set>-<vm2>
└── network/vs-p-mas/vs-p-mas-<set>/ ← Netzwerke des Master-Sets
├── pg-p-mas-<set>-lan0
├── pg-p-mas-<set>-lan1
├── pg-p-mas-<set>-lan2
├── pg-p-mas-<set>-lan3
└── pg-p-mas-<set>-dmz0
Der Netzwerkordner heisst gleich wie der VM-Ordner, nur mit vs- statt vm-. Darüber ordnet smartlearn die Netzwerke dem Master-Set zu.
VM-Ordner
Der Ordner vm-p-mas-<set> liegt direkt unter vm-p-mas und trägt die folgenden Attribute:

| Attribut | Beispiel | Bedeutung |
|---|---|---|
smartlearn.master_set.name | Informatik | Name des Master-Sets in smartlearn |
smartlearn.master_set.enabled | false | true = in der Piloterstellung auswählbar |
smartlearn.master_set.single_machine | false | false = komplexes, true = einfaches Master-Set |
Solange die Master-VMs nicht fertig sind, steht enabled auf false.
Netzwerke
Die PortGroups hängen an einem eigenen Standard-Switch vs-p-mas-<set> auf dem <Host>. Der Switch hat keine Verbindung nach aussen. Traffic nach aussen läuft über die Firewall des jeweiligen Master-Sets, die zusätzlich am VM Network hängt.
Jede PortGroup trägt die folgenden Attribute:
| Attribut | Beispiel lan0 | Bedeutung |
|---|---|---|
smartlearn.network.name | lan0 | Netzname in smartlearn (lan0–lan3, dmz0) |
smartlearn.master_network.cidr | 192.168.110.0/24 | Adressbereich |
smartlearn.master_network.gateway | 192.168.110.1 | Gateway |
smartlearn.master_network.dns | 192.168.110.1 | DNS-Server |
smartlearn.master_network.domain | smartlearn.lan | Domäne |
Beispiel für einen vollständigen Satz Netzwerke:
| PortGroup | smartlearn-Name | VLAN | Netz | Gateway | DNS | Domäne |
|---|---|---|---|---|---|---|
pg-p-mas-<set>-lan0 | lan0 | 110 | 192.168.110.0/24 | 192.168.110.1 | 192.168.110.1 | smartlearn.lan |
pg-p-mas-<set>-lan1 | lan1 | 111 | 192.168.111.0/24 | 192.168.111.1 | 192.168.111.1 | smartlearn.lan1 |
pg-p-mas-<set>-lan2 | lan2 | 112 | 192.168.112.0/24 | 192.168.112.1 | 192.168.112.1 | smartlearn.lan2 |
pg-p-mas-<set>-lan3 | lan3 | 113 | 192.168.113.0/24 | 192.168.113.1 | 192.168.113.1 | smartlearn.lan3 |
pg-p-mas-<set>-dmz0 | dmz0 | 120 | 192.168.120.0/24 | 192.168.120.1 | 8.8.8.8 | smartlearn.dmz |
Gateway und DNS existieren nur, wenn eine VM des Master-Sets (z. B. eine Firewall) diese Adresse übernimmt.
Zusätzlich gibt es zwei Netzwerke, die alle Master-Sets teilen:
| Netzwerk | smartlearn-Name | Zweck |
|---|---|---|
VM Network | wan0 | Verbindung ins Schulnetz / Internet |
Transfer Network | sml0 | Anbindung der Firewall für den RDP-Stream bei einfachen Master-Sets |
Installations-ISO hochladen
Das Installationsmedium des Betriebssystems muss auf einem Datenspeicher liegen, den der <Host> sieht.
- Im vSphere Client auf die Ansicht Speicher wechseln (drittes Symbol oben links).
<Datenspeicher>› Register Dateien › Zielordner öffnen.- Dateien hochladen und das ISO auswählen.
Der Upload läuft über den Browser. Der Tab muss offen bleiben, bis der Vorgang unter Kürzlich bearbeitete Aufgaben abgeschlossen ist.
VM anlegen
- Ansicht VMs und Vorlagen (zweites Symbol oben links) ›
<Datacenter>›vm-p-masaufklappen. - Rechtsklick auf
vm-p-mas-<set>› Neue virtuelle Maschine…

- Erstellungstyp: Neue virtuelle Maschine erstellen.
- Name und Ordner: VM-Namen eingeben (siehe Namensschema für Master-VMs). Im Baum darunter muss
vm-p-mas-<set>ausgewählt sein. Nur VMs direkt in diesem Ordner gehören zum Master-Set.


- Computing-Ressource: den jeweiligen ESXi-Host (
<Host>) wählen, auf dem die Netzwerke des Master-Sets liegen. Nur dort stehen sie der VM zur Verfügung.

- Speicher: den jeweiligen Datenspeicher (
<Datenspeicher>) wählen, der für die Master-VMs vorgesehen ist.

- Kompatibilität: Vorgabe belassen.
- Gastbetriebssystem: Familie und Version passend zum Betriebssystem.

- Hardware anpassen:
- CPU, Arbeitsspeicher: Standardwerte für Piloten. In smartlearn lassen sie sich pro Maschine anpassen.
- Neue Festplatte: Grösse festlegen, Zeile aufklappen, Festplattenbereitstellung auf Thin Provision setzen.
- Neues Netzwerk: Auswahlfeld › Durchsuchen… › nach
<set>filtern › PortGroup wählen. - Weitere Netzwerkadapter: Neues Gerät hinzufügen › Netzwerkadapter. Der erste Adapter ist
ethernet-0, der zweiteethernet-1usw. Auf diese Namen beziehen sich die Attribute. Ausgewertet werdenethernet-0bisethernet-3. - Neues CD-/DVD-Laufwerk: Datenspeicher-ISO-Datei › Installations-ISO auswählen, Beim Einschalten verbinden aktivieren.




- Erweiterte Parameter: Für Copy/Paste zwischen Arbeitsplatz und VM über Parameter hinzufügen die folgenden Einträge ergänzen:
| Attribut | Wert |
|---|---|
isolation.tools.copy.disable | FALSE |
isolation.tools.paste.disable | FALSE |
isolation.tools.setGUIOptions.enable | TRUE |
Bei bestehenden VMs: Einstellungen bearbeiten… › Erweiterte Parameter.
- Zusammenfassung prüfen › Beenden.


WICHTIG!
- Die Netzwerke des Master-Sets existieren nur auf dem
<Host>mit dem Standard-Switchvs-p-mas-<set>. VMs auf anderen Hosts können sie nicht verwenden. - smartlearn importiert nur VMs mit einem Windows- oder Linux-Gasttyp (Debian, Ubuntu, Red Hat, andere Linux, FreeBSD). VMs mit Andere werden ignoriert.
- Das CD-Laufwerk ist Pflicht und darf nach der Installation nicht entfernt werden (siehe Konfigurations-ISO (SMARTLRN.YML)).
- Feste MAC-Adressen müssen mit dem Präfix
00:50:56beginnen (für VMware reserviert).
Betriebssystem installieren
- VM einschalten (▷) und über Web-Konsole starten oder Remote Console starten das Betriebssystem installieren.
- VMware Tools installieren:
- Linux: Paket
open-vm-tools - Windows: Aktionen › Gastbetriebssystem › VMware Tools installieren
- Linux: Paket
- VM so einrichten, wie sie in Piloten zur Verfügung stehen soll: Benutzer, Software, Netzwerkkonfiguration, Material.
- Die IP-Adresse im Gast entspricht dem Attribut
ethernet-N.ip_address, oder der Adapter bezieht DHCP. smartlearn konfiguriert die IP nicht selbst. - VM herunterfahren.
base.iso einlegen
Nach der Installation wird das Installations-ISO durch den Platzhalter base.iso ersetzt.
- Rechtsklick auf die VM › Einstellungen bearbeiten…
- CD-/DVD-Laufwerk 1 aufklappen.
- CD-/DVD-Medien: Durchsuchen… ›
<Datenspeicher> › iso › base.iso. - Beim Einschalten verbinden muss aktiv sein.
- OK.
Ergebnis: [<Datenspeicher>] iso/base.iso, Beim Einschalten verbinden aktiv.
Master-Attribute
Die Attribute werden auf der Übersicht der VM in der Karte Benutzerdefinierte Attribute über Bearbeiten gesetzt. Die Liste ist über mehrere Seiten verteilt (Pfeile unten rechts). Leere Werte gelten als nicht gesetzt.

| Attribut | Beispiel | Bedeutung |
|---|---|---|
smartlearn.master.name | li244-vmLF | Name der VM in smartlearn. Ohne diesen Wert wird die VM nicht importiert |
smartlearn.master.description | Ubuntu 24.04 LTS | Beschreibung in smartlearn |
smartlearn.master.connection | vmrc / rdp | Zugriff auf die VM. Komplexes Master-Set: immer vmrc (Standard). Einfaches Master-Set: rdp für die Haupt-VM |
smartlearn.master.configurable | true / false | true = smartlearn legt beim Klonen das Konfigurations-ISO ein. Standard false |
smartlearn.master.preconfigured | true / false | true = VM kommt pro Umgebung nur einmal vor. Name, Ressourcen, Netzwerk und Berechtigungen sind in smartlearn nicht änderbar. false = mehrfach verwendbar, nummeriert (name1, name2) und anpassbar |
smartlearn.master.username | vmadmin | Angezeigter Benutzername. Standard vmadmin (Windows), root (Linux), vyos (Name beginnt mit vy) |
smartlearn.master.password | sml12345 | Passwort zum Benutzer |
smartlearn.master.uploadpath | /home/vmadmin/ | Zielordner für Datei-Uploads in die VM |
smartlearn.master.filetransferpath | C:\Users\Public\Desktop\Abgabe\ | Standardpfad für die Abgabe von Dateien. Kann pro Abgabeblock angepasst werden (siehe Abgabeblöcke) |
smartlearn.master.ethernet-N.dhcp | true / false | Adapter N bezieht DHCP |
smartlearn.master.ethernet-N.ip_address | 192.168.110.20 | Feste IP von Adapter N, falls dhcp nicht true ist |
N steht für 0 bis 3, entsprechend der Reihenfolge der Netzwerkadapter.
Beispiel Linux-Server
smartlearn.master.name li244-vmLS
smartlearn.master.description Ubuntu 24.04 Server
smartlearn.master.connection vmrc
smartlearn.master.configurable true
smartlearn.master.preconfigured true
smartlearn.master.username vmadmin
smartlearn.master.password sml12345
smartlearn.master.uploadpath /home/vmadmin/
smartlearn.master.ethernet-0.dhcp false
smartlearn.master.ethernet-0.ip_address 192.168.110.20
Beispiel Windows-Client
smartlearn.master.name wiv11-vmWP
smartlearn.master.description Windows 11 Client
smartlearn.master.connection vmrc
smartlearn.master.configurable true
smartlearn.master.preconfigured false
smartlearn.master.username vmadmin
smartlearn.master.password sml12345
smartlearn.master.uploadpath C:\Users\vmadmin\Desktop\
smartlearn.master.filetransferpath C:\Users\Public\Desktop\Abgabe\
smartlearn.master.ethernet-0.dhcp false
smartlearn.master.ethernet-0.ip_address 192.168.110.10
Snapshot erstellen
Der Import liest den aktuellen Snapshot der Master-VM ein. Von diesem Snapshot klont smartlearn beim Erstellen eines Piloten. VMs ohne Snapshot werden nicht importiert.
- VM ausgeschaltet.
- Register Snapshots › Snapshot erstellen…
- Name: Datum und Laufnummer, z. B.
JJJJ-MM-TT-01. - Beschreibung: Änderungen seit dem letzten Snapshot.
- Arbeitsspeicher einbeziehen und Gast-Dateisystem stilllegen bleiben leer.
- Erstellen.


Für eine neue Version der Master-VM: VM einschalten, anpassen, herunterfahren, base.iso kontrollieren, neuen Snapshot erstellen und erneut importieren. Alte Snapshots nur nach Rücksprache mit whatwedo löschen.
Master-Set aktivieren
Solange smartlearn.master_set.enabled auf false steht, ist das Master-Set in der Piloterstellung nicht auswählbar.
- Ordner
vm-p-mas-<set>auswählen. - Karte Benutzerdefinierte Attribute › Bearbeiten.
smartlearn.master_set.enabledauftruesetzen › Speichern.

Die Änderung wird mit dem nächsten Import wirksam.
Master-Set importieren
Nach jeder Änderung an VMs, Attributen oder Snapshots muss das Master-Set importiert werden. Der nachfolgende Command muss auf der smartlearn-Appliance ausgeführt werden.
smartlearn virtualization:master:import
Der Command zeigt zuerst den aktuellen Stand, liest danach das vCenter (Reading vSphere data (may take up to 5 minutes) …) und zeigt unter Changes to machines alle Änderungen. Neue Zeilen sind grün, geänderte Werte gelb. Eine leere Tabelle bedeutet, dass sich seit dem letzten Import nichts geändert hat.
Master-Set Status VM smartlearn Name Display Snapshot CPU RAM KS Networking
Informatik Enabled vm-p-mas-<set>-wiv25-vmWS wiv25-vmWS VMRC snapshot-188359 2 vCPU 4096 MB ISO lan0: 192.168.110.50
| Spalte | Inhalt |
|---|---|
Master-Set | Wert von smartlearn.master_set.name |
Status | Enabled, Disabled (Master-Set inaktiv) oder Deleted (VM nicht mehr vorhanden) |
VM | Name der VM im vCenter |
smartlearn Name | Wert von smartlearn.master.name |
Display | VMRC oder RDP |
Snapshot | ID des eingelesenen Snapshots |
CPU, RAM | Werte der Master-VM |
KS | ISO bei configurable=true, sonst Disabled. Faulty: kein CD-Laufwerk |
Networking | Pro Adapter Netzwerk und IP, z. B. lan0: 192.168.110.20 oder lan0: DHCP |
Abschliessend fragt der Command:
Do you want to save these changes? (yes/no) [yes]:
Mit yes werden die Änderungen gespeichert, mit no verworfen (Canceled, no changes were made.).
Dos und Don’ts
Bekannte Stolpersteine bei Änderungen an einem Master-Set, das bereits verwendet wird.
| Nicht | Folge | Stattdessen |
|---|---|---|
| Master-VM löschen und unter demselben Namen neu erstellen | smartlearn hat Namen und Snapshots der alten VM zwischengespeichert, was zu Fehlern führt | Neues Master-Set erstellen und diese Version importieren |
| Netzwerke zu einem Master-Set hinzufügen, das bereits verwendet wird | Das Netzwerk wird beim Klonen dieser VM in bestehenden Umgebungen nachträglich erstellt | Neues Master-Set erstellen und diese Version importieren |
Änderungen innerhalb einer bestehenden Master-VM (Software, Konfiguration) sind dagegen unproblematisch: VM anpassen, neuen Snapshot erstellen und den Import erneut ausführen.
Fehlersuche
Im Verbose-Modus gibt der Import aus, weshalb eine VM nicht zum Import vorgeschlagen wird, z. B. Possible VM-Box: … does not have a snapshot oder … does not have "smartlearn.master.name" tag.
smartlearn virtualization:master:import -vvv
| Symptom | Ursache / Lösung |
|---|---|
| VM fehlt in der Übersicht | Kein Snapshot, smartlearn.master.name leer, Gasttyp nicht Windows/Linux oder VM nicht direkt im Master-Set-Ordner |
| Master-Set fehlt | smartlearn.master_set.name am Ordner leer |
Skipping VM import of master-set …: no networks found | Netzwerkordner fehlt oder heisst nicht passend zum VM-Ordner |
Networking zeigt ethernet-N: reconfigured | Adapter hängt an einer PortGroup, die nicht im Netzwerkordner des Master-Sets liegt |
KS zeigt Faulty | configurable=true, aber kein CD-Laufwerk vorhanden |
Keine SMARTLRN.YML im Gast | Beim Einschalten verbinden war beim Snapshot nicht aktiv oder configurable ist nicht true |
| Netzwerk des Master-Sets nicht auswählbar | VM liegt auf einem anderen Host als der Standard-Switch des Master-Sets |
| Änderung in smartlearn nicht sichtbar | Kein neuer Snapshot oder Import nicht ausgeführt bzw. mit no beendet |
Checkliste
Pro Master-VM:
- Liegt direkt in
vm-p-mas/vm-p-mas-<set> - Auf dem
<Host>des Master-Sets, Festplatte Thin Provision - Gasttyp Windows oder Linux
- Netzwerkadapter an
pg-p-mas-<set>-*,VM NetworkoderTransfer Network - VMware Tools installiert
- CD-Laufwerk mit
base.iso, Beim Einschalten verbinden aktiv smartlearn.master.nameund weitere Master-Attribute gesetzt- Heruntergefahren, Snapshot erstellt
Pro Master-Set:
- VM-Ordner und Netzwerkordner mit Attributen vorhanden
smartlearn.master_set.enabled=true- Import auf der smartlearn-Appliance ausgeführt und mit
yesgespeichert