Шпаргалка по управлению виртуальными машинами Multipass: руководство для Ubuntu, Windows и macOS
Установка, настройка и основные команды Multipass
Multipass — это легковесный менеджер виртуальных машин, который упрощает создание и управление облачными экземплярами Ubuntu на Linux, Windows и macOS.
Будь вы разработчиком, нуждающимся в изолированных средах, инженером DevOps, тестирующим конфигурации, или человеком, изучающим Linux, Multipass предоставляет простой интерфейс командной строки для быстрого развертывания виртуальных машин Ubuntu.
Что такое Multipass?
Multipass — это официальный инструмент Canonical для создания и управления виртуальными машинами Ubuntu. Он разработан для простоты, скорости и кроссплатформенности, что делает его отличным выбором для разработчиков, которым нужны согласованные среды Ubuntu на разных операционных системах.
Основные возможности
- Кроссплатформенность: Работает на Linux, Windows и macOS
- Легковесность: Минимальные затраты ресурсов по сравнению с традиционными ВМ
- Поддержка cloud-init: Настройка ВМ с метаданными cloud-init
- Поддержка снимков: Создание и восстановление снимков ВМ
- Интеграция сети: Простое сетевое взаимодействие между хостом и ВМ
- SSH доступ: Встроенное управление SSH-ключами
Самые полезные команды
# Быстрый справочник
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
Установка
Ubuntu/Linux
# Установка через snap (рекомендуется)
sudo snap install multipass
# Или установка через apt
sudo apt update
sudo apt install multipass
Windows
- Скачайте установщик для Windows с multipass.run
- Запустите установщик от имени администратора
- Multipass будет использовать Hyper-V по умолчанию (Windows 10 Pro/Enterprise) или переключится на VirtualBox
macOS
# Установка через Homebrew
brew install --cask multipass
# Или скачайте с multipass.run
Базовое использование
Создание первой ВМ
# Создать ВМ с настройками по умолчанию
multipass launch
# Создать ВМ с конкретным именем
multipass launch --name my-vm
# Создать ВМ с конкретной версией Ubuntu
multipass launch 22.04 --name ubuntu-22
# Создать ВМ с пользовательскими ресурсами
multipass launch --name dev-vm --cpus 2 --memory 4G --disk 20G
Управление ВМ
# Список всех ВМ
multipass list
# Запуск ВМ
multipass start my-vm
# Остановка ВМ
multipass stop my-vm
# Удаление ВМ
multipass delete my-vm
multipass purge # Удаление всех удаленных ВМ
Доступ к ВМ
# Открыть оболочку в ВМ
multipass shell my-vm
# Выполнить команду в ВМ
multipass exec my-vm -- ls -la
# Копирование файлов в/из ВМ
multipass transfer file.txt my-vm:/home/ubuntu/
multipass transfer my-vm:/home/ubuntu/file.txt ./
После входа в Multipass ВМ у вас будет доступ к полной оболочке Ubuntu. Для эффективной работы с командной строкой обратитесь к нашему Bash Cheat Sheet с основными командами и сокращениями.
Шпаргалка Multipass
Команды управления ВМ
# Создание и запуск
multipass launch # Создать ВМ по умолчанию
multipass launch --name vm1 # Создать именованную ВМ
multipass launch 20.04 --name old # Конкретная версия Ubuntu
# Распределение ресурсов
multipass launch --cpus 2 --memory 4G --disk 20G --name dev
# Управление ВМ
multipass start vm1 # Запуск ВМ
multipass stop vm1 # Остановка ВМ
multipass restart vm1 # Перезапуск ВМ
multipass suspend vm1 # Приостановка ВМ
# Информация
multipass list # Список всех ВМ
multipass info vm1 # Детали ВМ
multipass get local.privileged-mounts # Проверка настроек монтирования
Операции с файлами
# Передача файлов
multipass transfer file.txt vm1:/home/ubuntu/
multipass transfer vm1:/home/ubuntu/file.txt ./
multipass transfer --recursive ./folder vm1:/home/ubuntu/
# Монтирование каталога хоста
multipass mount /host/path vm1:/vm/path
multipass umount vm1:/vm/path
Настройка сети
# Информация о сети
multipass info vm1 | grep IPv4
# Перенаправление портов (Windows/macOS)
multipass set local.port-forwarding=true
multipass restart vm1
Снимки и резервные копии
# Создание снимка
multipass snapshot vm1 snapshot1
# Восстановление снимка
multipass restore vm1 snapshot1
# Список снимков
multipass list --all
Расширенная настройка
Интеграция с cloud-init
Создайте файл 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
Запуск ВМ с cloud-init:
multipass launch --cloud-init cloud-config.yaml --name configured-vm
Пользовательские образы
# Список доступных образов
multipass find
# Использование конкретного образа
multipass launch daily:22.04 --name daily-vm
Интеграция с инструментами разработки
Интеграция с Docker Multipass отлично работает с Docker для контейнеризированной разработки. Вы можете запускать Docker внутри Multipass ВМ или использовать Multipass для создания изолированных сред для разработки с Docker.
Среды разработки Для разработки на Python вы можете настраивать изолированные среды, аналогичные Python виртуальным средам, но с полной изоляцией ОС. Для пользователей VS Code, Multipass ВМ могут использоваться как удаленные среды разработки, дополняя Dev Containers в VS Code для сценариев, требующих полной изоляции ОС.
Хостинг приложений Multipass идеален для тестирования самонастраиваемых приложений, таких как Gitea или Ollama в изолированных средах. Для оркестрации контейнеров вы можете запускать кластеры Kubernetes внутри Multipass ВМ и использовать наш Kubernetes Cheatsheet для управления вашими контейнеризированными нагрузками.
Устранение неполадок
Распространенные проблемы
# Проверка состояния Multipass
multipass get local.driver
# Сброс Multipass
multipass purge
sudo snap restart multipass
# Проверка логов ВМ
multipass logs vm1
Оптимизация производительности
# Включение привилегированного монтирования для лучшей производительности
multipass set local.privileged-mounts=true
# Настройка лимитов памяти
multipass set local.memory=8G
Сравнение с альтернативами
Multipass vs Docker
- Multipass: Полные ВМ, лучше для тестирования на уровне ОС, более затратные по ресурсам
- Docker: Контейнеры, более эффективные, лучше для развертывания приложений
Multipass vs VirtualBox/VMware
- Multipass: Ориентирован на командную строку, поддержка cloud-init, проще автоматизация
- VirtualBox/VMware: Управление через GUI, больше опций настройки, лучше для настольного использования
Multipass vs Proxmox
- Multipass: Легковесный, фокусируется на одной ВМ, отлично подходит для сред разработки
- Proxmox: Полный стек виртуализации, лучше для производственных сред, продвинутые функции вроде кластеризации и высокой доступности
Multipass vs Vagrant
- Multipass: Ubuntu-ориентированный, проще настройка, лучше для сценариев с одной ВМ
- Vagrant: Поддержка нескольких провайдеров, сложное обеспечение, лучше для настроек с несколькими ВМ
Лучшие практики
- Управление ресурсами: Распределяйте соответствующее количество CPU и памяти в зависимости от нагрузки
- Стратегия снимков: Создавайте снимки перед значительными изменениями
- Безопасность сети: Используйте правильные правила брандмауэра для открытых сервисов
- Стратегия резервного копирования: Регулярно создавайте резервные копии важных данных ВМ
- Очистка: Удаляйте неиспользуемые ВМ для освобождения дискового пространства
Когда использовать Multipass
Выбирайте Multipass, когда:
- Вам нужны полные ВМ Ubuntu для разработки
- Вы хотите простое управление ВМ через командную строку
- Вы работаете на разных операционных системах
- Вам нужна поддержка конфигурации cloud-init
- Вы хотите тестировать самонастраиваемые приложения в изоляции
Рассмотрите альтернативы, когда:
- Вам нужна максимальная производительность (используйте Docker-контейнеры)
- Вам нужны сложные настройки с несколькими ВМ (используйте Vagrant)
- Вам нужно управление через GUI (используйте VirtualBox/VMware)
Multipass преуспевает в предоставлении простых, согласованных сред разработки Ubuntu на разных платформах, что делает его отличным выбором для разработчиков, которым нужна надежная виртуализация без сложности традиционных инструментов.
Полезные ссылки
- Официальная документация Multipass
- Репозиторий Multipass на GitHub
- Документация cloud-init
- Облачные образы Ubuntu
- Proxmox в 2025: Практичный, все-в-одном стек виртуализации
- Настройка VirtualBox Shared Folders для Linux Guest OS
- Приложения для мониторинга GPU в Linux / Ubuntu
- Как установить Ubuntu 24.04 & полезные инструменты
- Использование Dev Containers в VS Code