この記事は1年以上前の古い記事です。現状に即していない記述の場合があります。あらかじめご了承ください。
vagrant-libvirtを使うときのファイル共有はvagrant-sshfsを使うのがいい

nogajun
_ VirtualBoxからvirt-manager(kvm)に移行したのでVagrantもvagrant-libvirtに移行しました。 以前、良いと言っていたvagrant-lxdですが、機能自体は軽くて素晴らしいのですがboxがなくて面倒になったので普通のVirtualBoxのVagrantに戻ってました…。
vagrant-libvirtは、libvirtが使える環境なら(使えない場合は上の「移行した」のリンク先を参考に環境を整えてから)、READMEに書いてある必要なパッケージをインストールして(おそらくほとんど入っているけど念のため)
$ sudo apt-get build-dep vagrant ruby-libvirt
$ sudo apt-get install qemu libvirt-daemon-system libvirt-clients ebtables dnsmasq-base
$ sudo apt-get install libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev
$ sudo apt-get install libguestfs-tools
vagrantからプラグインをインストールすれば使えます。
$ vagrant plugin install vagrant-libvirt
デフォルトでlibvirtを使うなら環境変数も設定しておきます。
export VAGRANT_DEFAULT_PROVIDER=libvirt
これでlibvirtのboxで以下のようにすれば起動する…
$ vagrant init debian/bullseye64
$ vagrant up --provider libvirt
Bringing machine 'default' up with 'libvirt' provider...
It appears your machine doesn't support NFS, or there is not an
adapter to enable NFS on this machine for Vagrant. Please verify
that `nfsd` is installed on your machine, and try again. If you're
on Windows, NFS isn't supported. If the problem persists, please
contact Vagrant support.
起動しない。確かにnfsdは入れてないけどなぜ?と思って「vagrant-libvirt nfs」で検索すると、vagrant-libvirtのsynced folderにNFSを使っているからという理由が判明。
理由はわかったし解決方法も一緒に書いているけど(そもそもドキュメントにも書いてた)、NFSを入れるのもイヤだし9pも微妙だなと思ってたときに、vagrant-sshfsがあったことを思い出した。
ということで早速試してみた。プラグインをインストールして
$ vagrant plugin install vagrant-sshfs
Vagrantfileに設定を追加。
config.vm.synced_folder "./", "/vagrant", type: "sshfs"
これはなかなかいいんじゃないかな。