Bei Vagrant wird standardmäßig VirtualBox für die Bereitstellung der VMs verwendet. Unter Linux ist es jedoch auch möglich KVM per libvirt zu verwenden.
Zunächst muss Vagrant installiert werden.
$ yaourt -S vagrant
Anschließend wird das für den libvirt Dienst benötigte Paket installiert. Optional kann zum Debuggen von Problemen zusätzlich noch das Tool virt-manager installiert werden.
$ yaourt -S libvirt virt-manager
Kommt KVM/libvirt zum Einsatz wird NFS zur Synchronisation der Dateien zwischen Host und VM verwendet. Daher ist es notwendig die Tools zur Konfiguration eines NFS-Server zu installieren.
$ yaourt -S nfs-utils
Anschließend müssen die benötigten Dienste gestartet werden.
$ sudo systemctl start libvirtd
$ sudo systemctl start rpcbind
$ sudo systemctl start nfs-server
Sollen die Dienste bei jedem Boot automatisch starten, ist es notwendig sie zu aktivieren.
$ sudo systemctl enable libvirtd
$ sudo systemctl enable rpcbind
$ sudo systemctl enable nfs-server
Ist noch eine ältere oder nicht funktionierende Version des Plugins installiert, muss diese zunächst deinstalliert werden.
$ vagrant plugin uninstall vagrant-libvirt
Vor der Installation des Plugins müssen ein paar Bibliotheken von Vagrant deaktiviert werden.
$ sudo mv /opt/vagrant/embedded/lib/libcurl.so{,.backup}
$ sudo mv /opt/vagrant/embedded/lib/libcurl.so.4{,.backup}
$ sudo mv /opt/vagrant/embedded/lib/libcurl.so.4.3.0{,.backup}
$ sudo mv /opt/vagrant/embedded/lib/pkgconfig/libcurl.pc{,.backup}
Anschließend sollte sich das Plugin mit folgendem Befehl installieren lassen.
$ CONFIGURE_ARGS="with-libvirt-include=/usr/include/libvirt with-libvirt-lib=/usr/lib" vagrant plugin install vagrant-libvirt
Damit Vagrant wieder ohne Probleme läuft, müssen die original Dateien wieder hergestellt werden.
$ sudo mv /opt/vagrant/embedded/lib/libcurl.so{.backup,}
$ sudo mv /opt/vagrant/embedded/lib/libcurl.so.4{.backup,}
$ sudo mv /opt/vagrant/embedded/lib/libcurl.so.4.3.0{.backup,}
$ sudo mv /opt/vagrant/embedded/lib/pkgconfig/libcurl.pc{.backup,}
War die Installation erfolgreich, sollte sich die VM mit folgendem Befehl starten lassen.
$ vagrant up
Sind weitere Provider installiert, muss eventuell libvirt
als Provider
angegeben werden.
$ vagrant up --provider libvirt
Links
- Webseite: Arch Linux (englisch)
- Webseite: Vagrant (englisch)
- Webseite: Vagrant libvirt (englisch)
- Webseite: Arch Linux Wiki zu Vagrant (englisch)
- Webseite: VirtualBox (englisch)