QEMU – это приложение виртуализации, бесплатный инструмент с открытым исходным кодом, который используется для эмуляции различных архитектур.
Перед знакомством с QEMU стоит рассказать о том, что такое виртуализация и эмуляция в частности.
Виртуализация и виртуальная машина
Если говорить обобщенно, виртуализация позволяет использовать на одном физическом компьютере несколько виртуальных машин.
А виртуальная машина, в свою очередь, это программа, которая эмулирует (имитирует) работу другого компьютера. То есть на виртуальную машину можно установить операционную систему, она имеет свою оперативную память, жесткий диск и так далее.
Если мощностей компьютера хватает, то на нем можно запускать несколько виртуальных машин, в том числе и одновременно.
Поэтому чаще всего виртуальные машины используются в тех случаях, когда нужно получить новое рабочее окружение без переустановки основной операционной системы (например, Linux на машине с Windows и наоборот). Виртуальные машины позволяют эмулировать архитектуры игровых приставок. Также они используются для защиты информации и ограничения возможностей запускаемых процессов. Виртуальную машину удобно переносить на другой компьютер: для этого нужно только установить на нем программу эмуляции и перенести образ нужной виртуальной машины. В общем, существует множество преимуществ использования виртуальных машин.
Популярные программы виртуализации это:
О последней и пойдет речь в этой статье.
QEMU
QEMU – это программа, которая используется для эмуляции программного обеспечения разных платформ. Она распространяется бесплатно и имеет открытый исходный код. Работает во всех популярных операционных системах – Microsoft Windows, Linux, MacOS, а также ее можно запускать на Android.
Существует программная и аппаратная виртуализация – QEMU использует вторую. Аппаратная виртуализация дает возможность использовать изолированные гостевые операционные системы, которые будут управляться гипервизором (используется гипервизор XEN либо модуль ядра KVM в Linux).
Два режима работы, в которых может работать QEMU, это:
- Полная эмуляция системы (full-system emulation) – в этом режиме QEMU полностью эмулирует устройство со всеми его компонентами и периферийными устройствами. Режим используется для запуска операционных систем.
- Эмуляция пользовательского режима (user-mode emulation) – режим позволяет программы, созданные на одном процессоре, запускать на другом, эмулируемом движке.
QEMU может эмулировать следующие архитектуры:
- x86 (32 и 64 бит),
- ARM,
- SPARC,
- PowerPC (32 и 64 бит),
- MIPS,
- m68k (Coldfire),
- SH-4,
- CRISv2,
- Alpha,
- MicroBlaze.
QEMU чуть сложнее использовать, чем некоторые другие программы виртуализации, так как она больше похожа на командную строку Linux, чем на приложение. Поэтому ее стоит использовать опытным пользователям.
Установка QEMU
Информация об установке есть на официальном сайте, в разделе Download QEMU. Тем, кто использует Windows, нужно будет скачать установочный файл (в зависимости от разряда своей системы).
Команда для установки QEMU на Linux выглядит следующим образом (для примера взята Ubuntu):
# apt-get install qemu
Все довольно просто, так как QEMU есть в официальных репозиториях Ubuntu.
Для изучения всех возможностей QEMU стоит обратиться к официальной документации.
Команда для создания образа:
# qemu-img create myimage.img mysize
- myimage.img - название файла с образом диска;
- mysize - размер в килобайтах (для размера в мегабайтах в конце надо добавить M, в гигабайтах - G: 10G).
Если нужно указать формат (qcow2 - формат, который используется QEMU по умолчанию), то нужно использовать ключ -f:
# qemu-img create -f qcow2 myimage.img 10G
Более подробную информацию о команде qemu-img можно посмотреть здесь.
Команда для запуска системы:
# qemu-system-x86_64 -hda myimage.img -boot d -cdrom ~/downloads/ubuntu-17.04-server-amd64.iso -m 640
В этом случае:
- жесткий диск подключается как -hda (другие возможные варианты: -hdb, -hdc, -hdd);
- если указать -boot d, то загрузка будет начинаться с CD-ROM (в противном случае – с жесткого диска);
- -cdrom указывает, что файл будет использоваться как образ CD-ROM (поэтому нельзя одновременно использовать ключи -cdrom и -hdc);
- в конце указывается количество оперативной памяти, которое будет выделено для машины.
После этого будет выполнена установка новой системы, которую потом можно запустить командой:
# qemu -hda myimage.img -m 640
Для того чтобы включить поддержку KVM, нужно добавить -enable-kvm в конце.
Заключение
QEMU – хороший инструмент виртуализации, обладающий широкими возможностями. Он подойдет не всем, однако может составить конкуренцию даже VirtualBox.
А вы пользуетесь программами виртуализации? Какими именно?
Комментарии