Virt-manager

Revision as of 06:39, 15 February 2023 by Krotesk (talk | contribs)
Other languages:
English • ‎Türkçe • ‎русский

Обзор


Подсказка
Слышали ли вы о Virtualbox для виртуализации операционных систем, таких как Linux и Windows или Mac? Это хорошее программное обеспечение, но не единственное! Не забывайте о VMware, Gnome Boxes и ... virt-manager.



Virt-manager использует libvirt и является менеджером многих гипервизоров, включая тот, который мы хотим использовать здесь: QEMU/KVM.



Зачем мне нужна виртуализация?

  • Чтобы узнать о новой ОС
  • Для настройки оборудования, которое имеет настройки только для этой операционной системы
  • Для использования программного обеспечения, которое работает только на другой

Я хочу знать больше


1. Виртуализация
2. Гипервизор
3. Виртуальная машина

Что мы точно должны знать


1. Какой у меня процессор. Определите его и убедитесь, что он как минимум четырехъядерный. ПОСМОТРИТЕ НА CPU-World
2. Проверьте, включены ли "параметры виртуализации" в BIOS, используя

LC_ALL=C lscpu | grep Virtualization

3. Сколько у меня памяти. Проверьте оперативную память и убедитесь, что она составляет не менее 4 ГБ.
4. Количество свободного места на жестком диске. Виртуальная машина может использовать файл образа диска, поэтому дополнительные разделы не нужны.

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

5. Минимальные требования к аппаратному обеспечению операционной системы, которую вы хотите установить в качестве виртуальной машины.

Установите virt-manager, qemu и все зависимости


Через терминал:

sudo pacman -S --needed virt-manager qemu-desktop libvirt edk2-ovmf dnsmasq iptables-nft

Для поддержки TPM:

sudo pacman -S --asdeps swtpm

Добавить в автозапуск и запустить службу:

sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service

