简体   繁体   中英

What is the difference between QEMU, KVM, Libvirt, and how to use with Vagrant? Are all 3 needed to work together?

I've used Vagrant with Virtualbox before but VB is not working on this computer so I thought I would try a different approach, but I can't quite make sense of this cluster of software, what their uses are individually and interdependently... I know Vagrant boxes can have QEMU or Libvirt (or KVM?) providers, and there's qemu, and qemu-kvm, and vagrant-libvirt, and I just can't compartmentalize it all and their interconnection. I want to run virtual machines with synchronized folders on my host. Are all those required, and how? If not, why and how would one use all together? So I can better understand. On Debian 10

Differences between QEMU, KVM, and Libvirt

QEMU is a machine (hardware) emulator.

KVM is a kernel module for Linux to enable virtualization; this is the hypervisor.

QEMU can run without KVM but it can be quite a bit slower.

libvirt is a virtualization library which wraps QEMU and KVM to provide APIs for use by other programs, such as Vagrant , which is a tool for creating virtualized development environments.

Summary:

  • Vagrant uses libvirt.
  • libvirt uses QEMU and KVM.

How to use with Vagrant

First be sure to install the required dependencies:

apt-get build-dep vagrant ruby-libvirt
apt-get install qemu libvirt-daemon-system libvirt-clients ebtables dnsmasq-base
apt-get install libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev

Source:https://github.com/vagrant-libvirt/vagrant-libvirt#installation

Then use the following command to run:

vagrant up --provider=libvirt

Or, use an environment variable instead:

export VAGRANT_DEFAULT_PROVIDER=libvirt

Source: https://github.com/vagrant-libvirt/vagrant-libvirt#start-vm

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM