Введение
Виртуальная машина на базе ядра ( KVM ) — это технология виртуализации с открытым исходным кодом, встроенная в ядро Linux. С KVM для запуска нескольких гостевых виртуальных машин Linux или Windows. Каждый гость полностью изолирован от других и имеет свою собственную выделенную операционную систему и виртуальное оборудование, такое как ЦП, память, сетевые интерфейсы и хранилище.
В этом руководстве приведены инструкции по установке и настройке KVM на рабочем столе Ubuntu 20.04 LTS Focal Fossa. Мы также покажем вам, как создавать виртуальные машины, которые можно использовать в качестве среды разработки для различных приложений.
Предпосылки
Для запуска гостей с более чем 2 ГБ ОЗУ вам потребуется 64-разрядная хост-система.
Прежде чем продолжить установку, убедитесь, что ваш хост-компьютер Ubuntu поддерживает виртуализацию KVM. В системе должен быть процессор Intel с поддержкой VT-x (vmx) или процессор AMD с поддержкой технологии AMD-V (svm).
Выполните следующую команду grep
, чтобы убедиться, что процессор поддерживает аппаратную виртуализацию:
grep -Eoc '(vmx|svm)' /proc/cpuinfo
Если ЦП поддерживает аппаратную виртуализацию, команда сгенерирует число больше нуля, то есть количество ядер ЦП. В противном случае, если вывод равен 0
, это означает, что ЦП не поддерживает аппаратную виртуализацию.
На некоторых машинах производители могут отключать расширения виртуальных технологий в BIOS.
Чтобы проверить, включен ли VT в BIOS, используйте инструмент kvm-ok
. Введите следующие команды от имени пользователя root или пользователя с привилегиями sudo, чтобы установить пакет cpu-checker
, который включает команду kvm-ok
:
sudo apt update
sudo apt install cpu-checker
После установки проверьте, может ли ваша система запускать виртуальные машины KVM с аппаратным ускорением, с помощью следующей команды:
kvm-ok
Если функция виртуализации процессора не отключена в BIOS, вывод будет выглядеть так:
INFO: /dev/kvm exists
KVM acceleration can be used
В противном случае команда напечатает сообщение об ошибке, подобное следующему:
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
Вы можете получить короткое сообщение о том, как включить расширение. Процесс включения технологии AMD-V или VT зависит от материнской платы и типа процессора. Обратитесь к документации по материнской плате, чтобы узнать, как настроить системный BIOS.
Установите KVM на Ubuntu 20.04
Выполните следующую команду, чтобы установить дополнительные пакеты управления KVM и виртуализацией:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
qemu-kvm
— программное обеспечение, обеспечивающее аппаратную эмуляцию гипервизора KVM.libvirt-daemon-system
— файл конфигурации для запуска демона libvirt в качестве системной службы.libvirt-clients
— программное обеспечение для управления платформами виртуализации.bridge-utils
— набор инструментов командной строки для настройки мостов Ethernet.virtinst
— набор инструментов командной строки для создания виртуальных машин.virt-manager
— простой в использовании графический интерфейс и поддержка утилиты командной строки для управления виртуальными машинами через libvirt.
После установки пакетов демон libvirt запустится автоматически. Вы можете убедиться в этом, набрав:
sudo systemctl is-active libvirtd
active
Для создания и управления виртуальными машинами вам необходимо добавить своего пользователя в группы libvirt
и kvm
. Для этого введите:
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
$USER
— это переменная среды, которая содержит имя текущего пользователя, вошедшего в систему.
Выйдите из системы и войдите снова, чтобы обновить свое членство в группе.
Конфигурация сети
В процессе установки создается мост под названием « virbr0
». Это устройство использует NAT для подключения гостевых машин к внешнему миру.
Вы можете использовать инструмент brctl
для вывода списка текущих мостов и интерфейсов, к которым они подключены:
brctl show
bridge name bridge id STP enabled interfaces
virbr0 9000.43450032db3e yes virbr0-nic
Мост "virbr0" не имеет дополнительного физического интерфейса. «Virbr0-nic» — это виртуальное устройство, через которое не проходит трафик. Единственная цель этого устройства — избежать изменения MAC-адреса моста «virbr0».
Эта сетевая настройка подходит для большинства пользователей настольных компьютеров Ubuntu, но имеет ограничения. Если вы хотите получить доступ к гостям из-за пределов локальной сети, вам необходимо создать новый мост и настроить его так, чтобы гостевые машины могли подключаться к внешнему миру через физический интерфейс хоста.
Создание виртуальных машин
Теперь, когда KVM установлен на рабочем столе Ubuntu, вы можете создать свою первую виртуальную машину. Это можно сделать из командной строки или с помощью приложения virt-manager
.
Загрузите ISO-образ операционной системы, которую вы хотите установить, и выполните следующие действия, чтобы создать виртуальную машину:
- В строке поиска задач введите « Диспетчер виртуальных машин » и щелкните значок, чтобы запустить приложение.
- После запуска приложения в верхнем меню нажмите File -> New Virtual Machine.
- Появится новое окно. Выберите « Локальный установочный носитель » и нажмите кнопку «Далее».
- Укажите путь к ISO-образу и нажмите кнопку «Далее».
- На следующем экране выберите параметры памяти ВМ и ЦП. Нажмите "Далее.
- Затем выберите « Создать образ диска для виртуальной машины » и выберите размер дискового пространства виртуальной машины. Нажмите "Далее.
- Введите имя для имени виртуальной машины и нажмите «Готово».
- Виртуальная машина загрузится, и откроется новое окно.
- Отсюда вы можете следовать инструкциям на экране, чтобы завершить установку операционной системы.
После установки операционной системы к виртуальной машине можно получить доступ из приложения virt-manager
, через ssh или с помощью интерфейса последовательной консоли.
Вывод
Мы показали вам, как установить KVM в системах Ubuntu 20.04 LTS Focal Fossa. Теперь вы можете создавать свои собственные гостевые компьютеры с Windows или Linux. Для получения дополнительной информации о KVM посетите страницу документации KVM.