Vagrantの共有フォルダの設定(NFS)

本番稼働しているEC-CUBE4のサイトの開発環境を、Windows+Vagrant+VirtualBoxで作ったのですが、レスポンスが非常に遅い状態になってしまいました。

EC-CUBE4が生成するキャッシュが共有フォルダに含まれているのが原因では?と思い、いろいろググってみたところ、共有フォルダの設定をNFSにしたら早くなる的な情報を幾つか見つけました。

NFSって何?という感じなんですが、とりあえず試してみたので、設定の方法を記載しておきます。

NFSは、ローカルに接続されたストレージをネットワークを介してリモートの計算機に提供する分散ファイルシステムとそのプロトコルである。マウントされたNFSボリュームは、ネットワーク上にあることを意識せずローカルと同じように利用出来る。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

一応、先に言っておくと、設定した結果は「ちょっと早くなった気がしなくもない。」という感じだったので、私の環境では別の何かが原因でレスポンスが遅くなっているとようです。

Windowsなのでプラグインをインストール

私の環境はWindowsなのでプラグインをインストールする必要があるようです。

下記コマンドを実行することでインストールできます。

vagrant plugin install vagrant-winnfsd

Vagrantfileの設定を変更

Vagrantfileの「config.vm.synced_folder」の設定をNFSに変更します。

下記の様に設定すれば大丈夫なはず!

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"
  config.vm.synced_folder "../data", "/vagrant_data", type: "nfs", nfs_export: true, nfs_version: 3

NFSの詳細な設定については、下記を見て頂いた方が良いかもしれません。
https://www.vagrantup.com/docs/synced-folders/nfs.html#nfs_export

設定は以上

NFSを使ってファイル共有をする設定は以上で終わりです。

後は、vagrant upを実行して起動すれば、ファイル共有が行われました。

ちょっとましになった気がするけど、まだ遅い。別の原因があるようです。

もう少し調べてみて、解消できればまた記事にしたいと思います。