0

Vagrantでsynced_folderがマウントされない件

新しいBoxを初めてvagrant upしたら以下のようなエラーがでた。

[default] -- /share
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
 
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` /share /share
 
Stdout from the command:
 
Stderr from the command:
 
/sbin/mount.vboxsf: mounting failed with the error: No such device

で、sshでログインはできるけど/shareディレクトリはマウントされておらず。
調べていくと、virtualbox周りのエラーという事で、ログイン後vboxaddを再度セットアップをすれば治るとの記事をみたので実行したもののなおらない。

[vagrant@localhost ~]$ sudo /etc/init.d/vboxadd setup
Removing existing VirtualBox DKMS kernel modules           [  OK  ]
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-devel-2.6.32-358.6.2.el6.x86_64
 
Building the main Guest Additions module                   [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions              [  OK  ]

失敗。
言われた通りkernel-devel-2.6.32-358.6.2.el6.x86_64をインストールする前に、さらに調べていくと、kernel と kernel headersの違いがかもという事。

[vagrant@localhost ~]$ yum list kernel*
Loaded plugins: fastestmirror, presto
Determining fastest mirrors
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
Installed Packages
kernel.x86_64                     2.6.32-220.el6             @anaconda-CentOS-201112091719.x86_64/6.2
kernel.x86_64                     2.6.32-358.6.2.el6          @updates
kernel-firmware.noarch            2.6.32-358.6.2.el6          @updates
kernel-headers.x86_64             2.6.32-358.6.2.el6          @updates

なるほど確かにkernel-headersが2.6.32-358に対して、kernelが2.6.32-220と若干古い。
じゃあ、kernelのupdateだけでいいんじゃないかと思い以下を実行

yum update kernel
kernel                     x86_64            2.6.32-358.18.1.el6            updates             26 M

反映させる為に再起動を試みたけど同じエラーが発生でmountされていない。
1時間ほど経過してたのでイライラしつつ、さっき言われた通りにkernel-devel-2.6.32-358.6.2.el6.x86_64をインストール。

yum install kernel-devel-2.6.32-358.18.1.el6.x86_64

きたっ!
セットアップを実行後、vagrant reloadで無事マウントされました。
配布されてたboxが悪かったのか、VirtualBox4.2.6とか古いやつを入れてたせいか分からなかったけどこれで無事インストール完了しました。
めでたしめでたし。