Multipass: Gerenciador de Maquinas Virtuais Ubuntu: mudanças entre as edições
(20 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
=Multipass Ubuntu= | =Multipass: Multipass: Gerenciador de Máquinas Virtuais Ubuntu= | ||
O '''[https://multipass.run/ 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'''. | O '''[https://multipass.run/ 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 <ref>[https://multipass.run/ Multipass]</ref> ou <ref>https://github.com/canonical/multipass</ref>. | |||
:No Ubuntu a instalação é realizada com um único comando: | :No Ubuntu a instalação é realizada com um único comando: | ||
sudo snap install multipass | 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: | ;Lançando instâncias Linux com Multipass: | ||
Linha 12: | Linha 26: | ||
:Nesta caso é criada uma instância Ubuntu com a última versão LTS. | :Nesta caso é criada uma instância Ubuntu com a última versão LTS. | ||
Rodar um comando na instância criada: | ;Rodar um comando na instância criada: | ||
multipass exec ubuntu1 -- lsb_release -a | multipass exec ubuntu1 -- lsb_release -a | ||
Visualizar as instâncias: | ;Abrir um shell em um instância: | ||
multipass shell ubuntu1 | |||
Para sair do shell da instância e voltar ao hospedeiro, utilizar comando <code>exit</code>. | |||
;Visualizar as instâncias: | |||
multipass list | multipass list | ||
Parar e reiniciar instâncias: | ;Informações sobre uma instância: | ||
multipass stop ubuntu1 | multipass info ubuntu1 | ||
;Parar e reiniciar instâncias: | |||
multipass stop ubuntu1 | |||
multipass start ubuntu1 | multipass start ubuntu1 | ||
Apagar instâncias que não precisamos mais: | ;Apagar instâncias que não precisamos mais: | ||
Apagar instâncias: | |||
multipass delete ubuntu1 | multipass delete ubuntu1 | ||
Remover arquivos de instâncias que não precisamos mais: | |||
multipass purge | multipass purge | ||
Verificar imagens alternativas para instalação: | ;Verificar imagens alternativas para instalação: | ||
multipass find | 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 <code>ifconfig</code> somente estará disponível após a instalação da ferramenta <code>net-tools</code>: | |||
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 <code>~/AdmServ</code> na máquina virtual <code>ubuntu1</code> | |||
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== | ==Referências== |
Edição atual tal como às 13h47min de 4 de agosto de 2023
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)