🐧 Как создавать и запускать виртуальные машины Ubuntu с Multipass в Linux

by itisgood

Существует множество программ и инструментов, доступных для развертывания виртуальных машин Ubuntu в целях тестирования и обучения.

Некоторые из них – Docker, LXD, LXC, Proxmox, VirtualBox и Vmware и т. д.

Я часто использую Virtualbox для тестирования различных приложений на нескольких дистрибутивах Linux.

Сегодня мы собираемся узнать еще об одной утилите под названием Multipass.

Являетесь ли вы обычным пользователем, разработчиком или системным администратором, вы можете создавать и запускать виртуальные машины Ubuntu с Multipass за считанные секунды в Linux.

Multipass – это утилита командной строки, разработанная командой Canonical для быстрого развертывания экземпляров Ubuntu на локальном компьютере.

Так как Multipass предоставляет вам новейшие экземпляры, вам не нужно тратить время на обновления при запуске!

Используя Multipass, вы можете запускать виртуальные машины Ubuntu и использовать их для тестирования вашего кода или приложения.

Вы можете запускать команды в виртуальных машинах непосредственно с локального хоста или входить в оболочку виртуальной машины и запускаться оттуда.

Также возможно монтировать каталог вашей хост-системы в экземпляры и обмениваться файлами и папками между хост-системой и виртуальными машинами.

Multipass поддерживает GNU / Linux, Mac OS и Windows.

Как установить Multipass на Linux

Multipass доступен в виде пакета Snap, поэтому его можно установить в любой операционной системе Linux, которая поддерживает Snapd.

Snap поставляется предварительно установленным во всех выпусках Ubuntu, начиная с версии 16.04 LTS, версий Ubuntu, Solus 3 и выше, ОС Zorin и т. д.

В других системах Linux вы можете установить Snapd, как описано в этой ссылке.

После установки Snapd установите Multipass с помощью команды:

$ sudo snap install multipass --classic

После успешной установки Multipass вы увидите следующий вывод:

multipass 1.0.2 from Canonical* installed
Теперь давайте продолжим и развернем экземпляры Ubuntu в нашей локальной системе.

Как создавть и запускать виртуальные машины Ubuntu с Multipass на Linux

Запускать виртуальные машины Ubuntu с Multipass невероятно легко и просто.

Запустим виртуальную машину Ubuntu

$ multipass launch --name itisgood-instance
или
$ multipass launch -n itisgood-instance

Здесь itisgood-instance – это имя моей Ubuntu VM.

Вы можете называть виртуальные машины как хотите.

Приведенная выше команда загрузит свежий и минимальный экземпляр Ubuntu и запустит его автоматически.

По умолчанию Multipass загрузит текущую версию Ubuntu LTS.

Список виртуальных машин

Чтобы просмотреть список загруженных в данный момент виртуальных машин в вашей системе, выполните:

$ multipass list

Вывод:

Name                    State             IPv4             Image
itisgood-instance      Running           10.39.86.203     Ubuntu 18.04 LTS
Как видно из вышеприведенного вывода, новый экземпляр Ubuntu с именем «itisgood-instance» запускается и работает с версией Ubuntu 18.04 LTS.
А IP-адрес экземпляра 10.39.86.203.

Выполняем команды в виртуальных машинах из локальной системы

Multipass позволяет наам запускать команды внутри ваших экземпляров Ubuntu.
Например, мы можем найти системные детали работающей виртуальной машины, используя команду:
$ multipass exec itisgood-instance -- lsb_release -a

Запустим оболочку Ubuntu VM

Вместо того, чтобы запускать команды из вашей локальной системы на Ubuntu VM, вы можете напрямую запустить ее SHELL и запустить команды или выполнить любое тестирование!

$ multipass shell itisgood-instance
Введите «exit», чтобы выйти из экземпляра.

Найтем доступные экземпляры виртуальных машин

