環境
- OS
- OSX ver 10.8.4
- vagrant環境
- vagrant ver1.3.1
- vagrant-berkshelf ver1.3.3
- berkshelf ver2.0.10
事象
- 当初、適当なdirectory(foo/bar)を、vagrantの仮想環境の/vagrant_dataにnfs mount実施していた。
- 設定を見直し、Vagrantfileが存在するcurrent directoryを、synced folderのdefaultである/vagrantにnfs mountするよう設定変更した。
- 変更前
config.vm.synced_folder "foo/bar", "/vagrant_data", :nfs => true
- 変更後
config.vm.synced_folder ".", "/vagrant", :nfs => true
- その後、vagrant upを実施すると、下記エラーが発生するようになった。vagrant sshも実施不可。
$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... [default] Setting the name of the VM... [default] Clearing any previously set forwarded ports... [Berkshelf] Updating Vagrant's berkshelf: '/Users/snumano/.berkshelf/default/vagrant/berkshelf-20130914-3068-18zoh8f-default' [Berkshelf] Using apt (1.9.0) [Berkshelf] Using imagemagick (0.2.2) [Berkshelf] Installing rvm (0.9.1) from git: 'git://github.com/fnichol/chef-rvm.git' with branch: 'master' at ref: '7038fb8c518d0d7785767de215b1ae463f237973' [Berkshelf] Using myapp (0.1.0) at './chef/site-cookbooks/myapp' [Berkshelf] Using java (1.13.0) [Berkshelf] Using windows (1.10.0) [Berkshelf] Using chef_handler (1.1.4) [Berkshelf] Using chef_gem (0.1.0) [default] Creating shared folders metadata... [default] Clearing any previously set network interfaces... [default] Preparing network interfaces based on configuration... [default] Forwarding ports... [default] -- 22 => 2222 (adapter 1) [default] Booting VM... [default] Waiting for VM to boot. This can take a few minutes. [default] VM booted and ready for use! [default] Configuring and enabling network interfaces... [default] Mounting shared folders... [default] -- /tmp/vagrant-chef-1/chef-solo-1/cookbooks [default] Exporting NFS shared folders... Preparing to edit /etc/exports. Administrator privileges will be required... Password: [default] Mounting NFS shared folders... The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! mount -o vers=3 192.168.33.1:'/Users/snumano/Documents/hoge' /vagrant
対処方法
こちらを参考に、/etc/exportsを手動削除し、nfsdのdisable,enableを実施。
その後、正常にvagrant up起動およびnfs mountを確認できました。
$ sudo rm /etc/exports
$ sudo nfsd disable
$ sudo nfsd enable
$ sudo nfsd status
$ vagrant up
まとめ
- 今回事象の原因不明だが、synced folder変更中に、local pc側nfsdもしくはrouting tableがおかしくなったような印象。
- もしかしたら、local PCに依存する問題かもしれない。