Voltar aos artigos
Ubuntu

MAAS da Canonical: servidores físicos com agilidade de nuvem

7 min de leitura por Equipe TRIAT

Entenda como o MAAS da Canonical descobre, testa e instala servidores físicos pela rede, e quando vale adotar na sua empresa.

Ilustração de três racks de servidores ligados por linhas de rede tracejadas a uma nuvem azul, sobre fundo azul-escuro.
Foto: Imagem gerada por inteligência artificial
Assista ao resumo em vídeoO artigo em menos de um minuto, com narração

Um servidor novo chega à empresa. Alguém da TI grava um pendrive, conecta monitor e teclado, instala o sistema, configura a rede e anota o IP numa planilha. Com dois servidores, isso é rotina. Com vinte, vira uma semana perdida e uma planilha que ninguém confia.

Na nuvem pública, criar uma máquina leva um clique ou uma linha de código. No servidor físico da sala ao lado, o trabalho continua manual. O MAAS existe para fechar essa diferença.

Abaixo explicamos o que é o MAAS, como ele funciona, o que ele faz bem e quando vale a pena adotar.

O que é o MAAS

MAAS (Metal as a Service, ou "metal como serviço") é uma plataforma de código aberto da Canonical, a empresa por trás do Ubuntu. Ela gerencia servidores físicos, também chamados de bare metal (máquinas sem camada de virtualização), como se fossem recursos de nuvem.

Na prática, o MAAS descobre o servidor na rede, faz o inventário do hardware, testa a máquina e instala o sistema operacional escolhido. Tudo pela interface web, pela linha de comando ou pela API.

O próprio repositório do projeto resume a ideia: tratar servidores físicos como máquinas virtuais na nuvem. A máquina fica disponível para ser implantada, liberada e reimplantada sob demanda.

Como o MAAS funciona

O MAAS tem dois componentes principais, chamados de controladores:

Componente O que faz
Controlador de região Roda a API REST na porta 5240, a interface web, o banco PostgreSQL, o DNS e um proxy HTTP com cache
Controlador de rack Fornece DHCP, TFTP e HTTP para as imagens de boot, e controla a energia dos servidores

Numa empresa pequena, os dois rodam na mesma máquina. Em ambientes maiores, cada rack ou filial pode ter seu próprio controlador de rack, que guarda em cache as imagens de instalação perto dos servidores.

Boot pela rede e controle de energia

O servidor não precisa de pendrive nem DVD. Ele inicia pela rede usando PXE (Preboot Execution Environment, o boot pela placa de rede). O DHCP do MAAS aponta a máquina para o controlador de rack, que entrega os arquivos de boot.

Para ligar, desligar e reiniciar sem ninguém na sala, o MAAS usa o BMC (Baseboard Management Controller), o chip de gerenciamento remoto do servidor, por protocolos como IPMI e Redfish. A documentação lista mais de vinte drivers de energia, incluindo HP iLO, Cisco UCS, Intel AMT, PDUs, VMware e Proxmox.

O ciclo de vida de uma máquina

Cada servidor passa por estados bem definidos:

  1. New: a máquina iniciou pela rede e apareceu no MAAS.
  2. Commissioning: o MAAS inicia um sistema temporário, levanta o hardware e grava os dados de energia.
  3. Ready: passou nos testes e está disponível.
  4. Allocated: foi reservada por um usuário ou projeto.
  5. Deploying: o sistema operacional está sendo instalado.
  6. Deployed: a máquina está rodando o sistema escolhido.
  7. Releasing: a máquina é limpa, com apagamento seguro dos discos se configurado, e volta para o estado Ready.

Se algo falha, a máquina vai para Failed e precisa ser comissionada de novo. Há também o modo Rescue, um ambiente temporário para investigar problemas.

Comissionar é a etapa em que o MAAS conhece a máquina. Ele registra processador, memória, discos e placas de rede, e pode rodar testes de hardware antes de liberar o servidor para uso.

Principais recursos

Provisionamento automatizado

O MAAS instala Ubuntu direto das imagens oficiais. Outros sistemas entram por imagens personalizadas criadas com o Packer, a partir dos modelos do projeto Packer MAAS. A documentação cobre RHEL, CentOS, VMware ESXi e Windows Server, entre outros.

Os modelos de imagem para sistemas que não são Ubuntu são mantidos pela comunidade. Para Windows, RHEL e ESXi, você mesmo fornece a ISO e a licença. Teste a imagem num servidor antes de usar em produção.