Чтобы просмотреть список всех доступных виртуальных машин, выполните:
$ multipass find
Пример вывода:
Image                   Aliases           Version          Description
snapcraft:core          core16            20200221         Snapcraft builder for Core 16
snapcraft:core18                          20200221         Snapcraft builder for Core 18
core                    core16            20200213         Ubuntu Core 16
core18                                    20200210         Ubuntu Core 18
16.04                   xenial            20200218.1       Ubuntu 16.04 LTS
18.04                   bionic,lts        20200218         Ubuntu 18.04 LTS
19.10                   eoan              20200129         Ubuntu 19.10
daily:20.04             devel,focal       20200226         Ubuntu 20.04 LTS

Как видите, доступны ядра Snapcraft, ядро Ubuntu, Ubuntu 16.04, 18.04, 19.10 и 20.04.

Чтобы запустить другие экземпляры, укажите имя образа, как показано ниже.

$ multipass launch --name ostechnix-instance 19.10
Эта команда запустит экземпляр, работающий на Ubuntu 19.10.

Как создать виртуальную машину с пользовательскими спецификациями (количество процессоров, размер жесткого диска и объем памяти)

По умолчанию Multipass создает виртуальные машины Ubuntu с 1 ЦП, 5 ГБ жесткого диска и 1 ГБ ОЗУ.
Этого достаточно для базового тестирования.
Однако иногда вам может потребоваться создать виртуальную машину с более низкой или более мощной конфигурацией, чем конфигурация по умолчанию.

Это тоже возможно!

Следующая команда поднимет виртуальную машину с 2 ЦП, 2 ГБ ОЗУ и объемом жесткого диска 20 ГБ.

$ multipass launch -c 2 -m 2G -d 20G -n itisgood-instance

Найти информацию о запущенных экземплярах VM

Информацию о запущенных экземплярах можно просмотреть с помощью следующей команды:

$ multipass info itisgood-instance
Name:           itisgood-instance
State:          Running
IPv4:           10.39.86.203
Release:        Ubuntu 18.04.4 LTS
Image hash:     3c3a67a14257 (Ubuntu 18.04 LTS)
Load:           0.08 0.02 0.01
Disk usage:     999.1M out of 4.7G
Memory usage:   74.0M out of 985.1M

Приостановить экземпляры VM

Чтобы приостановить работающий экземпляр, запустите:

$ multipass suspend itisgood-instance

Убедитесь, что ВМ приостановлена:

$ multipass info itisgood-instance                            
Name:           itisgood-instance
State:          Suspended
IPv4:           --
Release:        --
Image hash:     3c3a67a14257 (Ubuntu 18.04 LTS)
Load:           --
Disk usage:     --
Memory usage:   --

Запуск и остановка экземпляров виртуальных машин

Чтобы остановить работающую виртуальную машину, запустите:

$ multipass stop itisgood-instance

для запуска:

$ multipass stop itisgood-instance

Удалить виртуальные машины

Когда вы закончите с вашими экземплярами Ubuntu, вы можете удалить их, если они больше не нужны.

Сначала остановите виртуальную машину, которую хотите удалить.

$ multipass stop itisgood-instance

Затем удалите его с локального хоста с помощью команд:

$ multipass delete itisgood-instance
$ multipass purge

Получить помощь

Выполните следующую команду, чтобы просмотреть список доступных опций и подкоманд вместе с описанием.

$ multipass help
Usage: multipass [options] <command>
Create, control and connect to Ubuntu instances.

This is a command line utility for multipass, a
service that manages Ubuntu instances.

Options:
  -h, --help     Display this help
  -v, --verbose  Increase logging verbosity, repeat up to three times for more
                 detail

Available commands:
  delete    Delete instances
  exec      Run a command on an instance
  find      Display available images to create instances from
  get       Get a configuration setting
  help      Display help about a command
  info      Display information about instances
  launch    Create and start an Ubuntu instance
  list      List all available instances
  mount     Mount a local directory in the instance
  purge     Purge all deleted instances permanently
  recover   Recover deleted instances
  restart   Restart instances
  set       Set a configuration setting
  shell     Open a shell on a running instance
  start     Start instances
  stop      Stop running instances
  suspend   Suspend running instances
  transfer  Transfer files between the host and instances
  umount    Unmount a directory from an instance
  version   Show version details

Чтобы просмотреть раздел справки для каждой подкоманды:

$ multipass help <sub-command>

Пример

$ multipass help launch

 

You may also like

Leave a Comment