====== OmniVista 2500 Betrieb mit KVM ======
Ab OmniVista 2500 Release 4.5R2 ist der Betrieb auf KVM offiziell unterstützt!
Um eine bestehende VM als XML zu exportieren (um sich die Änderung etwas zu erleichtern) verwendet man folgendes Kommando:
virsh dumpxml OmniVista > omnivista.xml
===== Änderungen in XML für "fstrim"-Unterstützung =====
* Der Pfad zu **disk1.qcow2** und **disk2.qcow2** muss entsprechend angepasst werden
* Die Verwendung von Typ **sata** führt dazu dass discard auch bei älteren Hosts funktioniert
* Der Zusatz **discard='unmap'** sorgt dafür dass "fstrim -av" innerhalb der VA zu einem verminderten Speicherbedarf führt
==== Informationen zu den qcow2-Disks ====
Diese Ausgabe gilt für eine Version in meiner Installation, später können diese Werte abweichen!
$ qemu-img info disk1.qcow2
image: disk1.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 706M
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
$ qemu-img info disk2.qcow2
image: disk2.qcow2
file format: qcow2
virtual size: 256G (274877906944 bytes)
disk size: 1.5G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
===== Importieren der geänderten XML Datei =====
Um Fehlermeldungen zu vermeiden, sollten folgende Angaben gelöscht/angepasst werden
* "" (Name der VM)
* "" (für qcow2 Disks, wie bereits im vorherigen Schritt beschrieben)
* "" (aus XML-Datei löschen, wird neu generiert beim Import)
* "" (aus XML-Datei löschen, wird neu generiert beim Import)
virsh define omnivistapreview.xml
Domain OmniVistaPreview defined from omnivistapreview.xml
===== Start der OmniVista VA =====
virsh start OmniVistaPreview
Domain OmniVistaPreview started
===== Anzeige der laufenden VMs =====
virsh list --all
Id Name State
----------------------------------
6 tiger running
9 fhem running
11 zabbix-lts running
12 fwinet running
15 OmniVista running
23 OmniVistaPreview running
- debian-microk8s shut off
- n-kvm1 shut off
- OV44B18 shut off
Ab hier funktioniert die Einrichtung von OmniVista 2500 wie gehabt!
{{ :ovpreview.png?direct |}}
====== Aktivieren des "Guest Agent" in OmniVista ======
Es empfiehlt sich die XML-Konfiguration auf dem KVM Host zu prüfen, bevor man den Guest Agent innerhalb der VA installiert, denn sonst müsste man die VM evtl. mehrfach neustarten (außer man fügt dies "live" hinzu, wozu man aber die notwendigen KVM/QEMU-Kenntnisse benötigt).
===== Prüfen ob QEMU Guest Agent aktiviert ist (KVM Host) =====
Damit der QEMU Guest Agent in der VM verwendet werden kann, muss der KVM Host (in meinem Fall "Debian Buster") folgende Konfiguration in der XML Konfiguration haben. (Dies ist soweit ich weiß der Standard, aber ich erwähne es hier der Vollständigkeit halber.)
===== Installation des QEMU Guest Agents innerhalb der OmniVista VA =====
==== OmniVista VA Menü (cliadmin) -> Option 11: "Set Up Optional Tools" auswählen ====
{{::va-menue-11.png?direct|}}
==== In diesem Menü muss dann nur noch Option 5: "KVM/QEMU Guest Tools" ausgewählt werden ====
{{::va-menue-guest-agent-kvm-qemu.jpeg?direct|}}
Nach der Installation muss die OmniVista neugestartet werden!
==== Prüfen der Funktion des QEMU Guest Agents (vom KVM Host) ====
=== virsh: guestvcpus ===
virsh # guestvcpus OmniVistaPreview
vcpus : 0-7
online : 0-7
offlinable : 0-7
=== virsh qemu-agent-command Kommandos ===
benny@shiva:~$ virsh qemu-agent-command OmniVistaPreview '{"execute":"guest-get-time"}' | jq
{
"return": 1592930405468673000
}
benny@shiva:~$ virsh qemu-agent-command OmniVistaPreview '{"execute":"guest-ping"}' | jq
{
"return": {}
}
benny@shiva:~$ virsh qemu-agent-command OmniVistaPreview '{"execute":"guest-fstrim"}' | jq
{
"return": {
"paths": [
{
"minimum": 512,
"path": "/home/jail/opt",
"trimmed": 0
},
{
"minimum": 512,
"path": "/opt",
"trimmed": 76591104
},
{
"minimum": 512,
"path": "/boot",
"trimmed": 0
},
{
"minimum": 512,
"path": "/home/jail/usr/share/terminfo",
"trimmed": 0
},
{
"minimum": 512,
"path": "/home/jail/etc",
"trimmed": 0
},
{
"minimum": 512,
"path": "/home/jail/var",
"trimmed": 0
},
{
"minimum": 512,
"path": "/home/jail/lib64",
"trimmed": 0
},
{
"minimum": 512,
"path": "/home/jail/usr/lib64",
"trimmed": 0
},
{
"minimum": 512,
"path": "/home/jail/usr/libexec",
"trimmed": 0
},
{
"minimum": 512,
"path": "/home/jail/lib",
"trimmed": 0
},
{
"minimum": 512,
"path": "/",
"trimmed": 0
}
]
}
}
=== Exemplarisches Fehlerbild ===
In diesem Fall funktioniert die Kommunikation zwischen KVM Host und dem OmniVista VA QEMU Guest Agent nicht.
virsh # guestvcpus OmniVista
error: Guest agent is not responding: QEMU guest agent is not connected