Vagrant box访问共享/vagrant文件夹时间过长

55次阅读
没有评论

问题描述

在使用Vagrant box时,发现访问共享的/vagrant文件夹需要很长时间。他在Windows 10的Hyper-V上运行Vagrant box,并使用了一个标准的Ubuntu 16.04 LTS (x64)镜像。在初始化之后,Vagrant box似乎正常运行,但是如果他退出并重新通过SSH连接到Vagrant box,那么在输入cd /vag后按Tab键会花费很长时间(例如30秒或更长时间),然后cd /vagrant命令可以正常工作,ls -la命令也可以正常工作,但是再次执行ls -la命令需要大约3分钟的时间。在这段时间内,Hyper-V显示虚拟机的CPU使用率为0%。用户想知道应该从哪里入手来找出问题的原因。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户的描述,这个问题可能是由于SMB连接断开导致的。可以尝试使用以下命令来解决:
1. 打开一个以管理员身份运行的命令提示符窗口。
2. 运行以下命令:

net config server /autodisconnect:-1

这个命令将禁用SMB连接的自动断开功能,可能会解决访问共享文件夹的延迟问题。
更多关于此命令的信息可以参考:https://www.vagrantup.com/docs/synced-folders/smb.html#preventing-idle-disconnects

方案2

如果方案1无效,可以尝试使用其他共享文件夹的方式,例如使用NFS共享。以下是一些步骤供参考:
1. 在Vagrantfile中添加以下配置:

config.vm.synced_folder ".", "/vagrant", type: "nfs"
  1. 保存并退出Vagrantfile。
  2. 重新加载Vagrant环境:
vagrant reload

这将使用NFS共享文件夹替代SMB共享文件夹,可能会提高访问速度。
请注意,使用NFS共享文件夹可能需要安装额外的软件或配置,具体取决于你的操作系统和Vagrant版本。请参考相关文档以获取更多信息。

方案3

如果以上两种方案都无效,可以尝试升级Vagrant和相关插件的版本,以确保使用的是最新的稳定版本。有时候问题可能是由于旧版本的Bug引起的,升级到最新版本可能会解决问题。
请参考Vagrant官方文档和相关插件的文档,以获取最新版本和升级说明。

正文完