All'improvviso, il Riepilogo Hypervisor La pagina nella dashboard di Horizon non aggiornava le statistiche di utilizzo di vCPU, RAM e archiviazione locale per uno dei nodi di calcolo. Vedo che nuove VM vengono avviate su quel nodo di calcolo, ma la pagina delle statistiche mostrava ancora che tutte le vCPU, la RAM e il disco erano intatti/non utilizzati (sebbene le nuove VM abbiano consumato tutte le risorse disponibili su quel nodo). Ecco un'istantanea dell'errore "nova.compute.manager Stderr:u qemu-img:Impossibile aprire ”
Di seguito è riportata l'istantanea del Riepilogo Hypervisor pagina che mostra le statistiche di utilizzo di tutti gli host di calcolo. Nel mio caso, l'host di calcolo (cloudsecurity4 ) non riportava le statistiche di utilizzo corrette.
Mi aspettavo che le statistiche di utilizzo cambiassero quando vengono lanciate nuove VM, ma non è stato così. L'istantanea seguente mostra il numero di macchine virtuali pianificate sul nodo di calcolo "cloudsecurity4".
Riscontri problemi simili in OpenStack Mitaka? Quindi, ecco come ho risolto il problema.
Soluzione:
Passaggio 1: Cerca eventuali messaggi di errore nell'host di calcolo.
# tailf /var/log/nova/nova-compute.log
ERROR nova.compute.manager Stderr: u"qemu-img: Could not open '/var/lib/libvirt/images/test-1.qcow2': Could not open '/var/lib/libvirt/images/test-1.qcow2': Permission denied\n" INFO nova.compute.resource_tracker [req-5e1d0cdf-216b-4ca8-bdb4-c178825784ba - - - - -] Auditing locally available compute resources for node cloudsecurity4 ERROR nova.compute.manager [req-5e1d0cdf-216b-4ca8-bdb4-c178825784ba - - - - -] Error updating resources for node cloudsecurity4
Il messaggio di errore precedente dice "qemu-img ' non è in grado di aprire un'immagine archiviata in /var/lib/libvirt/images cartella e, sorprendentemente, stava cercando test-1.qcow2 . Non sono chiaro perché Nova stesse persino cercando di eseguire qemu-img su test-1.qcow2 file, perché non vedo alcuna istanza in esecuzione nel nome di "test-1 ' né mi ricordo che uno correva prima. Anche se un'istanza denominata "test-1 ' stava correndo prima, perché Nova stava persino tentando di leggere quell'immagine ora? Bene, la risposta a questa domanda rimane ancora vuota per me.
Tuttavia, l'errore di autorizzazione negata mi ha indotto a controllare l'autorizzazione della cartella "/var/lib/libvirt/images ' ed era di proprietà dell'utente 'libvirt-qemu ‘ e raggruppa ‘kvm '. Allora, cosa pensi che avrei fatto? Ovviamente, ho cambiato la proprietà della cartella in "nova:nova ' pensando che nova-compute il servizio non dovrebbe avere problemi nella lettura dei file di immagine.
Passaggio 2: Fornisci l'autorizzazione per nova per leggere le immagini in /var/lib/libvirt/images cartella.
# chown nova:nova /var/lib/libvirt/images
Passaggio 3: Riavvia nova-compute servizio
# /etc/init.d/nova-compute restart
Sai cosa? Il Riepilogo Hypervisor ha iniziato a mostrare le statistiche di utilizzo corrette per l'host di calcolo (cloudsecurity4 ).
Sono tornato a nova-compute log per vedere cosa dice ora.
# tailf /var/log/nova/nova-compute.log
WARNING nova.virt.libvirt.driver [req-9305df9b-d716-4c3c-bc3e-b75945f85ed8 - - - - -] Periodic task is updating the host stat, it is trying to get disk test, but disk file was removed by concurrent operations such as resize. 2017-06-01 22:35:59.818 97322 INFO nova.compute.resource_tracker [req-9305df9b-d716-4c3c-bc3e-b75945f85ed8 - - - - -] Total usable vcpus: 16, total allocated vcpus: 13
Dall'istantanea sopra, era chiaro che nova.compute.resource_tracker stava segnalando le statistiche di utilizzo corrette dell'host di calcolo.
C'è anche una segnalazione di bug che parla di questo problema.