Multipass: Gerenciador de Maquinas Virtuais Ubuntu

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar

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 ferramenta net-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 virtual ubuntu1
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 conseguir reiniciar!

Referências


Evandro.cantu (discussão) 15h59min de 19 de janeiro de 2022 (-03)