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
0 answers

How to check if KVM nested virtualization is supported on ARM64 processor?

I have a virtual machine running RHEL 8.5 on an ARM64 (aarch64) processor - Arm Neoverse N1. Every tutorial I've found states looking at either /sys/module/kvm_amd or the /sys/module/kvm_intel folder to figure out whether nested virtualization is…
Sayan J. Das
  • 191
  • 9
1
vote
1 answer

KVM with VirtioFS on host, Windows Server guest, VirtioFS access denied

I have some successful setups of Linux guests under KVM with VirtioFS, even able to boot from theese folders without any "classical" drive images or dedicated partitions. Now, I have a need run a Windows Server guest, and share files from it with…
Evengard
  • 234
  • 3
  • 12
1
vote
1 answer

How to auto redirect a usb device on virt-manager

How do I automatically redirect a USB device to a remote KVM? preferrably filtered by ID. I have a KVM running on a server (QEMU+SSH), and the display protocol is Spice. How could I always redirect a USB device with a specific ID to the remote…
Luctins
  • 11
  • 1
  • 3
1
vote
1 answer

Terraform Libvirt - How to use local qcow2 file

i try to provision some nodes for a kubernetes cluster based on kvm and debian. I want to use the Debian 11 Genericcloud Image and clound-init to initialize it. So i put the debian baseimge to /var/lib/libvirt/images/templates on the remote machine,…
en1cc
  • 21
  • 1
1
vote
1 answer

Installing pfsense 2.5.2 ( freebsd 12 ) in KVM

Seems that I am having an issue installing pfsense firewall which is build on freeBSD12 into a qemu/kvm in Ubuntu. When it starts to boot, prior to the 'Install Box' I get a kernal panic Image of fail Here are my versions bridge-utils is already…
Lost_Ones
  • 61
  • 5
1
vote
0 answers

kvm and libvirt: hotplug virtual disk as USB storage

Observations (1) A new virtual disk can be hot plugged into a KVM/qemu VM as a qemu virtio device, e.g. see question KVM and Libvirt - How do I hotplug a new virtio disk?. However, this requires PCI hot-plugging support from the guest OS and this is…
1
vote
1 answer

How to use one host server public IP to access multiple guest VMs?

I have a bare metal host server with multiple guest VMs made with QEMU/KVM using Virtual network "default":NAT option. There is only one public IP available. For better illustration: BM host server (Ubuntu), IP 89.185.xx.xx VM guest server…
Curu
  • 15
  • 5
1
vote
0 answers

Howto set a host virtual interface (failover) to a vm in kvm+libvirt?

Have a Ubuntu Server 20.04 and 2 address, one in eno1 interface with first default public address and a failover with second address. I can create a virtual interface using a netplan called failover1 and works fine: network: version: 2 …
1
vote
0 answers

On KVM VM, block egress to other IPs on local net while allowing ingress. Allow in/out to Internet. And do it without a firewall

I am (very carefully) thinking of opening one of my VMs (all on KVM) to outside access. Currently, only via cloudflared tunnel, but it could change. For that, I need a way to definitely and securely block access from that specific VM to any and all…
Bertel
  • 11
  • 1
1
vote
0 answers

How to reload firewalld without loosing Libvirt iptables forwarding rules

It's been well know that firewalld will flush Libvirt rules upon reload and thus making port forwarding to VMs broken until you restart libvirtd. Here is what I did: Create…
nforced
  • 111
  • 2
1
vote
0 answers

Proxmox public IP for VMs in OVH

I have a Proxmox setup in OVH I have purchased 8 IPs out of which 6 are useable So I want that my virtual machines are reachable from the internet. The Ip block I have purchased 53.87.160.116/29 Ip from OVH to the Proxmox…
sanjib
  • 63
  • 7
1
vote
0 answers

How to connect QEMU directly to the outside network using command line?

My host has 1 Ethernet controller with the IP address 192.168.1.2/24, and I want the virtual machine to be on the same subnet with the address 192.168.1.3/24. Basically it is making a bridge interface on the host with the old IP address, and a tap…
Livy
  • 163
  • 4
1
vote
1 answer

Ubuntu KVM vm nic connected to the network bridge dns resolution issues

Ubuntu 20.04 server with multiple NICs and KVM server installed on it. Created a bridge with netplan: enp0s31f6: dhcp4: no addresses: [] bridges: netbr0: addresses: [192.168.14.20/24] dhcp4: no interfaces: - enp0s31f6 nameservers: …
lk7777
  • 243
  • 2
  • 10
1
vote
0 answers

Cannot install virt-manager, python dependencies

I have a debian 11 machine, I installed KVM on it, and I would like to also install virt-manager, but I got : The following packages have unmet dependencies: python3-libxml2 : Depends: libpython3.7 (>= 3.7.0) but it is not installable E: Unable to…
1
vote
1 answer

How can the SPICE password of a libvirt+kvm+qemu virtual machine be changed while the machine is running?

I have a virtual machine that is running on a KVM+QEMU stack with libvirt. The VM is using a qxl or virtio display and has a spice graphics listening on a port. I'd like to change the password (in SPICE they call it "ticket") used to access that…