ULC Lab · implementação reproduzível
Laboratório: Instalação mínima do OpenStack com DevStack em duas VMs Ubuntu
Você terá um ambiente OpenStack funcional (dashboard Horizon, API, criação de instâncias) rodando em duas VMs Ubuntu, simulando um nó de controle e um nó de computação. O laboratório leva cerca de 2 horas.

- Duração estimada
- 120 min
- Passos
- 12
- Validações
- 5
- Versões da documentação consultada
- OpenStack (via DevStack) a versão estável atual · Ubuntu Server 22.04 LTS
Este laboratório ensina como implantar uma nuvem privada OpenStack mínima, utilizando DevStack em duas máquinas virtuais Ubuntu. O objetivo é demonstrar, de ponta a ponta, a arquitetura básica do OpenStack, a interação entre nó de controle e nó de computação, e a criação de uma instância virtual. Ao final, você entenderá os serviços essenciais e poderá validar o funcionamento do ambiente.
Topologia
Duas VMs Ubuntu em uma rede privada. VM1 (192.168.56.10) atua como nó de controle (rodando todos os serviços principais do OpenStack). VM2 (192.168.56.20) atua como nó de computação (executando o serviço nova-compute). Ambas se comunicam pela rede privada. O acesso ao dashboard Horizon é feito via navegador apontando para o IP da VM1.
+-------------------+
| VM1: Controle |
| 192.168.56.10 |
| DevStack all-in |
+--------+---------+
|
Rede Privada 192.168.56.0/24
|
+--------+---------+
| VM2: Compute |
| 192.168.56.20 |
| DevStack compute |
+------------------+Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM1 (nó de controle) | 2 vCPU, 4GB RAM, 20GB disco, Ubuntu 22.04 LTS |
| VM2 (nó de computação) | 2 vCPU, 4GB RAM, 20GB disco, Ubuntu 22.04 LTS |
| OpenStack (via DevStack) | Apache 2.0 · a versão estável atual |
| Ubuntu Server | GPLv2 · 22.04 LTS |
Roteiro
- Preparar as VMs Ubuntu
Garanta que as duas VMs estejam com Ubuntu 22.04 LTS instalado, rede privada configurada e acesso SSH entre elas. Isso é fundamental para a comunicação dos serviços OpenStack.
sudo apt update && sudo apt upgrade -yO que você deve ver: Ambas as VMs atualizadas, conectividade entre 192.168.56.10 e 192.168.56.20 (ping funciona nos dois sentidos).
- Criar usuário stack e instalar dependências
O DevStack exige um usuário dedicado chamado stack. Ele executa os scripts de instalação e isola permissões.
sudo useradd -s /bin/bash -d /opt/stack -m stack sudo passwd stack sudo usermod -aG sudo stackO que você deve ver: Usuário stack criado e com permissão sudo nas duas VMs.
- Instalar git e clonar DevStack
O DevStack é distribuído via git. Clonar o repositório garante que você está usando o código oficial.
sudo apt install git -y sudo su - stack git clone https://opendev.org/openstack/devstack.gitO que você deve ver: Diretório devstack criado em /opt/stack/devstack para o usuário stack.
- Configurar DevStack no nó de controle
O arquivo local.conf define os serviços e senhas. No nó de controle, configure todos os serviços principais.
cd ~/devstack echo -e '[[local|localrc]] HOST_IP=192.168.56.10 SERVICE_HOST=192.168.56.10 MULTI_HOST=1 ADMIN_PASSWORD=secret DATABASE_PASSWORD=secret RABBIT_PASSWORD=secret SERVICE_PASSWORD=secret ' > local.confO que você deve ver: Arquivo local.conf criado com IP e senhas definidos.
- Configurar DevStack no nó de computação
No nó de computação, o local.conf aponta para o controle e ativa apenas o serviço de compute.
cd ~/devstack echo -e '[[]local|localrc]] HOST_IP=192.168.56.20 SERVICE_HOST=192.168.56.10 MULTI_HOST=1 ADMIN_PASSWORD=secret DATABASE_PASSWORD=secret RABBIT_PASSWORD=secret SERVICE_PASSWORD=secret ENABLED_SERVICES=n-cpu,q-agt,neutron ' > local.confO que você deve ver: Arquivo local.conf criado no nó de computação com IPs corretos.
- Iniciar DevStack no nó de controle
Execute o script stack.sh para iniciar a instalação dos serviços OpenStack no nó de controle.
./stack.shO que você deve ver: Processo de instalação iniciado. O script demora cerca de 20 a 40 minutos. Ao final, exibe URLs do Horizon e APIs.
- Iniciar DevStack no nó de computação
Após a instalação no controle, execute stack.sh no nó de computação. Ele conecta o compute ao ambiente.
./stack.shO que você deve ver: Serviço nova-compute configurado e conectado ao controle. Mensagens de sucesso ao final.
- Acessar o dashboard Horizon
O Horizon é a interface web do OpenStack. Acesse pelo navegador para validar o ambiente.
Navegue até http://192.168.56.10/dashboardO que você deve ver: Tela de login do Horizon carregada. Login com admin/secret.
- Criar uma instância de teste
No Horizon, crie uma instância usando a imagem cirros (já baixada pelo DevStack) e rede padrão.
Use a interface web para criar a instância.O que você deve ver: Instância aparece como ativa na lista de máquinas virtuais.
- Verificar status dos serviços OpenStack
Confirme que todos os serviços essenciais estão rodando.
source ~/devstack/openrc admin openstack compute service listO que você deve ver: Lista mostra serviços up para ambos os nós.
- Testar conectividade entre instâncias
Crie duas instâncias e teste ping entre elas usando a console web.
ping <IP da outra instância>O que você deve ver: Ping responde, indicando rede interna funcional.
- Testar upload de imagem
Faça upload de uma imagem pequena (por exemplo, Alpine Linux) pelo Horizon.
Use a interface web para upload.O que você deve ver: Imagem aparece disponível para novas instâncias.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Acessar o dashboard Horizon | Navegador em http://192.168.56.10/dashboard | Tela de login carregada, login com admin/secret funciona. |
| Listar serviços de compute | openstack compute service list | Ambos os nós aparecem como up. |
| Criar e ativar instância | Via Horizon | Instância aparece como ativa. |
| Ping entre instâncias | ping <IP da outra instância> | Pacotes respondidos. |
| Upload de imagem | Via Horizon | Imagem listada e disponível. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Serviços OpenStack não sobem (status down) | Problema de comunicação entre as VMs ou configuração incorreta de IP no local.conf | Verifique IPs em local.conf e conectividade de rede (ping, firewall). |
| Instância não ativa (status error) | Falta de recursos (RAM, CPU) ou erro no serviço nova-compute | Aumente recursos da VM ou revise logs em /opt/stack/logs. |
| Dashboard Horizon não acessível | Firewall bloqueando porta 80 ou serviço apache2 não iniciado | Verifique firewall e status do apache2 com 'sudo systemctl status apache2'. |
| Ping entre instâncias não funciona | Configuração de rede interna do OpenStack incompleta | Revise a configuração de rede no Horizon e reinicie os serviços neutron. |
| Erro ao criar usuário stack | Permissões insuficientes ou usuário já existe | Verifique se o usuário existe e ajuste permissões com 'sudo usermod'. |
Segurança e hardening
- Use senhas fortes no local.conf, mesmo em laboratório.
- Restrinja o acesso SSH às VMs apenas à sua máquina.
- Não exponha o dashboard Horizon para redes públicas.
- Após o laboratório, destrua as VMs para evitar uso indevido.
Checklist final
Referências
- DevStack Documentation · OpenInfra Foundation (OpenStack) (docs.openstack.org)
- OpenStack Installation Guides · OpenInfra Foundation (OpenStack) (docs.openstack.org)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 2 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
