Karta cheatów do zarządzania wirtualnymi maszynami Multipass: przewodnik po Ubuntu, Windows i macOS

Zainstalowanie i konfiguracja wieloprzejściowa oraz podstawowe polecenia

Page content

Multipass to lekki menedżer maszyn wirtualnych, który ułatwia tworzenie i zarządzanie instancjami chmurowymi Ubuntu na systemach Linux, Windows i macOS.

Nie ważne, czy jesteś programistą potrzebującym izolowanych środowisk, inżynierem DevOps testującym konfiguracje, czy kimś, kto uczy się Linuxa – Multipass oferuje prosty interfejs wiersza poleceń do szybkiego uruchamiania maszyn wirtualnych Ubuntu.

Multipass VM Manager Ubuntu

Co to jest Multipass?

Multipass to oficjalne narzędzie Canonical do tworzenia i zarządzania wirtualnymi maszynami Ubuntu. Jest zaprojektowany tak, aby być prostym, szybkim i wieloplatformowym, co czyni go świetnym wyborem dla programistów potrzebujących spójnych środowisk Ubuntu na różnych systemach operacyjnych.

Główne funkcje

  • Wieloplatformowy: działa na Linuxie, Windowsie i macOS
  • Lekki: niewielki narzut zasobów w porównaniu do tradycyjnych maszyn wirtualnych
  • Wsparcie dla cloud-init: konfiguracja maszyn wirtualnych za pomocą metadanych cloud-init
  • Wsparcie dla kopii zapasowych: tworzenie i przywracanie kopii zapasowych maszyn wirtualnych
  • Integracja sieciowa: łatwe łączenie sieci między hostem a maszynami wirtualnymi
  • Dostęp SSH: wbudowane zarządzanie kluczami SSH

Najważniejsze polecenia

# Szybki przewodnik
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

Instalacja

Ubuntu/Linux

# Instalacja przez snap (zalecane)
sudo snap install multipass

# Albo instalacja przez apt
sudo apt update
sudo apt install multipass

Windows

  1. Pobierz instalator Windows z multipass.run
  2. Uruchom instalator jako administrator
  3. Multipass domyślnie użyje Hyper-V (Windows 10 Pro/Enterprise) lub przejdzie do VirtualBox

macOS

# Instalacja przez Homebrew
brew install --cask multipass

# Albo pobierz z multipass.run

Podstawowe użycie

Tworzenie pierwszej maszyny wirtualnej

# Utwórz maszynę wirtualną z ustawieniami domyślnymi
multipass launch

# Utwórz maszynę wirtualną z określonym nazwą
multipass launch --name my-vm

# Utwórz maszynę wirtualną z określonym wersją Ubuntu
multipass launch 22.04 --name ubuntu-22

# Utwórz maszynę wirtualną z niestandardowymi zasobami
multipass launch --name dev-vm --cpus 2 --memory 4G --disk 20G

Zarządzanie maszynami wirtualnymi

# Lista wszystkich maszyn wirtualnych
multipass list

# Uruchom maszynę wirtualną
multipass start my-vm

# Zatrzymaj maszynę wirtualną
multipass stop my-vm

# Usuń maszynę wirtualną
multipass delete my-vm
multipass purge  # Usuń wszystkie usunięte maszyny wirtualne

Dostęp do maszyn wirtualnych

# Otwórz powłokę w maszynie wirtualnej
multipass shell my-vm

# Wykonaj polecenie w maszynie wirtualnej
multipass exec my-vm -- ls -la

# Kopiuj pliki do/z maszyny wirtualnej
multipass transfer file.txt my-vm:/home/ubuntu/
multipass transfer my-vm:/home/ubuntu/file.txt ./

Po wejściu do maszyny wirtualnej Multipass, będziesz miał dostęp do pełnego środowiska powłoki Ubuntu. Dla wydajnej pracy w wierszu poleceń, odnosząc się do naszej Kartki z zaklętymi wierszami poleceń Bash dla istotnych poleceń i skrótów.

Multipass Instances

Kartka z zaklętymi wierszami poleceń Multipass

Polecenia zarządzania maszynami wirtualnymi

# Tworzenie i uruchamianie
multipass launch                    # Utwórz domyślną maszynę wirtualną
multipass launch --name vm1        # Utwórz nazwaną maszynę wirtualną
multipass launch 20.04 --name old  # Określona wersja Ubuntu

# Przydzielanie zasobów
multipass launch --cpus 2 --memory 4G --disk 20G --name dev

# Zarządzanie maszyną wirtualną
multipass start vm1                # Uruchom maszynę wirtualną
multipass stop vm1                 # Zatrzymaj maszynę wirtualną
multipass restart vm1               # Uruchom ponownie maszynę wirtualną
multipass suspend vm1              # Przerwij działanie maszyny wirtualnej

# Informacje
multipass list                     # Lista wszystkich maszyn wirtualnych
multipass info vm1                 # Szczegóły maszyny wirtualnej
multipass get local.privileged-mounts  # Sprawdź ustawienia montowania

Operacje plikowe

# Przekazywanie plików
multipass transfer file.txt vm1:/home/ubuntu/
multipass transfer vm1:/home/ubuntu/file.txt ./
multipass transfer --recursive ./folder vm1:/home/ubuntu/

# Montowanie katalogu hosta
multipass mount /host/path vm1:/vm/path
multipass umount vm1:/vm/path

