Guia de Dicas para o Multipass VM Manager: Ubuntu, Windows e macOS

Instalação, configuração e comandos essenciais de instalação multipass

Conteúdo da página

Multipass é um gerenciador leve de máquinas virtuais que facilita a criação e o gerenciamento de instâncias de nuvem Ubuntu no Linux, Windows e macOS.

Seja você um desenvolvedor que precisa de ambientes isolados, um engenheiro DevOps testando configurações ou alguém aprendendo Linux, o Multipass oferece uma interface de linha de comando simples para criar rapidamente máquinas virtuais Ubuntu.

Multipass VM Manager Ubuntu

O que é o Multipass?

O Multipass é a ferramenta oficial da Canonical para criar e gerenciar máquinas virtuais Ubuntu. Foi projetado para ser simples, rápido e multiplataforma, tornando-o uma excelente escolha para desenvolvedores que precisam de ambientes Ubuntu consistentes em diferentes sistemas operacionais.

Funcionalidades Principais

  • Multiplataforma: Funciona no Linux, Windows e macOS
  • Leve: Sobrecarga mínima de recursos em comparação com VMs tradicionais
  • Suporte a cloud-init: Configure VMs com metadados cloud-init
  • Suporte a snapshots: Crie e restaure snapshots de VMs
  • Integração de rede: Networking fácil entre host e VMs
  • Acesso SSH: Gerenciamento embutido de chaves SSH

Comandos Mais Úteis

# Referência rápida
multipass launch --name dev --cpus 2 --memory 4G --disk 20G
multipass shell dev
multipass mount ./project dev:/home/ubuntu/project
multipass snapshot dev before-changes
multipass restore dev before-changes
multipass delete dev
multipass purge

Instalação

Ubuntu/Linux

# Instale via snap (recomendado)
sudo snap install multipass

# Ou instale via apt
sudo apt update
sudo apt install multipass

Windows

  1. Faça o download do instalador do Windows em multipass.run
  2. Execute o instalador como administrador
  3. O Multipass usará o Hyper-V por padrão (Windows 10 Pro/Enterprise) ou recorrerá ao VirtualBox

macOS

# Instale via Homebrew
brew install --cask multipass

# Ou faça o download de multipass.run

Uso Básico

Criando sua primeira VM

# Crie uma VM com configurações padrão
multipass launch

# Crie uma VM com nome específico
multipass launch --name my-vm

# Crie uma VM com versão específica do Ubuntu
multipass launch 22.04 --name ubuntu-22

# Crie uma VM com recursos personalizados
multipass launch --name dev-vm --cpus 2 --memory 4G --disk 20G

Gerenciando VMs

# Liste todas as VMs
multipass list

# Inicie uma VM
multipass start my-vm

# Pare uma VM
multipass stop my-vm

# Exclua uma VM
multipass delete my-vm
multipass purge  # Remova todas as VMs excluídas

Acessando VMs

# Abra o shell em uma VM
multipass shell my-vm

# Execute um comando em uma VM
multipass exec my-vm -- ls -la

# Copie arquivos para/de uma VM
multipass transfer file.txt my-vm:/home/ubuntu/
multipass transfer my-vm:/home/ubuntu/file.txt ./

Uma vez dentro de uma VM do Multipass, você terá acesso a um ambiente de shell Ubuntu completo. Para trabalhar de forma eficiente na linha de comando, consulte nossa Folha de Dicas do Bash para comandos e atalhos essenciais.

Instâncias do Multipass

Folha de Dicas do Multipass

Comandos de Gerenciamento de VM

# Criar e iniciar
multipass launch                    # Crie uma VM padrão
multipass launch --name vm1        # Crie uma VM com nome específico
multipass launch 20.04 --name old  # Versão específica do Ubuntu

# Alocação de recursos
multipass launch --cpus 2 --memory 4G --disk 20G --name dev

# Controle da VM
multipass start vm1                # Inicie a VM
multipass stop vm1                 # PARE a VM
multipass restart vm1               # Reinicie a VM
multipass suspend vm1              # Suspender a VM

# Informações
multipass list                     # Liste todas as VMs
multipass info vm1                 # Detalhes da VM
multipass get local.privileged-mounts  # Verifique as configurações de montagem

Operações de Arquivo

# Transferência de arquivos
multipass transfer file.txt vm1:/home/ubuntu/
multipass transfer vm1:/home/ubuntu/file.txt ./
multipass transfer --recursive ./folder vm1:/home/ubuntu/

# Montagem de diretório do host
multipass mount /host/path vm1:/vm/path
multipass umount vm1:/vm/path

Configuração de Rede

# Informações de rede
multipass info vm1 | grep IPv4

# Encaminhamento de porta (Windows/macOS)
multipass set local.port-forwarding=true
multipass restart vm1

