Запуск debian (Linux Rick 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU/Linux
)
Глядя на мою cpuinfo, я вижу, что у меня есть поддержка vmx:
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 pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
Хост и гостевая ОС (минимальный ISO Centos) имеют x64, поэтому их архитектура одинакова.
Следуя этим шагам для создания новой виртуальной машины из ISO, я получаю предупреждение о поддержке аппаратного ускорения:
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/centos01.qcow2 8192
sudo virsh net-start default
sudo virsh net-autostart default
sudo virt-install -r 2048 --accelerate -n centos01 -f /var/lib/libvirt/images/centos01.qcow2 --cdrom /home/morty/ISOs/CentOS-7-x86_64-Minimal-1511/CentOS-7-x86_64-Minimal-1511.iso
И я получаю это предупреждение:
WARNING KVM acceleration not available, using 'qemu'
Виртуальная машина работает, но я полагаю, что ускорение KVM не влияет? Как включить ускорение и чего мне без него не хватает?
Убедитесь, что в BIOS вашего сервера включена технология виртуализации (VT). Перезагрузите сервер и нажмите F2 во время POST, чтобы войти в BIOS, затем выберите Processors Settings
и проверьте Virtualization Technology
является Enabled
. Сохраните и выйдите и позвольте серверу загрузиться
Еще одна вещь, которую нужно сделать, - это вручную изменить файл xml с type=qemu
к type=kvm
и запустить гостя
Это исчезло для меня, когда я запустил virt-install от имени root. Почти слишком просто ...
В случае работы внутри гипервизора должна поддерживаться вложенная виртуализация.
Для Hyper-V вложенную виртуализацию можно включить с помощью команды PoserShell (от имени администратора):
Set-VMProcessor -VMName ubt18 -ExposeVirtualizationExtensions $true
где ubt18
имя виртуальной машины.