Vagrant over Hyper-V 慢速共享文件夹 SMB
Vagrant over Hyper-V slow shared folder SMB
我有一个 vagrant box 运行在 hyper-v 之上。除了共享文件夹外,一切似乎都运行良好。它只是令人难以置信的慢。就像卡在什么东西上一样。我 运行 yarn install 并且它甚至在大约 18 小时的工作后仍然完成..(它正在工作并以令人难以置信的慢速添加新文件)。我知道有很多小文件(~80k 是在 yarn 安装过程中创建的,直到我取消它),但是创建这么多文件不可能花费 18 个小时,而且我有一个快速的 ssd。我试图通过 smb 将这些文件复制到 windows 本身,并在几分钟内全部复制。
我在 运行ning 时检查了进程负载,一切都接近于零。没有 cpu 用法,大量免费内存。
主机系统:windows10
访客系统:ubuntu16.04
这是我的 vagrant 文件:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "kmm/ubuntu-xenial64"
config.vm.provider "hyperv"
config.vm.network "public_network"
config.vm.synced_folder 'C:/Dev/PycharmProjects/scrapers', '/opt/scrapers', disabled: false, type: "smb", smb_username: "xxx", smb_password: "xxx", mount_options: ['vers=2.1']
config.vm.synced_folder '.', '/vagrant', disabled: false, type: "smb", smb_username: "xxx", smb_password: "xxx", mount_options: ['vers=2.1']
config.vm.provider "hyperv" do |h|
h.enable_virtualization_extensions = true
h.differencing_disk = true
h.ip_address_timeout = 240
h.memory = 1024
h.cpus = 4
h.vm_integration_services = {
key_value_pair_exchange: true,
}
end
end
我尝试使用 vers=3.0 安装,结果相同。
我什至试图将访客机器上的那个文件夹复制到另一台机器上,但它卡住了,它复制了 20 个文件,然后几个小时后没有任何反应。
我注意到使用 Windows 10 升级到 "Fall Creator's Edition" 1709 提供的 "Default Switch",SMB / CIFS 共享到 Vagrant Linux guests 非常慢且不可靠(版本 10.0.16299 内部版本 16299。)
如果您刚刚升级到 Windows 的最新版本,那么您可以尝试使用外部交换机而不是 "Default Switch" NAT 网络。我将 Vagrant Files 改回使用外部交换机,它解决了*我的 CIFS 性能问题。
* 即使使用外部交换机,我看到使用的最大文件传输速度
从 Linux 来宾内部文件系统到从主机安装 CIFS 的本地到本地 rsync 大约为 10MB/s,而且通常要慢得多,所以它仍然很糟糕。只是不像 "Default Switch".
那样完全无法使用
我有一个 vagrant box 运行在 hyper-v 之上。除了共享文件夹外,一切似乎都运行良好。它只是令人难以置信的慢。就像卡在什么东西上一样。我 运行 yarn install 并且它甚至在大约 18 小时的工作后仍然完成..(它正在工作并以令人难以置信的慢速添加新文件)。我知道有很多小文件(~80k 是在 yarn 安装过程中创建的,直到我取消它),但是创建这么多文件不可能花费 18 个小时,而且我有一个快速的 ssd。我试图通过 smb 将这些文件复制到 windows 本身,并在几分钟内全部复制。
我在 运行ning 时检查了进程负载,一切都接近于零。没有 cpu 用法,大量免费内存。
主机系统:windows10
访客系统:ubuntu16.04
这是我的 vagrant 文件:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "kmm/ubuntu-xenial64"
config.vm.provider "hyperv"
config.vm.network "public_network"
config.vm.synced_folder 'C:/Dev/PycharmProjects/scrapers', '/opt/scrapers', disabled: false, type: "smb", smb_username: "xxx", smb_password: "xxx", mount_options: ['vers=2.1']
config.vm.synced_folder '.', '/vagrant', disabled: false, type: "smb", smb_username: "xxx", smb_password: "xxx", mount_options: ['vers=2.1']
config.vm.provider "hyperv" do |h|
h.enable_virtualization_extensions = true
h.differencing_disk = true
h.ip_address_timeout = 240
h.memory = 1024
h.cpus = 4
h.vm_integration_services = {
key_value_pair_exchange: true,
}
end
end
我尝试使用 vers=3.0 安装,结果相同。
我什至试图将访客机器上的那个文件夹复制到另一台机器上,但它卡住了,它复制了 20 个文件,然后几个小时后没有任何反应。
我注意到使用 Windows 10 升级到 "Fall Creator's Edition" 1709 提供的 "Default Switch",SMB / CIFS 共享到 Vagrant Linux guests 非常慢且不可靠(版本 10.0.16299 内部版本 16299。)
如果您刚刚升级到 Windows 的最新版本,那么您可以尝试使用外部交换机而不是 "Default Switch" NAT 网络。我将 Vagrant Files 改回使用外部交换机,它解决了*我的 CIFS 性能问题。
* 即使使用外部交换机,我看到使用的最大文件传输速度 从 Linux 来宾内部文件系统到从主机安装 CIFS 的本地到本地 rsync 大约为 10MB/s,而且通常要慢得多,所以它仍然很糟糕。只是不像 "Default Switch".
那样完全无法使用