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
29
votes
5 answers

How to connect a cdrom device to a kvm/qemu domain (using command-line tools)?

I have set up a virtual machine running Windows XP on my Ubuntu laptop. Using the virt-manager GUI application, I can insert a CD in my drive and go to Details→IDE CDROM 1 and click on the Connect button. Then the CD becomes available in my virtual…
ΤΖΩΤΖΙΟΥ
  • 1,048
  • 1
  • 10
  • 19
27
votes
3 answers

Windows 7 Setup hangs at "Starting Windows" using Proxmox 4.2

I am trying to install Windows 7 on Proxmox Virtual Environment version 4.2-4/2660193c, running on Debian Jessie. I have followed the instructions on this site. I uploaded a known-good Win7 ISO (that works fine with VirtualBox and real hardware) to…
Alexander Foken
  • 401
  • 1
  • 4
  • 5
27
votes
1 answer

KVM and Libvirt - How do I hotplug a new virtio disk?

I am trying to hot-add a file-based disk to a running KVM virtual server. I've created a new disk from scratch using the command dd of=/home/cloud/vps_59/test.img bs=1 seek=5G count=0 and I was hoping to get it hot-added to the guest by doing this…
27
votes
1 answer

how to delete a guest after creating it with virt-install

I created a KVM guest from the command line with virt-install where I used the command line options --disk pool=vg0,size=20 and --name virt1.example.com. How can I delete this KVM guest from the command line? I don't need it anymore. Just for the…
Erik Sjölund
  • 2,115
  • 5
  • 22
  • 27
27
votes
5 answers

how to rename a VM using libvirt+KVM

How can I rename a VM on KVM+libvirt? I would like it to change the name in the 'inventory' as well as change the name of the storage etc.
Arthur Ulfeldt
  • 3,249
  • 9
  • 33
  • 40
26
votes
9 answers

How do you synchronise huge sparse files (VM disk images) between machines?

Is there a command, such as rsync, which can synchronise huge, sparse, files from one linux server to another? It is very important that the destination file remains sparse. It may be longer (but not bigger) than the drive which contains it. …
fadedbee
  • 2,068
  • 5
  • 24
  • 36
24
votes
4 answers

KVM/qemu - use LVM volumes directly without image file?

I'm not quite sure how to phrase this question (hence the poor title), so let me provide an example of what I'm trying to do. On my (old) Xen host, I'm able to present LVM filesystems directly to each guest. These filesystems are actually created…
Jared
  • 383
  • 1
  • 3
  • 7
23
votes
4 answers

How to change the default Storage Pool from libvirt?

I'm trying to use a different Storage Pool on KVM in order to store the virtual disks of my VMs and also the ISOs from the operating systems which I'm using. For example: I want to use the directory /media/work/kvm which is mounted over /dev/sda5,…
ivanleoncz
  • 1,643
  • 6
  • 19
  • 32
22
votes
5 answers

KVM: Which CPU features make VMs run better?

We are using Ubuntu 12.04 with the following parameters: Dell R910 Kernel 3.2.0-25-generic #40-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux kvm 1:84+dfsg-0ubuntu16+1.0+noroms+0ubuntu13 qemu-kvm 1.0+noroms-0ubuntu13 qemu-common…
21
votes
3 answers

Converting Windows 2012 R2 from Hyper-V to KVM (qemu)

I have a Windows Server 2012 R2 running SharePoint 2013 which I am trying to migrate from Hyper-V to KVM (qemu). I have converted the vhdx file to qcow2 format and copied it across to the KVM server (RHEL 7.3) The Hyper-V VM was configured as…
dross
  • 395
  • 2
  • 3
  • 10
21
votes
2 answers

Very strange file size (more than 600 PB) on a small filesystem

I had a file on an XFS filesystem which size was about 200 GB. It was a QCOW2 image containing a virtual disk of a KVM-driven virtual machine. Something went wrong (maybe it was some glitch of qemu-kvm, I'm not sure), the virtual machine had crashed…
Volodymyr Melnyk
  • 577
  • 1
  • 5
  • 19
21
votes
6 answers

How to keep time on resumed KVM guest with libvirt?

On my host I am using libvirt and a KVM guest. When the host is shutting down, libvirt suspends the guest. When the host is starting up, libvirt resumes the guest. The problem is, if the guest is suspended and resumed after 24 hours for example,…
21
votes
6 answers

How to automatically start VM created by virt-manager?

I have created a virtual machine with virt-manager that runs on kvm/qemu. The machine works well when started through virt-manager. However, I would like to be able to start and stop the VM through a script in init.d, so that it comes up and down…
user13328
20
votes
4 answers

Change amount of Ram and CPU cores in KVM

How can I Change amount of Ram and CPU cores for a virtual machine in KVM that is already created? Thanks
Zim3r
  • 1,454
  • 5
  • 24
  • 45
19
votes
4 answers

Exporting libvirt+KVM virtual machines to files

I am going to retire an old libvirt + KVM server, but I need to preserve the VMs. Unfortunately, the network is down and I cannot create connections to the system. Is there any way to export the VMs using virsh or any other utility? Clarification: I…
bayindirh
  • 654
  • 1
  • 5
  • 15