让Vagrant在Windwos下支持使用NFS/SMB共享文件夹从而解决目录共享IO缓慢的问题

此问题是在拥有相同配置的环境中,项目在win10跑的慢而在win7就正常的情况下发现的,一步步调试之后发现是文件操作的相关行为变的很慢,于是考虑到可能是系统问题,后来在如下链接找到了解决办法:http://www.iamle.com/archives/2011.html





让Vagrant在Windwos下支持使用NFS/SMB共享文件夹从而解决目录共享IO缓慢的问题

让Vagrant在Windwos下支持使用NFS/SMB共享文件夹从而解决目录共享IO缓慢的问题

自己的本是mbp vagrant使用nfs共享文件夹,所以使用一切ok,但是公司的开发环境是windows10。
windows下是有些问题的,就是在windows下默认的虚拟机共享文件夹的方式,磁盘IO效率实在是太低了。
表现情况,vagrant ssh 在/vagrant/project 下敲命令都卡啊卡,表现的和连接美国vps一样!
执行php程序,从调试来看,花费在文件IO上的时间实在是有点长,能达到1-3秒
vagrant在windows共享文件夹实在是太慢了,亏我忍受那么久。
一直在忍啊忍啊,今天实在是受不了,想要解决掉这个问题,想办法让windows支持NFS或者samb的方式共享文件夹给vagrant虚拟机
如果能支持NFS就当然是最好。
找到vagrant-winnfsd这个vagrant的插件
发现新版也支持Windows下SMB的方式了

NFS方式使用vagrant-winnfsd

安装vagrant 插件 vagrant-winnfsd

$ vagrant plugin install vagrant-winnfsd
但是这样安装会出现以下错误

看来是缺少childprocess-0.5.8.gem这个东西
索性把需要的包都下载到本地,然后本地安装
https://rubygems.org/gems/childprocess-0.5.8.gem
https://rubygems.org/gems/vagrant-winnfsd-1.1.0.gem
然后

看一看安装好的插件

配置

编辑项目下的Vagrantfile文件
网络设置为私有,仅宿主机

在Vagrant.configure(‘2’) do |config| 中加入

SMB方式Windows共享方式

配置

启动vagrant虚拟机, 注意启动过程当中需要输入windwos系统的帐号和密码

发现vagrant开启了一个名称为c30268623ba3dedeaa9f098b570dca21的共享
这个地方有个安全大坑,共享权限居然是Everyone!所以注意母鸡Windows上是否有其他帐号能访问!
我把c30268623ba3dedeaa9f098b570dca21本共享的权限改了,发现vagrant还是会把权限设置为Everyone
如果有开启其他普通帐号,guest什么的这里有安全隐患

为了防止smb共享剔除不活动的连接需要执行以下命令让系统不要自动踢掉不活动的连接
net config server /autodisconnect:-1

vagrant不会自动删除共享,要删除共享使用命令
net share c30268623ba3dedeaa9f098b570dca21 /delete

原文http://www.iamle.com/archives/2011.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值