LoginSignup
59
55

More than 5 years have passed since last update.

Vagrantのshare folderが遅い時はNFSを使うといいです

Last updated at Posted at 2015-01-30

概要

Vagrant内のcentos6でrailsの開発をしてました。

ソースを共有フォルダに置いて動作確認していたのですが挙動が
異様に重く、調べてみたらvagrantのデフォルトのファイル共有のせいでした。

NFSを利用したら早くなったのでその時のメモです。

環境

  • Mac OS X 10.9.5
  • Vagrant 1.6.5
  • VirtualBox 4.3.18

内容

1. Vagrantfileの編集

ゲスト側の/vagrantをNFSでマウントするようにします。*参考リンク

vagrantfile
  #--途中は省略--
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  #--途中は省略--
  config.vm.synced_folder ".", "/vagrant", type: "nfs"
  #--以後も省略--
end

2. sudoerを編集

このままでもOKですが、vagrant起動時に毎回マウントするため
パスワード聞かれます。聞かれないようにできるみたいです。

mac上で下記shellを一度実行すれば聞かれなくなりました。
一応スクリプトを写経。

install_vagrant_sudoers.sh
#!/bin/bash
# Add Vagrant's NFS setup commands to sudoers, for `vagrant up` without a password
# Updated to work with Vagrant 1.3.x

# Stage updated sudoers in a temporary file for syntax checking
TMP=$(mktemp -t vagrant_sudoers)
cat /etc/sudoers > $TMP
cat >> $TMP <<EOF

# Allow passwordless startup of Vagrant when using NFS.
# https://gist.github.com/joemaller/6764700

Cmnd_Alias VAGRANT_EXPORTS_ADD = /bin/bash -c echo '*' >> /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports
%staff ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE
EOF

# Check syntax and overwrite sudoers if clean
visudo -c -f $TMP
if [ $? -eq 0 ]; then
  echo "Adding vagrant commands to sudoers"
  cat $TMP > /etc/sudoers
else
  echo "sudoers syntax wasn't valid. Aborting!"
fi

rm -f $TMP

こんな結果になるはず

/tmp/vagrant_sudoers.ziY5C09b: parsed OK
Adding vagrant commands to sudoers

3. リロード

vagrantをリロードしましょう。
リロード後何も聞かれずに立ち上がればOKです。

vagrant reload

4. 結果

早くなりました。
ローカルで動かしてる時より若干遅いかな?くらいのレベルです。
(以前はrails起動ですら数分かかってました。)

参考URL

http://docs.vagrantup.com/v2/synced-folders/nfs.html
http://webradar.info/2014/03/06/slowly-rails-in-vagrant/
https://gist.github.com/joemaller/6764700#file-install_vagrant_sudoers-sh

59
55
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
55