Introdução
OpenStack controla grandes pools de computação, armazenamento e recursos de rede ao longo de um datacenter, gerida através de um dashboard ou através da API OpenStack. O OpenStack trabalha com tecnologias corporativas e de código aberto populares tornando-o ideal para infra-estrutura heterogênea.
Características dos Serviços
| • Horizon | Este serviço é o responsável por administrar a estrutura Openstack. Através deste painel é possível criar servidores (instâncias), criar estrutura de rede, criar e mapear discos (volumes), criar imagens de servidores e criar grupos de segurança (políticas de acesso). |
| • Nova | Gerencia o ciclo de vida das instâncias (servidores) em um ambiente OpenStack. As responsabilidades incluem a criação, programação e exclusão de máquinas virtuais sob demanda. |
| • Neutron | Permite criar estruturas de rede em um ambiente Openstack . Fornece uma API para que os usuários definam as redes e os acessórios para sua estrutura. Tem uma arquitetura “plugável” que suporta muitos vendedores/modelos de redes populares. |
| • Cinder | Fornece armazenamento em bloco (disco) para as instâncias em execução. Sua arquitetura facilita a criação e gerenciamento de dispositivos de armazenamento em bloco. |
| • Keystone | Fornece um serviço de autenticação e autorização para os serviços OpenStack. É responsável pela autenticação interna da estrutura Openstack. |
| • Glance | Armazena e recupera imagens de disco das instâncias (servidores). O serviço Compute faz uso deste serviço durante o provisionamento de instâncias. |
| • Ceilometer | Gerencia e controla as estatísticas da nuvem OpenStack. Este recurso é responsável para controlar o que cada instância está consumindo na estrutura. Assim pode-se gerar o faturamento (valores)
das instâncias. |
| • Mysql | Necessário para as aplicações do Openstack, sendo utilizado apenas pela estrutura interna. O serviço do Mysql atualmente está configurado para trabalhar com alta disponibilidade (HA). |
| • MongoDB | Utilizado apenas pela aplicação Ceilometer. Responsável por armazenar as informações de billing da estrutura. Também trabalha em alta disponibilidade (HA). |
| • RabbitMQ | É responsável pela comunicação interna do Openstack. O RabbitMQ é um gerenciador de mensagens, controlando toda a comunicação interna, criando filas de requisições efetuadas pelas aplicações do Openstack. |
Comandos Básicos
Como já mencionado, a estrutura Openstack depende de várias aplicações para que tudo funcione corretamente, e para controlar e gerenciar estas
aplicações, é necessário conhecer alguns comandos.
Seguem abaixo os comandos necessários para administrar as aplicações Openstack:
Neutron
- neutron net-list => Exibe ID das redes presentes na estrutura ;
- neutron net-show “id” => Exibe informações de uma determinada rede ;
- neutron subnet-list => Exibe ID das subredes presentes na estrutura ;
- neutron subnet-show “id” => Exibe informações de uma determinada subrede ;
- neutron router-list => Exibe o ID das redes públicas presentes na estrutura ;
- neutron router-show “id” => Exibe informações de uma determinada rede pública ;
- neutron router-create => Cria uma nova rede pública ;
- neutron router-delete => Exclui uma determinada rede pública ;
- neutron port-list => Exibe as portas criadas das instâncias, redes públicas, redes internas, etc. Nesta caso, a porta não está ligada à um
serviço, mas a representação de uma porta do switch virtual em um switch de rede lógica ;
- neutron floatingip-list => Exibe os endereços IPs públicos virtuais (Ips anexados).
Nova
- nova hypervisor-stats => Exibe quantidade de recursos disponíveis na estrutura
- nova volume-snapshot-list => Exibe todos os snapshots presentes na estrutura
- nova image-create=> Cria uma nova imagem à partir de uma instância
- nova usage-list => Exibe o consumo de recursos por cada servidor
- nova host-list => Exibe todos os servidores por serviço
- nova list => Exibe todas as instâncias
- nova service-list => Exibe os computes presentes na estrutura Openstack
- nova –os-tenant-id “id_tenant” list => Exibe os servidores presentes da estrutura de um deteminado tenant (cliente)
- nova reset-state “id da instacia” => reseta o estado da instancia
- nova show “id da instancia” => Exibe informações da instancia
Glance
- glance image-list => Exibe as imagens presentes na estrutura
- glance show “id” => Exibe informações detalhadas de uma imagem
- glance image-create => Cria uma nova imagem na estrutura (importa uma extensão)
- glance image-delete => Exclui uma determinada imagem
Cinder
- cinder list => Exibe os volumes disponíveis
- cinder show “id” => Exibe informações detalhadas de um volume
- cinder service-list => Exibe onde o serviço está ativo
- cinder create => Cria um novo volume
- cinder delete => Exclui um volume
- cinder migrate => Migra um volume para outra instância
- cinder force-delete => Força a exclusão de um volume
Pacemaker
- pcs status => Exibe o status dos serviços nos servidores Openstack
- pcs resource ban “nome do serviço” “nome do servidor” => Retira um serviço de um determinado servidor
- pcs resource clear “nome do serviço” nome do servidor” => Adiciona um serviço em um determinado servidor
- pcs resource failcount show “nome do controller” => Exibe se existem falhas nos serviços
- pcs resource cleanup “nome do serviço com erro” => Apaga mensagens de erro na chamada “pcs status”