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
└── 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 /home/Administrator/TCBSD_Hypervisor_Samples-main/vm_autostart
- 2. Geben Sie den Befehl
doas make
ein, um beide Dateien aus demvm_autostart
Verzeichnis auf dem TwinCAT/BSD-Host zu installieren. - 3. Geben Sie anschließend
doas service samplevm enable
ein, 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 start
gestartet werden. - 5. Der Befehl
doas service samplevm status
gibt 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 stop
kann die virtuelle Maschine wieder gestoppt werden. - 2. Mit dem Befehl
doas service samplevm disable
wird 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/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.