Inventário e testes de hardware

No comissionamento, o MAAS levanta o hardware de cada máquina e roda diagnósticos para conferir a saúde do servidor antes da instalação. Um disco com defeito aparece antes de o servidor entrar em produção, e não depois.

Rede: sub-redes, VLANs, DHCP e DNS

O MAAS traz DHCP e DNS integrados e gerencia sub-redes, VLANs, faixas de IP, bonds (agregação de placas de rede) e bridges. Cada IP atribuído fica registrado na plataforma. A planilha de endereços deixa de ser necessária.

Antes de ligar o DHCP do MAAS, confira se já existe outro servidor DHCP na mesma VLAN, como o firewall ou o roteador. Dois DHCPs na mesma rede causam conflitos de IP difíceis de rastrear. O ideal é uma VLAN dedicada para provisionamento.

Integração com DevOps

Tudo o que a interface faz também está na API. Isso permite usar o MAAS com ferramentas de automação e infraestrutura como código (descrever servidores em arquivos de configuração versionados):

  • Terraform, com o provedor oficial maas/maas;
  • Juju, o orquestrador da própria Canonical;
  • Ansible, Chef, Puppet e SaltStack, citados no repositório do projeto.

Um exemplo de configuração do provedor Terraform, conforme a documentação:

terraform {
  required_providers {
    maas = {
      source  = "maas/maas"
      version = "~>1.0"
    }
  }
}

A Canonical também cita controle de acesso por perfis (RBAC) e integração com LDAP, Active Directory e SAML.

Como instalar

O MAAS é distribuído como snap. Os comandos abaixo seguem o guia oficial da versão estável da documentação (3.7), com banco PostgreSQL para produção:

sudo snap install maas --channel=3.7/stable
sudo snap install postgresql --channel=16/stable
postgresql.createuser -U postgres -h /tmp -P maas
postgresql.createdb -U postgres -h /tmp -O maas maas
sudo maas init region+rack --database-uri "postgres://maas:<senha>@localhost/maas"
sudo maas createadmin --username admin --email admin@localhost

Depois, a interface fica em http://<ip-do-maas>:5240/MAAS. Para um laboratório, a documentação também oferece o snap maas-test-db, que dispensa a configuração manual do PostgreSQL.

Confira na página de versões suportadas qual Ubuntu LTS é exigido pela versão do MAAS que você vai instalar. Comandos e canais mudam entre versões.

Quanto custa

O MAAS é gratuito e de código aberto. Quem quer suporte da Canonical contrata por máquina gerenciada, por ano:

Plano Preço por máquina/ano
Autossuporte Gratuito
Essential US$ 30
Standard US$ 50
Advanced US$ 100

Segundo a Canonical, os controladores do MAAS sempre exigem Ubuntu Pro no suporte pago. Os preços valem para máquinas que não rodam Ubuntu Pro.

Quando o MAAS faz sentido

O MAAS rende mais quando há volume ou rotatividade de servidores físicos. Alguns cenários:

  • Laboratório de testes que reinstala servidores toda semana;
  • Cluster de virtualização ou de nuvem privada, em que cada nó precisa da mesma configuração;
  • Datacenter próprio ou provedor regional, com dezenas de máquinas para entregar a clientes;
  • Equipes de DevOps que já usam Terraform ou Ansible e querem levar a automação até o hardware.

Para uma empresa com um ou dois servidores que mudam pouco, o MAAS tende a ser mais estrutura do que o problema pede. Ali, uma boa documentação e um processo de instalação padronizado resolvem.

Por onde começar

  • Liste os servidores físicos e confira se todos têm BMC com IPMI ou Redfish acessível.
  • Separe uma VLAN de provisionamento, sem outro servidor DHCP.
  • Instale o MAAS numa máquina pequena, com o maas-test-db, para testar.
  • Comissione um servidor e confira o inventário e os testes de hardware.
  • Implante o Ubuntu e, depois, a imagem de outro sistema que a empresa usa.
  • Só então leve para produção, com PostgreSQL e backup da configuração do MAAS.

A TRIAT trabalha com servidores, virtualização e redes e pode ajudar a avaliar se o MAAS faz sentido no seu ambiente e a montar o piloto.

Fontes

Precisa disso rodando na sua empresa?

A TRIAT implanta e monitora Linux, storage, virtualização, redes e segurança — do projeto ao suporte 24/7.

Falar com um especialista