Snapshots e Backup

# Crie um snapshot
multipass snapshot vm1 snapshot1

# Restaure um snapshot
multipass restore vm1 snapshot1

# Liste os snapshots
multipass list --all

Configuração Avançada

Integração com cloud-init Crie um arquivo cloud-config.yaml:

#cloud-config
package_update: true
package_upgrade: true
packages:
  - docker.io
  - git
  - curl

users:
  - name: developer
    sudo: ALL=(ALL) NOPASSWD:ALL
    shell: /bin/bash
    ssh_authorized_keys:
      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC...

runcmd:
  - systemctl enable docker
  - systemctl start docker

Inicie a VM com cloud-init:

multipass launch --cloud-init cloud-config.yaml --name configured-vm

Imagens Personalizadas

# Liste as imagens disponíveis
multipass find

# Use uma imagem específica
multipass launch daily:22.04 --name daily-vm

Integração com Ferramentas de Desenvolvimento

Integração com Docker O Multipass funciona excelente com Docker para desenvolvimento em containers. Você pode executar o Docker dentro das VMs do Multipass ou usar o Multipass para criar ambientes isolados para desenvolvimento com Docker.

Ambientes de Desenvolvimento Para desenvolvimento em Python, você pode configurar ambientes isolados semelhantes aos ambientes virtuais do Python mas com isolamento total do sistema operacional. Para usuários do VS Code, as VMs do Multipass podem ser usadas como ambientes de desenvolvimento remoto, complementando Contêineres de Desenvolvimento no VS Code para cenários que exigem isolamento total do sistema operacional.

Aplicações Auto-Hospedadas O Multipass é perfeito para testar aplicações auto-hospedadas, como Gitea ou Ollama em ambientes isolados. Para orquestração de contêineres, você pode executar clusters Kubernetes dentro das VMs do Multipass e usar nossa Folha de Dicas do Kubernetes para gerenciar suas cargas de trabalho em contêineres.

Solução de Problemas

Problemas Comuns

# Verifique o status do Multipass
multipass get local.driver

# Reinicie o Multipass
multipass purge
sudo snap restart multipass

# Verifique os logs da VM
multipass logs vm1

Otimização de Desempenho

# Ative montagens privilegiadas para melhor desempenho
multipass set local.privileged-mounts=true

# Configure limites de memória
multipass set local.memory=8G

Comparação com Alternativas

Multipass vs Docker

  • Multipass: Máquinas virtuais completas, melhor para testes no nível do sistema operacional, mais intensivo em recursos
  • Docker: Containers, mais eficiente, melhor para implantação de aplicações

Multipass vs VirtualBox/VMware

  • Multipass: Foco em linha de comando, suporte a cloud-init, automação mais fácil
  • VirtualBox/VMware: Baseado em GUI, mais opções de configuração, melhor para uso no desktop

Multipass vs Proxmox

  • Multipass: Leve, foco em única VM, excelente para ambientes de desenvolvimento
  • Proxmox: Pilha completa de virtualização, melhor para ambientes de produção, recursos avançados como clustering e alta disponibilidade

Multipass vs Vagrant

  • Multipass: Ubuntu-centrado, configuração mais simples, melhor para cenários de única VM
  • Vagrant: Suporte a múltiplos provedores, provisionamento complexo, melhor para configurações de múltiplas VMs

Boas Práticas

  1. Gerenciamento de Recursos: Atribua CPU e memória apropriados com base na sua carga de trabalho
  2. Estratégia de Snapshots: Crie snapshots antes de alterações importantes
  3. Segurança de Rede: Use regras de firewall adequadas para serviços expostos
  4. Estratégia de Backup: Faça backups regulares de dados importantes de VMs
  5. Limpeza: Remova VMs não utilizadas para liberar espaço em disco

Quando Usar o Multipass

Escolha o Multipass quando:

  • Você precisa de VMs completas do Ubuntu para desenvolvimento
  • Você deseja gerenciamento simples de VMs via linha de comando
  • Você está trabalhando em diferentes sistemas operacionais
  • Você precisa de suporte a configuração cloud-init
  • Você deseja testar aplicações auto-hospedadas em isolamento

Considere alternativas quando:

  • Você precisa de desempenho máximo (use contêineres do Docker)
  • Você precisa de configurações complexas de múltiplas VMs (use Vagrant)
  • Você precisa de gerenciamento baseado em GUI (use VirtualBox/VMware)

O Multipass se destaca ao fornecer ambientes de desenvolvimento Ubuntu simples e consistentes em diferentes plataformas, tornando-o uma excelente escolha para desenvolvedores que precisam de gerenciamento de VMs confiáveis sem a complexidade de ferramentas de virtualização tradicionais.