Как установить QEMU

Рассказываем о механизме для виртуализации операционных систем и отдельных программ в Linux или других ОС.

Что такое QEMU?

QEMU – это сокращение от Quick Emulator, названия популярного кроссплатформенного набора программных инструментов для виртуализации операционных систем Windows, Linux, macOS и Android. QEMU использует двоичную трансляцию для создания среды для эмуляции программных продуктов с иной архитектурой. Это позволяет запускать на Linux системы и приложения, которые не предназначены для этой ОС, и проделывать аналогичные операции с Windows и macOS.

Как установить QEMU

Результатом работы QEMU становится виртуальный компьютер в компьютере с идентичным набором функций и опций с минимумом ограничений.

QEMU – довольно популярная технология, часто применяемая при создании удаленных серверов, на базе которых потом выстраивают сети виртуальных машин (VDS и VPS).

Режимы работы QEMU

Всего есть 4 режима, в которых запускается QEMU и выполняет задачи эмуляции.

Эмуляция User-Mode

В этом режиме эмулятор используется для запуска отдельных программ, созданных для Linux или macOS. Они открываются в отдельном пространстве и с отдельным набором инструкций. Этот режим чаще всего используется разработчиками для быстрого дебаггинга и тестирования кода.

Эмуляция на системном уровне

В этом режиме эмулятор создает виртуальное пространство для полноценной системы. Эмулируются все компоненты устройства, включая периферические. Эта функция используется для создания виртуальных машин на серверах.

QEMU поддерживает широкий спектр архитектур и полностью эмулирует платформы Microsoft, BSD и Solaris с различными наборами инструкций, включая ARM, SPARC, x86 и другие редко встречающиеся программные подсистемы.

KVM

Это одно из наиболее распространенных применений QEMU в коммерческих продуктах. Используется ядро KVM для создания платформы, на базе которой потом устанавливаются дополнительные ОС.

Большая часть VDS и VPS с индивидуальными изолированными системами построены как раз на базе этой технологии, так как она обеспечивает более высокую безопасность эмуляции и поддержку операционных систем, недоступных в случае с OpenVZ.

Xen

Гипервизор Xen тоже поддерживается. Но при этом QEMU используется только в том случае, когда осуществляется эмуляция на уровне «железа». Запуск гостевой ОС происходит в пределах кода Xen и сам процесс скрыт от QEMU.

Основные функции QEMU

  • QEMU умеет сохранять состояние эмулируемой системы, как и состояние всех запущенных в ней приложений, и восстанавливать его при повторном запуске виртуальной машины.
  • Гостевую систему не нужно как-то адаптировать или перестраивать, чтобы запустить в Quick Emulator.
  • QEMU позволяет без проблем взаимодействовать с «железными» компонентами устройства через виртуализированную операционную систему. В списке поддерживаемых устройств CD-ROM, сетевые карты, аудиоинтерфейсы и USB-порты. Эмуляция работает при наличии у администратора соответствующих привилегий.
  • Данные хранятся в специальных образах qcow, которые занимают ровно столько пространства, сколько «весит» виртуальная ОС.
  • QEMU поддерживает множество сетевых устройств.
  • Благодаря модулю KQEMU Quick Emulator показывает высокую производительность при виртуализации операционной системы с той же архитектурой, на которой запущен QEMU.

Поддерживаемые форматы образов

К Quick Emulator можно подключить следующие типы образов:

  • dng – это универсальный формат образов, созданный специально для macOS.
  • Bochs – образы, используемые при разработке операционных систем. Они упрощают поиск ошибок в виртуализированных системах.
  • vdi – это формат образов, разработанный специально для программы VirtualBox.

Поддерживаемые виды виртуализации

QEMU может работать сразу в двух режимах виртуализации:

  1. Аппаратная
  2. Параллельная

В первом случае используется реальное «железо» и виртуальная система полностью зависит от аппаратного оборудования, тесно связываясь с ним.

Во втором случае создается сразу несколько виртуальных процессоров, на базе которых можно запускать ряд программных платформ. Они остаются гораздо более изолированными от хост-системы.

Куда интегрирован QEMU?

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

  • Программа VirtualBox появилась в 2007 году и использует ряд компонентов QEMU для реализации своей функциональности. Задействуется и модуль KQEMU, значительно повышающий скорость работы приложения.
  • Xen
  • KVM
  • Virtual Bridges – еще один набор инструментов для эмуляции операционных систем по типу FreeBSD, изначально создававшийся на базе технологий Quick Emulator.
  • UAE – платформа для эмуляции компьютеров Commodore International Amiga.

Как установить QEMU?

Чтобы установить QEMU в свою операционную систему, нужно сделать следующее:

  • Открываем терминал.
  • Вводим в командную строку sudo apt-get install qemy-kvm quem (если у вас установлен дистрибутив Fedora или OpenSUSE, то нужно заменить команду на sudo dnf install @virtualization).
  • Через несколько минут все необходимые пакеты будут загружены в ОС и подготовлены к работе.

В Windows и macOS процесс установки отличается. Нужно скачать дистрибутив программы с официального сайта и запустить его как обычный исполняемый файл. После этого в терминале обеих ОС появится доступ к функциям для управления виртуальными машинами.

Как работать с QEMU?

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

Для начала нужно создать образ операционной системы с помощью команды:

qemu-img create -f qcow2 system.qcow2

Появится пустой файл с образом операционной системы. Для запуска уже существующего образа используется команда:

qemu-system-x86_64 -hda system.qcow -boot d -cdrom ~/path/to/the/system-image.iso -m 1G

Здесь подразумевается подключение к виртуальной машине QEMU ISO-образа операционной системы (это может быть любой дистрибутив Linux или другая ОС) с выделением 1 Гб оперативной памяти.

Гипервизор предложит провести установку подключенной ОС. После этого можно будет запустить виртуальную платформу аналогичной командой, но без подключения сторонних образов. То есть можно будет ввести просто:

qemu-system-x86_64 -hda system.qcow -m 1G

Также при запуске рекомендуется использовать аргумент -enable-kvm. Это заметно ускорит работу виртуальной машины. Также вы можете подключить видеокарту с помощью аргумента vga qxl.

Аналогичным образом можно создавать неограниченное количество систем с разными архитектурами и дистрибутивами.

Запуск отдельных программы (не операционных систем) осуществляется с помощью команды:

qemu-x86_64 [название приложения, которое нужно запустить в виртуальном пространстве]

Вместо заключения

На этом краткий обзор QEMU закончен. Утилита комплексная и требует внимательного изучения документации, чтобы освоить все ее возможности и научиться работать с ней наиболее эффективными способами. Так что для более глубокого знакомства вам стоит обратиться к официальному сайту программы.

Hosting2go.ru