web-dev-qa-db-ja.com

Vagrantを使用してVMとVirtualBoxなしのKVM / qemuをセットアップする

Vagrantを始めて、VirtualBoxをインストールするのではなく、KVM/qemu(およびVirtual Machine Manager GUI)でVagrantを使用したいと思います。そこで、最初にVagrantをインストールしました。

$ vagrant --version
Vagrant 1.9.1

$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some

perこれらposts のように、KVMで動作するにはvagrant-libvirtが必要なので、次にインストールしました:

$ vagrant plugin list
vagrant-libvirt (0.0.37)
vagrant-share (1.1.6, system)

次に、vagrant box add "centos/7"を使用してCentOS(7)ボックスを追加し、プロンプトが表示されたらlibvirtを選択します。その後、vagrant initを実行しましたが、エラーは発生しませんでした。

$ vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

ただし、vagrant upは次のようにエラーが発生しているようです。

$ vagrant up
No usable default provider could be found for your system.

Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.

The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.

If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.
  • Vagrantfileproviderセクション

    config.vm.provider :libvirt do |domain|
        domain.driver = "qemu"
        domain.memory = 512
        domain.cpus = 1
    end
    
  • 私はそれを変更しようとしました:

    config.vm.provider :libvirt do |domain|
        domain.driver = "kvm"
        domain.Host = 'localhost'
        domain.uri = 'qemu:///system'
        domain.memory = 512
        domain.cpus = 1
    end
    
  • vagrant up --provider=kvmvagrant up --provider=qemu、およびvagrant up --provider=libvirtも試しましたが、うまくいきませんでした。

逃したステップはありますか?または、インストールする必要がある別のパッケージ/依存関係ですか?

Edit:vagrantを使用してcentos/7を追加した後、vagrant box listを実行すると表示されます。

$ vagrant box list
centos/7 (libvirt, 1611.01)
11
rahuL

コマンドでVagrant Boxを起動

vagrant up --provider=kvm

https://seven.centos.org/2017/08/updated-centos-vagrant-images-available-v1707-01/ で述べられていますが

Vagrant-libvirtプラグインはVagrant 1.5〜1.8とのみ互換性があります。

5
Jmt

コマンドラインオプション--provider=kvmを使用するか、VAGRANT_DEFAULT_PROVIDER環境変数を設定できます。

export VAGRANT_DEFAULT_PROVIDER=kvm  # <-- may be in ~/.profile, /etc/profile, or elsewhere

vagrant up
1
ReWrite

vagrant-libvirt(0.0.40)は、少なくともLinux Mint 18.3(Ubuntu 16.04)でRuby 2.3を実行している場合、Vagrant 2.0.2と互換性があります。 vagrantUp Webサイトにアクセスして、問題なくプラグインをインストールします。

0
DaveC49