ハマログ

株式会社イーツー・インフォの社員ブログ

windows10でvagrant-winnfsdを使ってNFSフォルダ同期

開発環境としてWindows + Vagrant + VirtualBoxで開発しているんですがとにかく遅い。調べてみたらvagrantのデフォルトのファイル共有が原因のようです。
そこでvagrant-winnfsdを使用して、NFSフォルダ同期を試してみました。

NFSとは、主にUNIX系OSで利用される分散ファイルシステム、および、そのための通信規約(プロトコル)。 ネットワークを介して別のコンピュータの外部記憶装置(ストレージ)をマウントすることができ、そこに保存されているディレクトリやファイルをあたかも手元にあるかのように扱うことができます。Windows環境では使用できない為、vagrant-winnfsdを使用します。

1.インストール

$ vagrant plugin install vagrant-winnfsd

2.Vagrantfileを編集してnfsを有効にする

config.vm.synced_folder "src", "/var/www/project", :mount_options => ["dmode=777","fmode=777"], type: "nfs"

3.Vagrantfileを編集してuidとgidを設定する

パラメタを介してconfig.winnfsd.uidparamとgidを介してuidを設定することができます。

Vagrant.configure('2') do |config|
config.winnfsd.uid = 1
config.winnfsd.gid = 1
end

4.vagrant upコマンド実行

vagrant up

すると

==> 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,udp,nolock,vers=3,udp 192.168.33.1:/C/Users/e2info/Documents/NetBeansProjects/nice-web/src /var/www/project

Stdout from the command:

Stderr from the command:

mount.nfs: Connection timed out
Done.

SSHコマンドがゼロ以外の終了ステータスで応答しましたとエラーになったので、

5.アドレスマッピングを無効にし、再起動vagrant reload

$ vagrant ssh

vagrant at localhost in ~
$ sudo ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules
$ exit

$ vagrant reload

同じエラーが出てうまくいかなかったので、
vagrant 削除後にvagrant up

vagrant box remove CentOS7
vagrant up

これで無事起動できました。
体感速度、2倍です!!

vagrantvagrant-winnfsdWindowsフォルダ同期開発環境

S.I   S.I   2017年10月10日


関連記事

Laravel出力ログファイルの切り替え(またはローテーション)

Laravelの標準ログ(storage/logs/laravel.log)は単…

LaravelのEloquent,Query Builderで値をランダムソートする

検証環境 PHP5.6 Laravel5.3 Laravel5.2からEloqu…

XAMPPでローカル環境構築&バーチャルホスト&SSL設定

久しぶりにXAMPPでローカル環境構築&バーチャルホスト&SSL設定をしました。…


← 前の投稿

次の投稿 →