Multipass: Gerenciador de Maquinas Virtuais Ubuntu
Multipass: Multipass: Gerenciador de Máquinas Virtuais Ubuntu
O Multipass é um gerenciador de VM (máquinas virtuais) para Linux, Windows e macOS. Permite rodar máquinas virtuais e configurá-las de forma similar a uma máquina virtual em nuvem.
Instalação do Multipass no Linux
A instalação do Multipass, para os diferentes sistemas, está detalhada nas referências [1] ou [2].
- No Ubuntu a instalação é realizada com um único comando:
sudo snap install multipass
Para instalação no Windows ou macOS verificar procedimentos no site da ferramenta.
Uso do Multipass
- Configurar senha para acesso ao Multipass
- Uma senha precisa ser configurada pelo administrador para permitir aos clientes acessarem o serviço Multipass
multipass set local.passphrase
Please enter passphrase: Please re-enter passphrase:
Depois o cliente precisa de autenticar:
multipass authenticate
- Lançando instâncias Linux com Multipass
multipass launch --name ubuntu1
- Nesta caso é criada uma instância Ubuntu com a última versão LTS.
- Rodar um comando na instância criada
multipass exec ubuntu1 -- lsb_release -a
- Abrir um shell em um instância
multipass shell ubuntu1
Para sair do shell da instância e voltar ao hospedeiro, utilizar comando exit
.
- Visualizar as instâncias
multipass list
- Informações sobre uma instância
multipass info ubuntu1
- Parar e reiniciar instâncias
multipass stop ubuntu1 multipass start ubuntu1
- Apagar instâncias que não precisamos mais
Apagar instâncias:
multipass delete ubuntu1
Remover arquivos de instâncias que não precisamos mais:
multipass purge
- Verificar imagens alternativas para instalação
multipass find
- Ajuda com outros comandos
multipass help
Configuração de rede
Abrir um shell na instância desejada:
multipass shell ubuntu1
- Visualizar configuração de rede
ifconfig
- Nas versões novas do Ubuntu o comando
ifconfig
somente estará disponível após a instalação da ferramentanet-tools
:
sudo apt install net-tools
O Multipass cria as instâncias virtuais com uma configuração de rede própria, utilizando NAT atrás da máquina hospedeira.
Entretanto, é possível que as instâncias criadas na mesma rede da máquina hospedeira utilizando uma configuração do Multipass em modo bridge.
Servidor SSH em instância Multipass
O servidor SSH já vem instalado nas instâncias criadas no Multipass. Entretanto, é necessário realizar uma configuração para permitir acesso remoto, usando senha, a partir de outras máquinas.
- Configuração no servidor SSH no Multipass
Abrir um shell na instância:
multipass shell nome_instancia
Mudar para o diretório:
/etc/ssh
Editar o arquivo de configuração:
nano sshd_config
Comentar a linha abaixo com o caractere #:
#PasswordAuthentication no
- Definir senha para o usuário padrão no Multipass
sudo passwd ubuntu
Acesso ao servidor SSH
A partir de uma máquina com o cliente SSH é possível fazer acesso remoto ao servidor SSH com o comando:
ssh user@endereçoServidor
- onde user é o nome de login do usuário e endereçoServidor é o endereço IP ou nome de domínio do servidor.
Para testar o servidor, execute comandos de arquivo e navegue na estrutura de diretórios do servidor, usando comandos como:
ls cd
Montar arquivo da máquina hospedeira na máquina virtual
É possível montar um diretório da máquina hospedeira na máquina virtual, assim, é possível trocar arquivos entre os dois ambientes.
Exemplo de comando:
multipass mount ~/AdmServ ubuntu1
- Monta o diretório
~/AdmServ
na máquina virtualubuntu1
multipass info ubuntu1
- Mostra o diretório montado.
Para desmontar o diretório, utilizar o comando:
multipass unmount ubuntu1
Resolvendo Problemas
Instância que não reinicia
Referência: https://blog.mutantmahe.sh/2021-05-09-how-to-recover-from-multipass-instance-stopped-while-starting-error/
- Problema e comandos executados no Ubuntu 20.04
evandro@evandro-Inspiron-14-3467:~$ multipass list Name State IPv4 Image ubuntu1 Suspended -- Ubuntu 20.04 LTS
- Verificação de processos rodando.
ps -aux|grep multipass
root 17815 11.5 25.0 3479016 972840 ? Sl 14:00 0:19 /snap/multipass/6130/usr/bin/qemu-system-x86_64 --enable-kvm -cpu host -nic tap,ifname=tap-f56b9ce0ac6,script=no,downscript=no,model=virtio-net-pci,mac=52:54:00:f8:37:8c -device virtio-scsi-pci,id=scsi0 -drive file=/var/snap/multipass/common/data/multipassd/vault/instances/ubuntu1/ubuntu-20.04-server-cloudimg-amd64.img,if=none,format=qcow2,discard=unmap,id=hda -device scsi-hd,drive=hda,bus=scsi0.0 -smp 1 -m 1024M -qmp stdio -chardev null,id=char0 -serial chardev:char0 -nographic -cdrom /var/snap/multipass/common/data/multipassd/vault/instances/ubuntu1/cloud-init-config.iso -loadvm suspend -machine pc-i440fx-focal
- Matando processo:
sudo kill -9 17815
- Máquina conseguiu reiniciar!
Referências
Evandro.cantu (discussão) 15h59min de 19 de janeiro de 2022 (-03)