Добавьте пользователя в группу libvirt для использования виртуальных машин уровня system (qemu:///system)

sudo usermod -a -G libvirt $USER
Примечание
  1. Вам не нужен этот шаг для запуска виртуальных машин системного уровня. Однако virt-manager запросит пароль sudoer'а при запуске, если пользователь не входит в группу libvirt.
  2. Вы также можете создавать виртуальные машины уровня пользователя (qemu:///session) и использовать их без прав sudoer. Однако некоторые функции, такие как Sharing files with Virtiofs, могут быть недоступны в qemu:///session

Использование Virt-Manager для создания гостевой системы

0. Подготовьте установочный образ. Если вы собираетесь устанавливать Windows, подготовьте также образ Virtio driver.

Подсказка
Вы также можете найти пакет virtio-win в AUR. Образ находится в /var/lib/libvirt/images, который по умолчанию является пулом каталогов qemu:///system

.

1. Запустите меню Диспетчер виртуальных машин. В нем уже должно быть установлено соединение LXC. Вы можете отключить и удалить его, если не используете LXC.

2. Перейдите в Файл, выберите Добавить подключение и выберите гипервизор QEMU/KVM или пользовательскую сессию QEMU/KVM, если вам не нужны виртуальные машины уровня system. Нажмите на кнопку подключения.

3. Вам нужны пулы каталогов для хранения образов дисков виртуальных машин или ISO-файлов CD/DVD. Дважды щелкните qemu/kvm, перейдите к хранилищу и добавьте - нажав +, выбрав путь к каталогу, где у вас находится iso, и к каталогу, где создается виртуальная машина.


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

4. Нажмите на кнопку создания новой виртуальной машины: выберите Локальный установочный носитель (ISO-образ или CDROM), затем выберите установочный ISO-образ и тип ОС (если он не обнаружен).

5. Сколько процессоров и сколько памяти? (проверьте рекомендуемые требования устанавливаемой операционной системы)

6. Создайте файловую систему виртуальной машины, выбрав Select or create custom storage и нажав Manage.... Под нужным пулом каталогов создайте том виртуальной машины (по умолчанию в формате qcow2). Сколько ГБ? Проверьте рекомендуемые требования ОС, которую вы устанавливаете.

7. Присвойте машине название и установите флаг customize configuration before install. У вас есть доступ к экрану со всем оборудованием, которое будет виртуализировано, проверьте, есть ли все необходимое для инициализации и запуска программы установки.

8. В разделе Обзор измените прошивку на UEFI для обеспечения будущего потенциала.

9. Измените тип SATA-диска 1 (образ диска создаваемой виртуальной машины) на virtio для лучшей производительности. Измените режим отключения на unmap, а затем примените изменения. Вы должны заметить, что имя устройства изменится с SATA Disk 1 на VirtIO Disk 1.

Предупреждение
Если вы устанавливаете Windows, убедитесь, что создали новое устройство SATA CDROM и выбрали образ virtio-win в качестве носителя, чтобы программа установки Windows смогла загрузить драйвер для распознавания диска. Драйвер хранилища virtio должен быть расположен где-то по адресу E:\viostor\w10\amd64

.

10. Установите тип сетевой карты тоже virtio для лучшей производительности сети.

Заметка
Если вы устанавливаете Windows, когда система будет готова, убедитесь, что установили все драйверы virtio, чтобы ваша сеть virtIO могла нормально работать

.

11. Добавьте чип TPM, выберите модель TIS через Emulated device backend.

12. Добавьте сторожевой таймер для перезагрузки гостя при зависании. Оставьте настройки по умолчанию.

13. И аппаратный RNG, чтобы получить энтропию от хоста.

14. Нажмите на верхнюю часть, чтобы начать установку.


Warning
Error
Template loop detected: Template:Error

Установка гостевых дополнений

После запуска и работы виртуальной машины необходимо установить spice guest tools.

Для Windows это один пакет: spice-guest-tools-xxxx.exe

Для linux это: spice-vdagent и xf86-video-qxl. Если вы пользуетесь дистрибутивом linux - вы можете установить их с помощью менеджера пакетов

Посетите страницу загрузки Spice

Настройка параметров дисплея

По умолчанию используется модель видеокарты QXL. Если ваша виртуальная машина - система Linux, вы можете изменить ее на virtio и включить 3D-ускорение для лучшей графической производительности.
Виртуальная машина Windows, однако, пока не поддерживает virtio дисплей. Тем не менее, мы можем увеличить ее VGA память с 16 МБ по умолчанию до 64 МБ, чтобы обеспечить более высокое разрешение дисплея и немного улучшить 2D графическую производительность.
Для этого нам нужно отредактировать XML-файл виртуальной машины.

  1. В virt-manager перейдите в edit > preference и отметьте Enable XML edit.
  2. В сведениях о виртуальной машине перейдите к видеокарте. На вкладке XML измените значение vgamem на 65536, затем примените изменения.


Обмен файлами между хостом и гостем

Для гостевых систем Linux доступны Virtio-FS и 9p для совместного использования файлов. Дополнительную информацию см. в ArchWiki.
Для гостевых систем Windows самым простым способом обмена файлами между хостом и гостем является SAMBA.

  1. Создайте SAMBA usershare
  2. В гостевой Windows введите \\\192.168.122.1 в файловом проводнике и сможете увидеть usershare на вашем хосте.
  3. Сопоставьте этот SAMBA usershare с новым диском и подключитесь к нему с соответствующими учетными данными. Вот и все.

Дополнительную информацию можно найти в этой статье.

Оптимизация vCPU

Посмотрите эту статью, как настроить топологию vCPU для лучшей производительности.
Например, мой процессор имеет 1 сокет, 8 ядер и 16 потоков. Автоматическая топология назначает моему гостю 4 сокета, 1 ядро и 1 поток. После изменения на 1 сокет, 4 ядра и 1 поток производительность значительно увеличивается.

Рекомендации

Virt-manager
Libvirt
Qemu
x86 virtualization
Intel-vt
Amd-v