QEMU、KVM、Libvirt有什么区别,如何与Vagrant一​​起使用?需要三者一起工作吗?

use*_*831 4 virtualization kvm qemu libvirt vagrant

我以前在 Virtualbox 中使用过 Vagrant,但 VB 不能在这台计算机上运行,​​所以我想我会尝试不同的方法,但我不太理解这个软件集群,它们的用途是单独和相互依赖的......我知道 Vagrant 机器可以有 QEMU 或 Libvirt(或 KVM?)提供程序,还有 qemu、qemu-kvm 和 vagrant-libvirt,我只是无法将它们全部划分开来以及它们的互连。我想在我的主机上运行带有同步文件夹的虚拟机。所有这些都是必需的,如何?如果不是,为什么以及如何一起使用?这样我才能更好地理解。在 Debian 10 上

Luc*_*age 8

QEMU、KVM 和 Libvirt 之间的差异

QEMU是一个机器(硬件)模拟器。

KVM是 Linux 的内核模块,用于启用虚拟化;这是管理程序。

QEMU 可以在没有 KVM 的情况下运行,但速度可能会慢一些。

libvirt是一个虚拟化库,它封装了 QEMU 和 KVM,以提供 API 供其他程序使用,例如Vagrant,它是一个创建虚拟化开发环境的工具。

概括:

  • Vagrant 使用 libvirt。
  • libvirt 使用 QEMU 和 KVM。

如何与 Vagrant 一起使用

首先确保安装所需的依赖项:

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
Run Code Online (Sandbox Code Playgroud)

来源:https : //github.com/vagrant-libvirt/vagrant-libvirt#installation

然后使用以下命令运行:

vagrant up --provider=libvirt
Run Code Online (Sandbox Code Playgroud)

或者,改用环境变量:

export VAGRANT_DEFAULT_PROVIDER=libvirt
Run Code Online (Sandbox Code Playgroud)

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

  • 用 VirtualBox 或 VMware 替换 QEMU 和 KVM;两者都是带有自己的驱动程序的虚拟机管理程序。 (5认同)
  • 这是一个很棒的总结!谢谢你! (3认同)
  • 很好的总结。virtualbox 或 vmware 如何适应其中? (3认同)