VagrantでVMのネットワークが遅いときの対処法

カテゴリ: Vagrant

VagrantでVMの管理にVirtualBoxを使用している場合、Vagrantfileの設定を変更することで、ネットワークを速くすることができます。

方法は、Vagrantfileファイルを編集し、ネットワークのドライバをvirtioというものに変更したうえで、vagrant upするだけです。

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  ...

  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--nictype1",  "virtio"]
    v.customize ["modifyvm", :id, "--nictype2",  "virtio"]    
  end
end

これは、VirtualBoxがデフォルトで使用している仮想ネットワークのインターフェースが、"AMD PCNet FAST III (Am79C973)"を利用しており、これが遅いのが原因です。遅いものがデフォルトなのは、古いOSを幅広くサポートするためなので、より速いものにして動作するのなら変えてしまってよいです。

また、"virtio”の他には、以下の値が指定可能です。

AMD PCNet PCI II (Am79C970A);
Intel PRO/1000 MT Desktop (82540EM);
Intel PRO/1000 T Server (82543GC);
Intel PRO/1000 MT Server (82545EM);

virtioを使用するためには、準仮想化のネットワークアダプタがサポートされている必要がありますが、WindowsだとWin2000以降のOSにN/Wドライバをインストールするか、Linuxカーネルだと2.6.25以降でサポートしているので、最近のOSなら大丈夫です。

ネットワークのインターフェース変更の他に、DNS周りで遅い場合は、下記の設定も併せて行うと速度改善するかもしれません

  config.vm.provider "virtualbox" do |v|
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]    
  end
]
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。