Виртуализация операционных систем с помощью QEMU. Основы работы с эмулятором
Но есть и другие, в чём-то даже более гибкие и продуктивные решения хотя и куда менее удобные в использовании. Например, QEMU — бесплатная программа с открытым исходным кодом, предназначенная для эмуляции программного обеспечения и операционных систем. Инструмент использует аппаратную виртуализацию, поддерживая два режима работы:
Как установить QEMU в Windows
Скачать установочный файл эмулятора можно с официального сайта www.qemu.org/download/#windows,
есть редакции 32-битные и 64-битные, версию выбираем последнюю.
Установку выполняем с параметрами по умолчанию, ничего менять не нужно, просто жмем в окне мастера «Next».
Виртуализация операционных систем в QEMU
В отличие от VirtualBox и подобных гипервизоров, QEMU не имеет графического интерфейса, работа с ней ведется через командную строку. Команд и параметров для создания и управления виртуальными машинами много, но для начала вам нужно знать хотя бы эти шесть.
Чтобы вам стало всё немного понятнее, установим и запустим с помощью QEMU какую-нибудь операционную систему. Для примера мы выбрали Windows XP, так как она легкая и занимает на диске мало места. QEMU у нас уже установлен, открываем командную строку, переходим в каталог установки и создаем виртуальный жесткий диск следующей командой:
Теперь сформируем следующую команду:
После выполнения команды появляется окошко QEMU с загрузочным меню, в котором мы выбираем установку на диск.
Далее проходим все этапы установки операционной системы вплоть до локальных настроек и загрузки рабочего стола.
Установка и настройка QEMU-KVM
2.6.3 Установка и настройка QEMU-KVM
О QEMU-KVM
Проверка оборудования
Проверьте, поддерживается ли на вашем хосте аппаратная виртуализация. Для процессоров Intel должна быть поддержка технологии Intel VT. Для процессоров AMD поддержка AMD SVM. Так же убедитесь, что аппаратная виртуализация включена в bios материнской платы хоста.
В данном примере используется процессор Intel, по этому в выводе присутствует vmx. Если вывода у команды не было, возможно, ваш процессор не поддерживает виртуализацию, либо она отключена в bios материнской платы.
Установка и начальное конфигурирование
Установите необходимый для виртуализации набор пакетов из стандартного репозитория.
Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:
Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:
Включите автозапуск службы libvirtd
Перезагрузите компьютер для загрузки модулей ядра kvm (если у вас процессор Intel так же должен загрузиться модуль intel-kvm).
После перезагрузки, проверьте загрузку модулей.
Так же проверьте сетевые подключения
Должен появиться дополнительное подключение vbr0.
Добавьте пользователя, используемого для управления виртуальными машинами, в группу libvirt.
На этом установка и начальное конфигурирование завершено.
Создание виртуальной машины
В меню Файл выберите Создать виртуальную машину. В открывшемся оке выберите метод, с помощью которого будет производиться установка операционной системы. В примере, установка производится из образа iso. Нажмите Вперед.
Для выбора образа нажмите Обзор и в открывшемся окне нажмите Выбрать файл. Найдите образ iso и откройте его, нажав на кнопку Открыть.
Установите необходимое количество оперативной памяти и процессоров, которые будут доступны данной виртуальной машине. Минимально необходимые значения для РЕД ОС указаны на скриншоте ниже.
Выберите количество постоянной памяти, которое будет доступно виртуальной машине. Минимально рекомендуемым для РЕД ОС является 15 Гб.
Впишите название виртуальной машины в поле Название. Установите галку в пункте Проверить конфигурацию перед установкой. Выберите нужную вам сеть. Нажмите Готово.
Запуск виртуальной машины
Для запуска виртуальной машины кликните на неё правой кнопкой мыши и нажмите Запустить.
Для управления виртуальными машинами из консоли используйте следующие команды:
Добавить в автозапуск:
Клонирование виртуальных машин и создание снапшотов.
Клонирование виртуальных машин
Для клонирования виртуальной машины в окне Virtual Machine Manager кликните правой кнопкой мыши на нужной машине и нажмите Клонировать.
Впишите название новой виртуальной машины и выберите клонируемое пространство данных. Нажмите клонировать
Создание снапшотов
Для создания снапшотов в главном окне Virtual Machine Manager выберите виртуальную машину и нажмите кнопку Открыть.
В открывшемся окне нажмите на значек с двумя мониторами. Откроется окно управления снимками. Нажмите + для создания снапшота.
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
РЕД СОФТ — участник
фонда «Сколково»
Отправить запрос
Отправить запрос
Заявка на расчет стоимости
Заявка на приобретение технической поддержки
Стать партнером
Заявка на производственную практику в РЕД СОФТ
Подписка на уведомления
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
Подписка оформлена
Политика в отношении обработки персональных данных Общества с ограниченной ответственностью «Ред Софт» (ООО «Ред Софт»)
1. Настоящая политика в отношении обработки персональных данных (далее – Политика) составлена в соответствии с требованиями Федерального закона от 27.07.2006 No152-ФЗ «О персональных данных» и применяется к информации, которую ООО «Ред Софт» (далее – Компания) может получить о Пользователях веб-сайта http://redos.red-soft.ru/ (далее – Сайт).
Использование Пользователем Сайта означает безоговорочное согласие с настоящей Политикой и указанными в ней условиями обработки персональных данных. В случае несогласия с данной Политикой использование Сайта должно быть немедленно прекращено.
При заполнении формы на Сайте Пользователь тем самым подтверждает:
2. Согласие Пользователя признается бессрочным и исполненным в простой письменной форме, на обработку следующих персональных данных:
Пользователь предоставляет Компании право осуществлять следующие действия с персональными данными:
3. Пользователь имеет право отозвать свое согласие посредством составления соответствующего письменного документа, который может быть направлен Пользователем в адрес Компании по электронной почте/по почте заказным письмом с уведомлением о вручении либо вручен лично под расписку уполномоченному представителю Компании. В случае получения письменного заявления об отзыве согласия на обработку персональных данных Компания обязана прекратить их обработку.
4. Компания обязуется приложить все усилия для обеспечения конфиденциальности данных, размещенных Пользователем посредством Сайта, на весь период использования Сайта Пользователем.
5. Персональные данные Пользователя никогда, ни при каких условиях не будут переданы третьим лицам, за исключением случаев, связанных с исполнением действующего законодательства.
6. Пользователь осознает, что в результате сбоя, технических неисправностей, действий третьих лиц, в том числе (но не ограничиваясь) вирусной или хакерской атаки, данные Пользователя, размещенные на Сайте, могут стать доступны третьим лицам. Пользователь обязуется не предъявлять требований к Компании о возмещении убытков (ущерба), возникших в связи с этим.
7. Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, отправив письмо на адрес электронной почты: redos@red-soft.ru.
8. Компания имеет право вносить изменения в настоящую Политику. При внесении изменений в актуальной редакции указывается дата последнего обновления. Новая редакция Политики вступает в силу с момента ее размещения, если иное не предусмотрено новой редакцией.
IP-KVM через QEMU
Устранение неисправностей при загрузке операционной системы на серверах без KVM — непростое занятие. Создаем себе KVM-over-IP через образ восстановления и виртуальную машину.
В случае возникновения проблем с операционной системой на удаленном сервере, администратор загружает образ восстановления и проводит необходимые работы. Такой способ отлично работает, когда причина сбоя известна, а образ восстановления и установленная на сервере операционная система из одного семейства. Если причина сбоя еще не известна, необходимо понаблюдать за ходом загрузки операционной системы.
Удаленный KVM
Получить доступ к консоли сервера можно с помощью встроенных средств, таких как IPMI или Intel® vPro™, или с помощью внешних устройств, именуемых IP-KVM. Существуют ситуации, в которых все из перечисленных технологий недоступны. Однако, это не конец. Если сервер можно удаленно перезагрузить в образ восстановления на базе операционной системы семейства Linux, то можно быстро организовать KVM-over-IP.
Образ восстановления представляет собой полноценную операционную систему, которая размещается в оперативной памяти. Таким образом, мы можем запускать любое программное обеспечение, в том числе и виртуальные машины (ВМ). То есть можно запустить ВМ, внутри которой будет работать операционная система сервера. Доступ к консоли ВМ может быть организован, например, через VNC.
Для запуска операционной системы сервера внутри ВМ необходимо указать диски сервера в качестве дисков ВМ. В операционных системах семейства Linux физические диски представляются блочными устройствами вида /dev/sdX, с которыми можно работать как с обычными файлами.
Некоторые гипервизоры, такие как QEMU и VirtualBox позволяют хранить данные ВМ в «сыром» виде, то есть только данные хранилища без метаданных гипервизора. Таким образом, ВМ можно запустить с использованием физических дисков сервера.
Подобный способ требует ресурсов на запуск образа восстановления и ВМ внутри него. Однако, при наличии четырех и более гигабайт оперативной памяти это не станет проблемой.
Подготовка окружения
В качестве виртуальной машины можно использовать легковесную и простую программу QEMU, которая чаще всего не является частью образа восстановления, поэтому должна быть установлена отдельно. Образ восстановления, который мы предлагаем клиентам, основан на Arch Linux, в котором используется пакетный менеджер pacman.
Сперва необходимо удостовериться, что образ восстановления использует последнии версии программного обеспечения. Выполнить проверку и обновить все компоненты ОС можно следующей командой:
После обновления необходимо установить QEMU. Команда на установку через pacman будет выглядеть так:
Если для установки QEMU не хватает места, необходимо расширить корневой раздел следующей командой:
Проверим, что qemu установилась корректно:
Если все так, то образ восстановления готов к работе.
Запуск виртуальной машины
Сперва необходимо определиться с количеством ресурсов, выделяемых ВМ, и выяснить пути до физических дисков. В нашем случае мы выделим два ядра и два гигабайта оперативной памяти виртуальной машине, а диски находятся по пути /dev/sda и /dev/sdb. Запустим ВМ:
Немного подробнее о том, что значит каждый из параметров:
Мы указали, что авторизация происходит по паролю, но не указали сам пароль. Сделать это можно отправив команду change vnc password в QEMU-монитор. Важное замечание: пароль не может быть больше восьми символов.
(qemu) change vnc password
Password: ******
После этого мы можем подключиться любым VNC-клиентом, например, Remmina, по IP-адресу нашего сервера с указанным нами паролем.
Теперь мы не только видим возможные ошибки на этапе загрузки, но и можем с ними бороться.
По окончании работ необходимо завершить виртуальную машину. Это можно сделать как внутри ОС, подав сигнал на выключение, либо дать команду system_powerdown в QEMU-монитор. Это будет эквивалентно однократному нажатию кнопки выключения: операционная система внутри виртуальной машины плавно завершится.
Установка операционной системы
Виртуальная машина имеет полный доступ к дискам сервера и потому может быть использована для установки операционной системы вручную. Единственное ограничение заключается в количестве оперативной памяти: не всегда ISO-образ можно разместить в оперативной памяти. Выделим в оперативной памяти четыре гигабайта для хранения образа в /mnt:
Также загрузим установочный образ операционной системы FreeBSD 12.0:
Теперь можно запускать ВМ:
Флаг -boot d устанавливает загрузку с CD-привода. Подключаемся VNC-клиентом и видим загрузчик FreeBSD.
Так как для доступа в интернет использовалось получение адреса по DHCP, возможно, после настройки будет необходимо загрузиться в только что установленную систему и исправить сетевые настройки. В некоторых случаях может потребоваться установка драйверов сетевого адаптера, так как сетевая карта, установленная в сервере и эмулируемая в ВМ отличаются.
Система виртуализации QEMU
Обновлено 24 января 2020
KVM (Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux, которая поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).
QEMU — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ, которая может работать и без использования KVM, но использование аппаратной виртуализации значительно ускоряет работу гостевых систем, поэтому использование KVM в QEMU (enable-kvm) является предпочтительным вариантом.
Первоначально разработка велась в рамках проекта Linux KVM (Kernel-based Virtual Machine), в котором, помимо собственно KVM (поддержки технологий аппаратной виртуализации x86-совместимых процессоров на уровне ядра Linux), разрабатывались патчи для QEMU, позволяющие QEMU использовать функциональность KVM. Однако недавно разработчики QEMU в содружестве с разработчиками KVM приняли решение интегрировать поддержку KVM в основную ветку QEMU (mainline).
Используя KVM, вы может запустить несколько виртуальных машин с немодифицированными образами Linux и Windows. Каждая виртуальная машина имеет собственную приватную среду, в которой она работает: сетевую карту, диск, графический адаптер и т.д.
Поддержка KVM вошла в ядро Linux начиная с версии 2.6.20.
Установка пакетов
По умолчанию QEMU поддерживает архитектуры i386 и x86_64. Отредактируйте флаги для поддержки необходимых гостевых машин. Пример добавления поддержки архитектуры arm :
Для установки QEMU и libvirt выполните:
Обзор и установка QEMU
QEMU – это приложение виртуализации, бесплатный инструмент с открытым исходным кодом, который используется для эмуляции различных архитектур.
Перед знакомством с QEMU стоит рассказать о том, что такое виртуализация и эмуляция в частности.
Виртуализация и виртуальная машина
Если говорить обобщенно, виртуализация позволяет использовать на одном физическом компьютере несколько виртуальных машин.
А виртуальная машина, в свою очередь, это программа, которая эмулирует (имитирует) работу другого компьютера. То есть на виртуальную машину можно установить операционную систему, она имеет свою оперативную память, жесткий диск и так далее.
Если мощностей компьютера хватает, то на нем можно запускать несколько виртуальных машин, в том числе и одновременно.
Поэтому чаще всего виртуальные машины используются в тех случаях, когда нужно получить новое рабочее окружение без переустановки основной операционной системы (например, Linux на машине с Windows и наоборот). Виртуальные машины позволяют эмулировать архитектуры игровых приставок. Также они используются для защиты информации и ограничения возможностей запускаемых процессов. Виртуальную машину удобно переносить на другой компьютер: для этого нужно только установить на нем программу эмуляции и перенести образ нужной виртуальной машины. В общем, существует множество преимуществ использования виртуальных машин.
Популярные программы виртуализации это:
О последней и пойдет речь в этой статье.
QEMU – это программа, которая используется для эмуляции программного обеспечения разных платформ. Она распространяется бесплатно и имеет открытый исходный код. Работает во всех популярных операционных системах – Microsoft Windows, Linux, MacOS, а также ее можно запускать на Android.
Существует программная и аппаратная виртуализация – QEMU использует вторую. Аппаратная виртуализация дает возможность использовать изолированные гостевые операционные системы, которые будут управляться гипервизором (используется гипервизор XEN либо модуль ядра KVM в Linux).
Два режима работы, в которых может работать QEMU, это:
QEMU может эмулировать следующие архитектуры:
QEMU чуть сложнее использовать, чем некоторые другие программы виртуализации, так как она больше похожа на командную строку Linux, чем на приложение. Поэтому ее стоит использовать опытным пользователям.
Установка QEMU
Команда для установки QEMU на Linux выглядит следующим образом (для примера взята Ubuntu):
Все довольно просто, так как QEMU есть в официальных репозиториях Ubuntu.
Команда для создания образа:
Команда для запуска системы:
После этого будет выполнена установка новой системы, которую потом можно запустить командой:
Заключение
QEMU – хороший инструмент виртуализации, обладающий широкими возможностями. Он подойдет не всем, однако может составить конкуренцию даже VirtualBox.
А вы пользуетесь программами виртуализации? Какими именно?