Questions tagged [kvm-virtualization]

KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream.

Introduction

Kernel-based Virtual Machine (KVM) is a virtualization infrastructure for the Linux kernel. KVM supports native virtualization on processors with hardware virtualization extensions. KVM originally supported x86 and x86-64 processors and has been ported to S/390, PowerPC, and IA-64. An ARM port is in progress.

A wide variety of guest operating systems work with KVM, including many flavours of Linux, BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, and AROS Research Operating System. A modified version of QEMU can use KVM to run Mac OS X.

Limited paravirtualization support is available for Linux and Windows guests using the VirtIO framework. This supports a paravirtual Ethernet card, a paravirtual disk I/O controller, a balloon device for adjusting guest memory usage, and a VGA graphics interface using SPICE or VMware drivers. KVM uses SeaBIOS.

Design

By itself, KVM does not perform any emulation. Instead, a user space program uses the /dev/kvm interface to set up the guest VM's address space, feeds it simulated I/O and maps its video display back onto the host's. QEMU versions 0.10.1 and later make use of this.

Features

  • QMP - QEMU Monitor Protocol
  • KSM - Kernel Samepage Merging
  • Kvm Paravirtual Clock - A Paravirtual timesource for KVM
  • CPU Hotplug support - Adding CPUs on the fly
  • PCI Hotplug support - Adding PCI devices on the fly
  • vmchannel - Communication channel between the host and guests
  • migration - Migrating virtual machines
  • vhost -
  • SCSI disk emulation -
  • Virtio Devices -
  • CPU clustering -
  • hpet -
  • device assignment -
  • PXE boot -
  • iSCSI boot -
  • x2apic -
  • Floppy -
  • CD-ROM -
  • USB -
  • USB host device passthrough -
  • Sound -
  • Userspace Irqchip emulation -
  • Userspace Pit emulation -
  • Balloon memory driver -
  • Large pages support -
  • Stable Guest ABI -

Links

Official Website

2405 questions
1
vote
3 answers

In cloud, is it possible to access guest VM from host machine?

In KVM, it is possible to access the guest machine from the host machine. For example, you can SSH to the host machine and then access the guest VM by virsh console vm_name. Is that possible in cloud? If yes, how? If not, why? Edit: I mean if you…
1
vote
1 answer

Memory ballooning doesn't try to reclaim page cache

I have a host running Proxmox with some VMs on it. Due to some unpredictability with the memory usage of some applications, and wanting to give some VMs (like a DB) memory for the page cache when there was available memory, I have overprovisioned…
adrian
  • 13
  • 3
1
vote
1 answer

Changing KVM VM listening on 5901 to some other port

OK this is rather silly, but real problem. vncserver keeps binding on 5902 port. That is because qemu is listening on 5900 and 5901: % netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign…
LetMeSOThat4U
  • 1,371
  • 2
  • 17
  • 35
1
vote
0 answers

Apparmor and libvirt - warnings and errors

I have a fresh Debian 12 installed and updated. Along with Cockpit and Cockpit virtual machines. I am getting the following errors and warning when looking at the log section in Cockpit: Failed to open file '/sys/kernel/security/apparmor/profiles':…
1
vote
1 answer

windows 2019 unattended install on kvm via libvirt can't find licence error

I'm trying to install windows server 2019 with autounattend.xml configuration on kvm via libvirt. Installation fail on dialog with sign: "Can't find microsoft software license terms" Despite there are a lot of articles with solving this error - it…
1
vote
1 answer

Libvirt - UDP not working between host and VM

Host: 192.168.1.144/24 VMs(routed) network: 192.168.122.0/24 I have VMs connected to libvirt's routed network. routed-122 86ca64a6-7fea-4cf8-9625-fa45fe944c2c
chupnik
  • 165
  • 5
1
vote
0 answers

Unable to Ping Guest VM's of Nested KVM on Vmware Workstation

I have installed KVM (RHEL 8) on VMware Workstation and created a Guest OS with CentOS 8. I have created a Bridge Network (slave: ens160) and assigned it to the Guest VM. The Guest VM has received an IP address from my home router; however, it is…
UME
  • 111
  • 2
1
vote
0 answers

Machine type issue when migrating KVM VMs with live snapshots from Debian to Ubuntu

I'm trying to migrate around 40 KVM VMs (containing a few hundred live snapshots mostly used for automated testing on Windows) from a Ubuntu 22 server to a Debian 11 server. The machine type of most of the VMs are pc-i440fx-xenial and I've tried…
1
vote
1 answer

Determine QEMU KVM overhead?

My guest OS shows about 5 percent CPU usage, but my host machine shows the QEMU process taking about 25 percent. I'm trying to understand where this difference comes from, as I am using KVM acceleration and the CPU should have near-native…
1
vote
1 answer

How to use more then 2GB of ram when using running a nested BIOS VM using KVM

I have a Linux host running Debian 11 and on that host, I have a Ubuntu 22.04 VM. Inside that VM I want to run a Windows 10 VM using nested virtualization. The ubuntu VM is booted using EFI and nested virtualization works well. When the windows VM…
nezu
  • 111
  • 3
1
vote
0 answers

Virtualized Centos 7 on Ubuntu host: very slow I/O

I run a Centos 7 virtualized in Ubuntu 20.04. There is a huge I/O performance drop in the VM compared to the host. The host has plenty of RAM. Host: * MB/s = 1,000,000 bytes/s * KB = 1000 bytes, KiB = 1024 bytes Sequential Read (Q= 32,T= 1) : …
Laurent
  • 406
  • 1
  • 4
  • 14
1
vote
1 answer

Three virtio-blk devices crashing Windows 10 VM

If three virtio-blk devices are added VM is crashing in the middle of the Windows 10 boot. The attached blockdev has no influence. VM is working fine using two virtio-blk. qemu-system-x86_64 \ ... -device…
Jonas
  • 337
  • 2
  • 10
1
vote
1 answer

How to read qemu fw_cfg value in windows guest?

Unable to find information about how to read -fw_cfg value in windows guest with the help of this: https://github.com/virtio-win/kvm-guest-drivers-windows/tree/master/fwcfg Related question: https://stackoverflow.com/a/70967245/625521
Jonas
  • 337
  • 2
  • 10
1
vote
0 answers

libvirt virsh not using a predefined target while attaching interface

I am trying to automate the process of creating a Guest VM. I am using uvt-kvm to create the VM. I am also taking a network type as a parameter. This can be either nat or macvtap. Now in the script I create the macvtap interface using these…
akarX_123
  • 11
  • 2
1
vote
0 answers

QEMU boot with no progress for quite long after using the -enable-kvm option

I just wanna start a vm based on x86_64 via qemu, everything goes as expected(e.g. showing the console and login part) when I run the command below qemu-system-x86_64 \ -nographic \ -smp 4 \ -kernel ~/Documents/linux-6.1.1/arch/x86_64/boot/bzImage…
DESPERATE
  • 11
  • 2