Ricerca nel sito web

Correggi l'errore Openstack Nova "NoValidHost: non è stato trovato alcun host valido. Non ci sono abbastanza host disponibili. "


Stavo cercando di distribuire Openstack per i test all'interno di VirtualBox e ho ricevuto un errore "NoValidHost: non è stato trovato alcun host valido. Non ci sono abbastanza host disponibili. " durante il tentativo di eseguire un'istanza con il comando nova boot.

L'ho fatto dopo aver convertito VDI in Qcow2 e aver provato ad avviarlo su Nova, controlla

  • Come convertire VirtualBox Disk Image (VDI) e img nel formato Qcow2

Questo normalmente accade quando utilizzi qemu come hypervisor all'interno di VirtualBox invece dell'accelerazione KVM per eseguire il servizio Openstack Compute (Nova).

QEMU

Dal punto di vista del servizio di calcolo, l'hypervisor QEMU è molto simile all'hypervisor KVM. Entrambi sono controllati tramite libvirt, entrambi supportano lo stesso set di funzionalità e tutte le immagini di macchine virtuali compatibili con KVM sono anche compatibili con QEMU.

La differenza principale è che QEMU non supporta la virtualizzazione nativa. Di conseguenza, QEMU ha prestazioni peggiori di KVM ed è una scelta sbagliata per una distribuzione di produzione.

Quando provi ad avviare un'istanza con il comando di avvio nova e ottieni lo stato 'ERROR', il file di registro /var/log/nova/nova-conductor.log probabilmente restituisce l'errore "NoValidHost : non è stato trovato alcun host valido. Non ci sono abbastanza host disponibili. “. Puoi verificarlo eseguendo:

tail -f /var/log/nova/nova-conductor.log

Per risolvere questo problema, apri il file nova.conf e aggiungi le seguenti righe.

openstack-config --set /etc/nova/nova.conf DEFAULT compute_driver libvirt.LibvirtDriver
openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

Abbiamo abilitato QEMU con il comando precedente e abbiamo impostato il driver di elaborazione su libvirt.LibvirtDriver.
Se  stai utilizzando Openstck su un server Bare Metal, dovrai impostare virt_type su kvm. La tua configurazione apparirà come di seguito:

openstack-config --set /etc/nova/nova.conf DEFAULT compute_driver libvirt.LibvirtDriver
openstack-config --set /etc/nova/nova.conf libvirt virt_type kvm

Tutti i valori che possono essere impostati per virt_type a seconda dell'hypervisor che stai utilizzando sono:

  1. kvm
  2. lxc
  3. qemu
  4. uml
  5. xen
  6. paralleli

Per alcune operazioni potrebbe essere necessario installare anche l'utilità guestmount:
Su Ubuntu/Debian

sudo apt-get install guestmount

Su CentOS e RHEL

sudo yum install libguestfs-tools

Su openSUSE:

sudo zypper install guestfs-tools

Sia l'hypervisor QEMU che quello KVM supportano i seguenti formati di immagine della macchina virtuale:

  1. Crudo
  2. QEMU Copia su scrittura (qcow2)
  3. Formato del disco della macchina virtuale VMware (vmdk)

Ora dovresti essere in grado di avviare un'istanza con Openstack Nova utilizzando l'hypervisor QEMU.

Tag:

  • Come impostare Qemu come Hypervisor Openstack
  • Come risolvere il problema "NoValidHost: non è stato trovato alcun host valido. Non sono disponibili abbastanza host. sul sistema operativo host CentOS 7 Openstack.
  • Installazione degli strumenti guestfs su Linux
  • Integrazione di Nova con Qemu

Altro su OpenStack:

Come migrare un'istanza OpenStack da un host di calcolo a un altro

Come ridimensionare l'istanza OpenStack/la macchina virtuale

Come creare volumi Cinder OpenStack e collegarli a una VM

Come aggiungere l'immagine qcow2 di RHEL 8 a OpenStack Glance

Articoli correlati: