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 einfache 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.
Wenn das Beispielskript wie in Kapitel Shell-Skripte einsetzen beschrieben, auf den TwinCAT/BSD-Host geladen wurde, kann mit cd /home/Administrator/TCBSD_Hypervisor_Samples-main/vm_autostart in das Verzeichnis gewechselt werden.
vm_autostart
├── Makefile
├── rc.d
│ └── samplevm
└── samplevmDas 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 /home/Administrator/TCBSD_Hypervisor_Samples-main/vm_autostart - 2. Geben Sie den Befehl
doas makeein, um beide Dateien aus demvm_autostartVerzeichnis auf dem TwinCAT/BSD-Host zu installieren. - 3. Geben Sie anschließend
doas service samplevm enableein, um die VM-Instanz überservice(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 startgestartet werden. - 5. Der Befehl
doas service samplevm statusgibt aus, ob die virtuelle Maschine wieder gestartet wurde und mit welcher Prozess ID sie ausgeführt wird.
- In diesem Beispiel kann auf die virtuelle Maschine über einen VNC-Client via 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.
- 1. Mit dem Befehl
doas service samplevm stopkann die virtuelle Maschine wieder gestoppt werden. - 2. Mit dem Befehl
doas service samplevm disablewird der Autostart der VM wieder deaktiviert.
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 Beispielskriptvm_autostart/samplevmkann 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.