2.9.15.2.1 Установка и настройка QEMU-KVM
Скачать документ Предварительная настройка
Установка и начальная настройка
Создание виртуальной машины
Управление ВМ
Управление ВМ через графический менеджер
Управление ВМ с помощью утилиты virsh
Клонирование виртуальных машин
Создание снапшотов
Решение возникающих проблем
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Рабочая станция
- Версия ПО: libvirt-7.6.0-6, qemu-kvm-15:7.2.7-1, virt-manager-4.1.0-1
Виртуализация — предоставление набора вычислительных ресурсов или их логического объединения, независимое от аппаратной реализации и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.
Поддержка виртуализации в РЕД ОС обеспечивается технологией KVM (Kernel-based Virtual Machine). Программное обеспечение KVM состоит из загружаемого модуля ядра kvm.ko, предоставляющего базовый сервис виртуализации, процессорно-специфического загружаемого модуля kvm-amd.ko или kvm-intel.ko и компонентов пользовательского режима QEMU.
QEMU — средство эмуляции аппаратного обеспечения различных платформ, поддерживающее также аппаратную виртуализацию, основанную на технологии Intel-VT или AMD-V, на процессорах Intel и AMD.
Управление средой виртуализации в РЕД ОС осуществляется посредством набора инструментов libvirt, предоставляющего единый API к различным технологиям виртуализации. Главным компонентом сервера виртуализации является служба libvirtd.
Менеджер виртуальных машин virt-manager предоставляет графический интерфейс для доступа к гипервизорам и виртуальным машинам как в локальной, так и в удаленных системах.
Дополнительную информацию о настройке и работе с QEMU см. в Руководстве администратора РЕД ОС.
Вы можете подробнее ознакомиться с работой QEMU, просмотрев наши обучающие видео:
на RuTube — Установка и настройка QEMU-KVM;
в Яндекс.Дзен — Установка и настройка QEMU-KVM;
в VK Видео — Установка и настройка QEMU-KVM.
На наших каналах вы также сможете найти много другой полезной информации.
Предварительная настройка
Сначала необходимо проверить, поддерживает ли ваш процессор аппаратную виртуализацию. Проверка осуществляется командой:
egrep '(vmx|svm)' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb retpoline kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts
Если вывод команды не пуст, значит процессор поддерживает аппаратную виртуализацию.
В случае если у команды пустой вывод, возможно, процессор не поддерживает виртуализацию либо функция отключена в BIOS материнской платы.
После проверки можно приступать к развертыванию средства виртуализации.
Установка и начальная настройка
Для установки пакетов сервера виртуализации libvirt выполните команду:
dnf install libvirt qemu-kvm virt-install virt-manager openssh-askpass OVMF boost-random boost-program-options boost-regex
Затем запустите и добавьте в автозагрузку службу сервера libvirtd:
systemctl enable libvirtd --now
Проверьте статус службы сервера libvirtd:
systemctl status libvirtd
В статусе должно быть указано active (running).
Перезагрузите компьютер для загрузки модулей ядра kvm (если используется процессор Intel, также должен загрузиться модуль intel-kvm).
После перезагрузки проверьте загрузку модулей.
lsmod | grep kvm kvm_intel 196608 3 kvm 598016 1 kvm_intel
Дополнительно рекомендуется проверить сетевые подключения:
ifconfig
Должно появиться дополнительное подключение virbr0.
Добавьте пользователя (в примере user), используемого для управления виртуальными машинами, в группу libvirt.
usermod -a -G libvirt user
На этом установка и начальная настройка завершены.
Создание виртуальной машины
Для создания виртуальной машины можно воспользоваться графической утилитой virt-manager. Запуск утилиты доступен из «Главного меню» — «Системные» — «Менеджер виртуальных машин».
В меню Файл выберите Создать виртуальную машину. В открывшемся окне выберите метод, с помощью которого будет производиться установка операционной системы. В примере, установка производится из образа iso. Нажмите Вперед.
Далее необходимо указать путь к ISO-образу устанавливаемой системы, нажав кнопку «Обзор...».
Снимите флаг в поле «Automatically detect from the installation madia/source» и в строке выбора типа ОС начните вводить ее название (в примере redos), будет выведен список доступных ОС, из которых потребуется выбрать нужную систему. Если нужной ОС нет в списке, выберите стандартную конфигурацию — Generic.
Определите оптимальное количество ОЗУ и процессоров, исходя из доступных данных. Виртуальной машине понадобится достаточный для ее работы объем оперативной памяти (как минимум 512 Мбайт). Стоит помнить, что ВМ используют физическую память. Выполнение слишком большого числа гостевых ОС или предоставление ОС недостаточного объема памяти может привести к повышенному использованию виртуальной памяти и области подкачки.
Далее необходимо настроить хранилище данных. Объем хранилища должен превышать минимально необходимый объем памяти, требуемый для установки системы. Минимально рекомендуемым объемом для РЕД ОС является 20 ГБ.
Также, при желании, можно выделить дополнительное пространство для гостевой ОС.
Проверьте правильность всех настроенных параметров. Если необходимо внести изменения, нажмите кнопку «Назад». Установите флаг в пункте «Проверить конфигурацию перед установкой».
Настройте сеть, если необходимо. Если все настроено верно, нажмите кнопку «Готово».
Будут открыты параметры виртуальной машины, где можно будет произвести дополнительные настройки. В свойствах гипервизора доступен выбор загрузчика системы — BIOS или UEFI. Для применения изменений нажмите «Применить».
Если все необходимые настройки заданы, нажмите «Начать установку» в верхнем левом углу окна.
Будет запущен процесс создания ВМ.
После успешного создания ВМ будет открыта консоль, в которой можно приступить к стандартной установке ОС.
Управление ВМ
Под управлением ВМ подразумеваются такие действия, как:
мониторинг состояния и ресурсов ВМ;
управление питанием ВМ;
создание снимков гостевой системы.
Управление ВМ через графический менеджер
Менеджер virt-manager предоставляет графический интерфейс для доступа к гипервизорам и виртуальным машинам в локальной и удаленных системах.
Кроме того, virt-manager выполняет управляющие функции:
- выделение памяти;
- выделение виртуальных процессоров;
- мониторинг производительности;
- сохранение и восстановление, приостановка и возобновление работы, запуск и завершение работы виртуальных машин;
- доступ к текстовой и графической консоли.
Просмотр информации о гостевой системе
С помощью менеджера виртуальных машин можно получить доступ к подробной информации обо всех виртуальных машинах. Для этого выполните следующий алгоритм действий:
1. В главном окне менеджера выберите виртуальную машину.
2. В пункте меню «Правка» выберите «Свойства виртуальной машины» или дважды нажмите ЛКМ по имени ВМ.
Будет выведено окно с подробными сведениями о виртуальной машине, на вкладке «Производительность» будет доступна информация об использовании ресурсов процессора и памяти.
Просмотр состояния виртуальной машины
Состояния ВМ отображаются в главном окне менеджера в списке созданных ВМ под их названием.
Состояния могут принимать следующие значения:
- работает;
- выключена;
- пауза;
- сохранено.
Запуск ВМ
Для запуска ВМ выберите ее в списке, нажмите ПКМ и выберите «Запустить».
Выключение ВМ
Для выключения ВМ выберите ее в списке, нажмите ПКМ и выберите «Выключить» — «Выключить» или «Выключить» — «Выключить принудительно».
Удаление ВМ
Для удаления ВМ в менеджере необходимо выбрать нужную ВМ и нажать ПКМ по ее имени. В открывшемся контекстном меню выберите «Удалить».
Далее потребуется указать необходимость удаления пространства хранения данных. После определения всех настроек нажмите «Удалить».
Подтвердите удаление ВМ и всех ее данных.
После этого выбранная ВМ будет полностью удалена.
Управление ВМ с помощью утилиты virsh
Просмотр списка виртуальных машин ВМ
Для просмотра списка виртуальных машин и их состояния выполните:
virsh list
Можно добавить аргументы:
--inactive
— покажет список неактивных доменов (неактивным считается тот домен, который был определен, но в настоящий момент не является активным).--all
— покажет все виртуальные машины независимо от их состояния.
Например:
virsh list --all ID Имя Состояние ––––––––––––––––––––––––––––– 1 ro732 работает - redos732 выключен
Столбец «Состояние» может содержать следующие значения:
работает
— работающие виртуальные машины, т.е. те машины, которые используют ресурсы процессора в момент выполнения команды;заблокирован
— заблокированные, неработающие машины. Такой статус может быть вызван ожиданием ввода/вывода или пребыванием машины в спящем режиме;приостановлен
— приостановленные домены. Данное состояние наступает, когда администратор нажал кнопку паузы в окне менеджера виртуальных машин или выполнил команду virsh suspend. В приостановленном состоянии гостевая ОС продолжает потреблять ресурсы, но не может занимать больше процессорных ресурсов;выключен
— виртуальные машины, завершающие свою работу. При получении виртуальной машиной сигнала завершения работы, она начнет завершать все процессы. Стоит отметить, что некоторые операционные системы не отвечают на такие сигналы.
Запуск ВМ
Для запуска ВМ выполните команду вида:
virsh start <ID_домена, имя_домена, UUID_домена>
Приостановка ВМ
Для приостановки ВМ выполните команду вида:
virsh suspend <ID_домена, имя_домена, UUID_домена>
В этом состоянии виртуальная машина все еще продолжает использовать системную память, но освобождает ресурсы процессора. Операции ввода и вывода приостанавливаются. Работа виртуальной машины может быть возобновлена с помощью команды resume
.
Возобновление работы ВМ
Для возобновления работы ВМ выполните команду вида:
virsh resume <ID_домена, имя_домена, UUID_домена>
Работа машины будет возобновлена немедленно.
Сохранение состояния ВМ
Для сохранения текущего состояния ВМ выполните команду:
virsh save <ID_домена, имя_домена, UUID_домена> <файл>
В результате выполнения данной команды виртуальная машина будет остановлена, а ее данные будут сохранены в заданный файл (это может занять некоторое время в зависимости от доступного гостевой ОС объема памяти). Состояние может быть позднее восстановлено с помощью команды restore
.
Восстановление виртуальной машины
Чтобы восстановить виртуальную машину, ранее сохраненную с помощью команды virsh save
, выполните команду:
virsh restore <файл>
Сохраненная машина будет восстановлена из файла и перезапущена, что может занять некоторое время. Имя и идентификатор UUID виртуальной машины останутся неизменными, но будет предоставлен новый идентификатор домена.
Завершение работы виртуальной машины
Для завершения работы ВМ выполните:
virsh shutdown <ID_домена, имя_домена, UUID_домена>
Поведение выключаемой гостевой ОС можно контролировать с помощью параметра on_shutdown
в ее файле конфигурации.
Клонирование виртуальных машин
Клонирование ВМ представляет собой процесс создания точной копии существующей ВМ. Этот метод устраняет необходимость ручной настройки каждой новой виртуальной машины, экономя значительное время и усилия системных администраторов. Клонирование может использоваться для различных целей, включая создание резервных копий, настройку тестовых сред, развертывание нескольких экземпляров одной и той же системы и облегчение разработки и тестирования программного обеспечения.
Для клонирования настроенной ВМ необходимо ее предварительно выключить. После этого в графическом менеджере виртуальных машин выберите необходимую ВМ и вызовите контекстное меню, нажав ПКМ по выбранном ВМ. В появившемся меню выберите «Клонировать...».
Укажите название новой ВМ и выберите клонируемое хранилище данных. Нажмите «Клонировать».
Создание снапшотов
Для создания снимка (снапшота) ВМ необходимо открыть консоль ВМ и перейти на вкладку «Снимки», нажав кнопку «Управление снимками» ().
Для создания нового снимка ВМ нажмите кнопку «Создать новый снимок».
Будет открыто окно «Создание снимка», в котором необходимо указать название (обязательно) и описание (по желанию) снимка.
Нажмите кнопку «Готово» для запуска процесса создания снимка ВМ.
После этого снимок будет доступен в списке для дальнейшей работы. При выборе конкретного снимка будет отображена подробная информация о нем.
Снимки можно восстанавливать и удалять, нажав ПКМ по нужному снимку либо выбрав снимок и нажав одну из кнопок — «Запуск выбранного снимка» () или «Удалить выбранный снимок» ().
Обновить список доступных снимков можно, нажав кнопку «Refresh snapshot list» ().
Снапшоты можно создавать как при включенной, так и при выключенной виртуальной машине.
Решение возникающих проблем
После обновления пакета edk2-ovmf ВМ (с загрузчиком UEFI) может не запуститься. Внешним признаком является высокая загрузка виртуального процессора (до 100%).
Данная проблема возникает из-за того, что пакет edk2-ovmf содержит firmware и шаблоны NVRAM. При создании виртуальных машин на основе шаблонов пакета edk2-ovmf формируются файлы nvram. После обновления пакета edk2-ovmf firmware обновляются, а файлы nvram остаются не обновленными. Совместимость нарушается.
Для решения данной проблемы необходимо в XML виртуальной машины в разделе <os>
указать новое имя nvram-файла, чтобы он заново сформировался на основе нового шаблона.
Например, было: <nvram>/var/lib/libvirt/qemu/nvram/myVM_VARS.fd</nvram>
.
Нужно задать новое имя, например: <nvram>/var/lib/libvirt/qemu/nvram/redos733_VARS.fd</nvram>
.
Дата последнего изменения: 09.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.