Multipass VM Manager: Scheda riepilogativa per Ubuntu, Windows e macOS

Installazione multipass, configurazione e comandi essenziali

Indice

Multipass è un gestore leggero di macchine virtuali che rende semplice la creazione e la gestione di istanze cloud Ubuntu su Linux, Windows e macOS.

Indipendentemente dal fatto che tu sia uno sviluppatore che necessita di ambienti isolati, un ingegnere DevOps che testa configurazioni o qualcuno che sta imparando Linux, Multipass fornisce un’interfaccia semplice a riga di comando per avviare rapidamente VM Ubuntu.

Multipass VM Manager Ubuntu

Cosa è Multipass?

Multipass è lo strumento ufficiale di Canonical per creare e gestire macchine virtuali Ubuntu. È stato progettato per essere semplice, veloce e multipiattaforma, rendendolo un’ottima scelta per gli sviluppatori che necessitano di ambienti Ubuntu coerenti su diversi sistemi operativi.

Funzionalità principali

  • Multipiattaforma: Funziona su Linux, Windows e macOS
  • Leggero: Overhead minimo rispetto alle VM tradizionali
  • Supporto cloud-init: Configura le VM con metadati cloud-init
  • Supporto snapshot: Crea e ripristina snapshot delle VM
  • Integrazione di rete: Networking semplice tra host e VM
  • Accesso SSH: Gestione integrata delle chiavi SSH

Comandi più utili

# Riferimento rapido
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

Installazione

Ubuntu/Linux

# Installazione tramite snap (consigliato)
sudo snap install multipass

# Oppure installazione tramite apt
sudo apt update
sudo apt install multipass

Windows

  1. Scarica l’installer per Windows da multipass.run
  2. Esegui l’installer come amministratore
  3. Multipass utilizzerà Hyper-V per default (Windows 10 Pro/Enterprise) o passerà a VirtualBox

macOS

# Installazione tramite Homebrew
brew install --cask multipass

# Oppure scarica da multipass.run

Utilizzo base

Creare la prima VM

# Crea una VM con le impostazioni predefinite
multipass launch

# Crea una VM con un nome specifico
multipass launch --name my-vm

# Crea una VM con una versione specifica di Ubuntu
multipass launch 22.04 --name ubuntu-22

# Crea una VM con risorse personalizzate
multipass launch --name dev-vm --cpus 2 --memory 4G --disk 20G

Gestione delle VM

# Elenco di tutte le VM
multipass list

# Avvia una VM
multipass start my-vm

# Ferma una VM
multipass stop my-vm

# Elimina una VM
multipass delete my-vm
multipass purge  # Rimuove tutte le VM eliminate

Accesso alle VM

# Apri shell nella VM
multipass shell my-vm

# Esegui un comando nella VM
multipass exec my-vm -- ls -la

# Copia file tra VM e host
multipass transfer file.txt my-vm:/home/ubuntu/
multipass transfer my-vm:/home/ubuntu/file.txt ./

Una volta all’interno di una VM Multipass, avrai accesso a un ambiente shell completo di Ubuntu. Per un lavoro efficiente a riga di comando, consulta il nostro Bash Cheat Sheet per comandi essenziali e scorciatoie.

Multipass Instances

Foglio di riferimento Multipass

Comandi di gestione delle VM

# Creare e avviare
multipass launch                    # Crea VM predefinita
multipass launch --name vm1        # Crea VM con nome specifico
multipass launch 20.04 --name old  # Versione specifica di Ubuntu

# Allocazione delle risorse
multipass launch --cpus 2 --memory 4G --disk 20G --name dev

# Controllo VM
multipass start vm1                # Avvia VM
multipass stop vm1                 # Ferma VM
multipass restart vm1               # Riavvia VM
multipass suspend vm1              # Sospendi VM

# Informazioni
multipass list                     # Elenco di tutte le VM
multipass info vm1                 # Dettagli VM
multipass get local.privileged-mounts  # Verifica le impostazioni di montaggio

Operazioni sui file

# Trasferimento file
multipass transfer file.txt vm1:/home/ubuntu/
multipass transfer vm1:/home/ubuntu/file.txt ./
multipass transfer --recursive ./folder vm1:/home/ubuntu/

# Montaggio della directory dell'host
multipass mount /host/path vm1:/vm/path
multipass umount vm1:/vm/path

Configurazione di rete

# Informazioni di rete
multipass info vm1 | grep IPv4

