Autostart von Shell-Skripten

Um eine virtuelle Maschine als Systemservice zu verwalten oder beim Systemstart automatisch zu starten, kann der Aufruf von bhyve oder ein Shell-Skript in das rc-Framework eingebunden werden.

Das GitHub-Repository: https://github.com/Beckhoff/TCBSD_Hypervisor_Samples/tree/main/vm_autostart umfasst Beispieldateien, die aufzeigen, wie eine VM-Konfiguration mit Hilfe von Shell-Skripten in das rc-Framework eingebunden werden kann. Das Beispiel im Verzeichnis vm_autostart enthält dafür die entsprechenden Dateien:

vm_autostart
├── Makefile
├── rc.d
│   └── samplevm
└── samplevm

Das im Kapitel Shell-Skripte einsetzen aufgezeigte Beispielskript samplevm ist um start, stop und status Parameter erweitert worden, um eine VM-Konfiguration mit VNC-Zugriff über die Kommandozeile starten und stoppen zu können.

Über das vm_autostart/rc.d/samplevm Shell-Skript wird das vm_autostart/samplevm Shell-Skript in das rc-Framework eingebunden.

Steuerung des VM-Systemservice mit dem Beispielskript:

1. Navigieren Sie in das Verzeichnis mit cd /usr/home/TCBSD_Hypervisor_Samples-main/vm_autostart
2. Geben Sie den Befehl doas make ein, um beide Dateien aus dem vm_autostart Verzeichnis auf dem TwinCAT/BSD-Host zu installieren.
3. Geben Sie anschließend doas service samplevm enable ein, um die VM-Instanz über service(8) als Systemservice für den Autostart zu aktivieren.
4. Nach der Einbindung des Shell-Skripts als Systemservice, kann die virtuelle Maschine mit dem Befehl doas service samplevm start gestartet werden.
In diesem Beispiel kann auf die virtuelle Maschine über einen VNC-Client auf dem TCP-Port "5900" zugegriffen werden. Ab sofort wird die virtuelle Maschine auch nach einem Neustart des TwinCAT/BSD-Hosts wieder gestartet und ist für die Nutzung verfügbar. Mit dem Befehl doas service samplevm stop kann die virtuelle Maschine wieder gestoppt werden.

Das Beispielskript ist eine erste Ausgangsbasis, auf der aufgebaut werden kann und veranschaulicht, wie virtuelle Maschinen unter TwinCAT/BSD gestartet, verwaltet und automatisiert werden können. Das Beispielskript vm_autostart/samplevm kann je nach Bedarf angepasst und erweitert werden, um eine gewünschte VM-Konfiguration zu erreichen. Das Kapitel Erweiterte VM-Konfiguration erläutert weitere Parameter, die verwendet werden können, um die Konfiguration einer virtuellen Maschine auszuweiten.

Detaillierte Informationen zum Erstellen von rc.d-Skripten finden sich im FreeBSD-Handbuch im Kapitel Practical rc.d scripting in BSD.