L’ambiente di virtualizzazione KVM (o meglio i tools QEMU per la sua gestione) mettono a disposizione una comoda e potente console di gestione, qemu-monitor. Qui di seguito si descrivono un paio di modi alternativi per usarla con profitto.
In proxmox la console è esposta tramite un socket unix in ‘/var/run/qemu-server/’ :
/var/run/qemu-server/<vmid>.mon
Se usate kvm tramite l’interfaccia standalone virt-manager (Su Ubuntu, ad esempio), il socket è:
/var/lib/libvirt/qemu/<nome vm>.monitor
In quest’ultimo caso occorre stoppare il servizio libvirtd ( /etc/init.d/libvirt-bin stop ) che tiene occupato il socket.
Nel caso di pve normalmente la console è rediretta in un’applet java accessibile via
interfaccia web, ma volendo ci si può lavorare direttamente:
1) Interattivamente, usando un programma di emulazione terminale, ad
esempio minicom:basta predisporre in /etc/minicom un file di configurazione come il seguente:
========= /etc/minicom/minirc.<vmid>-mon ====
pu port unix#/var/run/qemu-server/<vmid>.mon
pu minit
pu mreset
========================================
richiamando
minicom <vmid>-mon
si accede direttamente alla console.
2) Ancora più interessante l’accesso via script, usando il comando “socat”. Esempio:
echo 'info usb' | socat - unix-connect:/var/run/qemu-server/<vmid>.mon
Restituisce lo stato dei device usb collegati alla VM:
QEMU 0.14.0 monitor - type 'help' for more information
(qemu) info usb
Device 0.1, Port 1, Speed 12 Mb/s, Product QEMU USB Tablet
Device 0.2, Port 2, Speed 12 Mb/s, Product QEMU USB Hub
il comando seguente invece collega al volo un disco usb alla macchina:
echo 'usb_add disk:/var/lib/vz/demo1.qcow' | socat - unix-connect:/var/run/qemu-server/<vmid>.mon
Listando si nota il nuovo device ‘QEMU USB MSD’ con id 0.3 :
echo 'info usb' | socat - unix-connect:/var/run/qemu-server/<vmid>.mon
QEMU 0.14.0 monitor - type 'help' for more information
(qemu) info usb
Device 0.1, Port 1, Speed 12 Mb/s, Product QEMU USB Tablet
Device 0.2, Port 2, Speed 12 Mb/s, Product QEMU USB Hub
Device 0.3, Port 2.8, Speed 12 Mb/s, Product QEMU USB MSD
il disco si può scollegare con:
echo 'usb_del 0.3' | socat - unix-connect:/var/run/qemu-server/<vmid>.mon