# Inoltro di porte (Windows/macOS)
multipass set local.port-forwarding=true
multipass restart vm1

Snapshot e backup

# Crea snapshot
multipass snapshot vm1 snapshot1

# Ripristina snapshot
multipass restore vm1 snapshot1

# Elenco snapshot
multipass list --all

Configurazione avanzata

Integrazione con cloud-init Crea un file 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

Avvia VM con cloud-init:

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

Immagini personalizzate

# Elenco immagini disponibili
multipass find

# Usa un'immagine specifica
multipass launch daily:22.04 --name daily-vm

Integrazione con strumenti di sviluppo

Integrazione con Docker Multipass funziona in modo eccellente con Docker per lo sviluppo containerizzato. È possibile eseguire Docker all’interno delle VM Multipass o utilizzare Multipass per creare ambienti isolati per sviluppo Docker.

Ambienti di sviluppo Per lo sviluppo in Python, è possibile impostare ambienti isolati simili a Python virtual environments ma con un’isolamento completo del sistema operativo. Per gli utenti di VS Code, le VM Multipass possono essere utilizzate come ambienti di sviluppo remoti, complementando Dev Containers in VS Code per scenari che richiedono un isolamento completo del sistema operativo.

Applicazioni auto-hosted Multipass è perfetto per testare applicazioni auto-hosted come Gitea o Ollama in ambienti isolati. Per l’orchestrazione container, è possibile eseguire cluster Kubernetes all’interno delle VM Multipass e utilizzare il nostro Kubernetes Cheat Sheet per gestire i carichi di lavoro containerizzati.

Risoluzione dei problemi

Problemi comuni

# Verifica lo stato di Multipass
multipass get local.driver

# Ripristina Multipass
multipass purge
sudo snap restart multipass

# Verifica i log della VM
multipass logs vm1

Ottimizzazione delle prestazioni

# Abilita montaggi privilegiati per prestazioni migliori
multipass set local.privileged-mounts=true

# Configura i limiti di memoria
multipass set local.memory=8G

Confronto con alternative

Multipass vs Docker

  • Multipass: VM complete, più adatto per il test a livello di sistema operativo, più intensivo in termini di risorse
  • Docker: Container, più efficiente, più adatto per l’implementazione di applicazioni

Multipass vs VirtualBox/VMware

  • Multipass: Focalizzato sulla riga di comando, supporto cloud-init, automazione più semplice
  • VirtualBox/VMware: Basato su interfaccia grafica, più opzioni di configurazione, migliore per l’uso desktop

Multipass vs Proxmox

  • Multipass: Leggero, focalizzato su singola VM, eccellente per ambienti di sviluppo
  • Proxmox: Stack completo di virtualizzazione, migliore per ambienti di produzione, funzionalità avanzate come clustering e alta disponibilità

Multipass vs Vagrant

  • Multipass: Ubuntu-centrico, installazione più semplice, migliore per scenari con singola VM
  • Vagrant: Supporto multi-provider, provisioning complesso, migliore per configurazioni con più VM

Linee guida

  1. Gestione delle risorse: Assegna CPU e memoria appropriati in base al carico di lavoro
  2. Strategia snapshot: Crea snapshot prima di modifiche importanti
  3. Sicurezza di rete: Utilizza regole di firewall appropriate per i servizi esposti
  4. Strategia di backup: Effettua backup regolari dei dati importanti delle VM
  5. Pulizia: Rimuovi le VM non utilizzate per liberare spazio su disco

Quando utilizzare Multipass

Scegli Multipass quando:

  • Hai bisogno di VM Ubuntu complete per lo sviluppo
  • Vuoi una gestione semplice delle VM a riga di comando
  • Stai lavorando su diversi sistemi operativi
  • Hai bisogno del supporto cloud-init
  • Vuoi testare applicazioni auto-hosted in ambienti isolati

Considera alternative quando:

  • Hai bisogno di prestazioni massime (usa i container Docker)
  • Hai bisogno di configurazioni complesse con più VM (usa Vagrant)
  • Hai bisogno di gestione grafica (usa VirtualBox/VMware)

Multipass eccelle nel fornire ambienti di sviluppo Ubuntu semplici e coerenti su diverse piattaforme, rendendolo un’ottima scelta per gli sviluppatori che necessitano di una gestione delle VM affidabile senza la complessità degli strumenti tradizionali di virtualizzazione.