Konfiguracja sieci

# Informacje sieciowe
multipass info vm1 | grep IPv4

# Przekazywanie portów (Windows/macOS)
multipass set local.port-forwarding=true
multipass restart vm1

Kopie zapasowe i przywracanie

# Utwórz kopię zapasową
multipass snapshot vm1 snapshot1

# Przywróć kopię zapasową
multipass restore vm1 snapshot1

# Lista kopii zapasowych
multipass list --all

Zaawansowana konfiguracja

Integracja z cloud-init Utwórz plik 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

Uruchom maszynę wirtualną z cloud-init:

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

Obrazy niestandardowe

# Lista dostępnych obrazów
multipass find

# Użyj określonego obrazu
multipass launch daily:22.04 --name daily-vm

Integracja z narzędziami do rozwoju

Integracja z Dockerem Multipass działa bardzo dobrze z Dockerem w celu rozwoju w kontenerach. Możesz uruchomić Docker wewnątrz maszyn wirtualnych Multipass lub użyć Multipass do tworzenia izolowanych środowisk dla rozwoju w Dockerze.

Środowiska rozwoju Dla rozwoju w Pythonie możesz ustawić izolowane środowiska podobne do wirtualnych środowisk Pythona ale z pełną izolacją systemu operacyjnego. Dla użytkowników VS Code, maszyny wirtualne Multipass mogą być używane jako środowiska rozwoju zdalne, uzupełniając kontenery rozwojowe w VS Code w scenariuszach wymagających pełnej izolacji systemu operacyjnego.

Autonomiczne aplikacje Multipass jest idealny do testowania autonomicznych aplikacji takich jak Gitea lub Ollama w izolowanych środowiskach. Dla orchestracji kontenerów możesz uruchomić klastry Kubernetes wewnątrz maszyn wirtualnych Multipass i użyć naszej kartki z zaklętymi wierszami poleceń Kubernetes do zarządzania swoich obciążeń kontenerowych.

Rozwiązywanie problemów

Typowe problemy

# Sprawdź status Multipass
multipass get local.driver

# Resetuj Multipass
multipass purge
sudo snap restart multipass

# Sprawdź logi maszyny wirtualnej
multipass logs vm1

Optymalizacja wydajności

# Włącz uprzywilejowane montowanie dla lepszej wydajności
multipass set local.privileged-mounts=true

# Skonfiguruj limity pamięci
multipass set local.memory=8G

Porównanie z alternatywami

Multipass vs Docker

  • Multipass: pełne maszyny wirtualne, lepsze do testowania na poziomie systemu operacyjnego, bardziej intensywne w użyciu zasobów
  • Docker: kontenery, bardziej wydajne, lepsze do wdrażania aplikacji

Multipass vs VirtualBox/VMware

  • Multipass: skupione na wierszu poleceń, wsparcie dla cloud-init, łatwiejsza automatyzacja
  • VirtualBox/VMware: oparte na interfejsie graficznym, więcej opcji konfiguracji, lepsze do użycia na biurku

Multipass vs Proxmox

  • Multipass: lekki, skupiony na pojedynczej maszynie wirtualnej, świetny do środowisk rozwojowych
  • Proxmox: pełna stosów wirtualizacji, lepszy do środowisk produkcyjnych, zaawansowane funkcje takie jak klastry i wysoka dostępność

Multipass vs Vagrant

  • Multipass: Ubuntu-skupione, prostsza konfiguracja, lepsze do scenariuszy z pojedynczą maszyną wirtualną
  • Vagrant: wsparcie wielu dostawców, złożona konfiguracja, lepsze do scenariuszy z wieloma maszynami wirtualnymi

Najlepsze praktyki

  1. Zarządzanie zasobami: przydziel odpowiednie ilości procesorów i pamięci w zależności od obciążenia
  2. Strategia kopii zapasowych: twórz kopie zapasowe przed dużymi zmianami
  3. Bezpieczeństwo sieciowe: używaj odpowiednich reguł zapory ogniowej dla wystawionych usług
  4. Strategia kopii zapasowych: regularnie kopiuje ważne dane maszyn wirtualnych
  5. Czyszczenie: usuwaj nieużywane maszyny wirtualne, aby zwolnić miejsce na dysku

Kiedy używać Multipass

Wybierz Multipass, gdy:

  • Potrzebujesz pełnych maszyn wirtualnych Ubuntu do rozwoju
  • Chcesz prosty interfejs wiersza poleceń do zarządzania maszynami wirtualnymi
  • Pracujesz na różnych systemach operacyjnych
  • Potrzebujesz wsparcia dla konfiguracji cloud-init
  • Chcesz testować autonomiczne aplikacje w izolacji

Rozważ alternatywy, gdy:

  • Potrzebujesz maksymalnej wydajności (użyj kontenerów Docker)
  • Potrzebujesz złożonych scenariuszy z wieloma maszynami wirtualnymi (użyj Vagrant)
  • Potrzebujesz zarządzania graficznego (użyj VirtualBox/VMware)

Multipass wyróżnia się prostotą i spójnością środowisk rozwojowych Ubuntu na wielu platformach, czyniąc go świetnym wyborem dla programistów potrzebujących niezawodnego zarządzania maszynami wirtualnymi bez skomplikowania tradycyjnych narzędzi wirtualizacji.

Przydatne linki