No.325


【Vagrant】共有フォルダのマウントに失敗する

突然共有フォルダに接続できなくなった時に

 Vagrantの環境を長く使っていると、特に何もしていないのに突然共有フォルダの接続に失敗することがある。

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
...
/sbin/mount.vboxsf: mounting failed with the error: No such device

 いろいろ要因はあるようなのだが、自分はVirtualBox Guest Additionsが使用するkernel-develの不整合以外の原因だったことがない。
 というわけで、まずはそれを疑う。

 Vagrant起動時のメッセージに下記のような文がないだろうか。バージョンは環境によって変わるので適宜読み換えて欲しい。

No package kernel-devel-3.10.0-693.17.1.el7.x86_64 available

 ここまでわかれば簡単。共有フォルダの処理までいってるということはゲストOSは起動しているはず。sshで接続してエラーに表示されているkernel-develをインストールしてあげれば良い。

 例としてCentOSなら

理研のCentOSパッケージ配布サイト

 にて目的のバージョンのkernel-develを見つけ、下記のようにyumコマンドでインストールすればOK。

sudo yum install http://ftp.riken.jp/Linux/cern/centos/7/updates/x86_64/Packages/kernel-devel-3.10.0-693.17.1.el7.x86_64.rpm

 あとはvagrant reloadでゲストOSを再起動すれば問題ないはずだ。