TotW: qemu-guest-agent
Wer kennt das Problem nicht: Die VM wurde über Nacht auf die Festplatte suspendiert und am nächste Morgen geht die Uhr der VM falsch.
Mit tinker panic 0
in /etc/ntpd.conf
korrigiert sich das zwar irgendwann, aber nervig ist es trotzdem.
libvirt bietet die Möglichkeit, innerhalb der VM den sog. qemu-guest-agent zu starten, der es dann libvirt erlaubt, von extern verschiedenen Dinge anzustoßen:
- das Stellen der Uhr:
domtime --now $VM
- das Herunterfahren (als Alternative zu einem ACPI-Power-Button Event):
shutdown --mode=agent $VM
- die IP-Adresse(n) abfragen:
domifaddr --source agent $VM
- Informationen über gemountete Dateisysteme abfragen:
domfsinfo $VM
- und mehr
Dazu braucht libvirt zunächst einen Kanal in die VM:
Mit virsh edit "$VM"
fügt man innerhalb vom Abschnitt <devices>..</devices>
folgendes Fragment hinzu:
<channel type="unix">
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
Anschließend installiert man innerhalb der VM den Agent mit apt install qemu-guest-agent
.
Dann kann man per virsh domtime --now "$VM"
z.B. die Uhr stellen.
Schade nur, dass UVMM und UCS das nicht out-of-the-box können.