Corrija o erro do Openstack Nova "NoValidHost: Nenhum host válido foi encontrado. Não há hosts suficientes disponíveis."
Eu estava tentando implantar o Openstack para teste dentro do VirtualBox e recebi um erro “NoValidHost: Nenhum host válido foi encontrado. Não há hosts suficientes disponíveis. ” ao tentar executar uma instância com o comando nova boot.
Fiz isso depois de converter VDI para Qcow2 e tentar iniciá-lo no Nova, verifique
- Como converter imagem de disco VirtualBox (VDI) e img para o formato Qcow2
Isso normalmente acontece quando você usa qemu como hipervisor dentro do VirtualBox em vez da aceleração KVM para executar o serviço Openstack Compute (Nova).
QEMU
Do ponto de vista do serviço Compute, o hipervisor QEMU é muito semelhante ao hipervisor KVM. Ambos são controlados por libvirt, ambos suportam o mesmo conjunto de recursos e todas as imagens de máquinas virtuais compatíveis com KVM também são compatíveis com QEMU.
A principal diferença é que o QEMU não oferece suporte à virtualização nativa. Conseqüentemente, o QEMU tem desempenho pior que o KVM e é uma escolha ruim para implantação em produção.
Quando você tenta iniciar uma instância com o comando nova boot e obtém o status 'ERROR', o arquivo de log /var/log/nova/nova-conductor.log provavelmente está gerando o erro “NoValidHost : Nenhum host válido foi encontrado. Não há hosts suficientes disponíveis. “. Você pode verificar executando:
tail -f /var/log/nova/nova-conductor.log
Para corrigir esse problema, abra o arquivo nova.conf e adicione as seguintes linhas.
openstack-config --set /etc/nova/nova.conf DEFAULT compute_driver libvirt.LibvirtDriver
openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu
Ativamos o QEMU com o comando acima e transformamos o driver de computação em libvirt.LibvirtDriver.
Se você estiver executando o Openstck em um servidor Bare Metal, será necessário definir virt_type como kvm. Sua configuração ficará conforme abaixo:
openstack-config --set /etc/nova/nova.conf DEFAULT compute_driver libvirt.LibvirtDriver
openstack-config --set /etc/nova/nova.conf libvirt virt_type kvm
Todos os valores que podem ser definidos para virt_type dependendo do hipervisor que você está usando são:
- kvm
- lxc
- qemu
- hum
- xen
- paralelos
Para algumas operações você também pode ter que instalar o utilitário guestmount:
No Ubuntu/Debian
sudo apt-get install guestmount
No CentOS e RHEL
sudo yum install libguestfs-tools
No openSUSE:
sudo zypper install guestfs-tools
O hipervisor QEMU e KVM suporta os seguintes formatos de imagem de máquina virtual:
- Cru
- Cópia na gravação do QEMU (qcow2)
- Formato de disco da máquina virtual VMware (vmdk)
Agora você deve conseguir iniciar uma instância com Openstack Nova usando o hipervisor QEMU.
Tags:
- Como configurar o Qemu como hipervisor Openstack
- Como corrigir “NoValidHost: Nenhum host válido foi encontrado. Não há hosts suficientes disponíveis. no sistema operacional CentOS 7 Openstack Host.
- Instalando ferramentas guestfs no Linux
- Integração Nova com Qemu
Mais sobre OpenStack:
Como migrar uma instância OpenStack de um host de computação para outro
Como redimensionar uma instância/máquina virtual OpenStack
Como criar volumes OpenStack Cinder e anexar a uma VM
Como adicionar imagem RHEL 8 qcow2 ao OpenStack Glance