はじめに
Hyper-Vで外部仮想スイッチを作るとホスト側も仮想マシン側もインターネット速度が非常に遅くなる(下りが1/100程度まで低下)ことがある。この問題を解決したときの方法をまとめる。
仮想スイッチの設定内容と症状の内容
設定内容
仮想スイッチマネージャで次のように外部スイッチを作る
- 仮想スイッチの作成で「外部」を選択し「仮想スイッチの作成」を押下
- 接続の種類で、外部ネットワークの選択。さらに無線カードを選択。ネットワークアダプタの共有にチェック。その後「適用」を押下
こうすると、仮想マシン側も物理ネットワークにアクセスできることは確認できる。(次の通り速度は遅いが。。)
症状
ホスト側のインターネット速度を計測すると下りが1/100程度にまで低下する。
自分の環境だと、仮想スイッチ作成前:340Mbps, 仮想スイッチ作成後:2.4Mbpsとなってしまった。
仮想マシン側も、現段階では比較はできないものの同様にスピードが全然出ない状況。
なお、手前味噌ですが、インターネット速度計測方法については下記参照いただけると嬉しいです。
解決方法
次の2つ記事を参考に、作成したvEthernetのoffload設定を無効にした上でWindowsを再起動する。(私も無線を共有設定したので、無線との相性が悪いのかも?)
手順
- 設定→ネットワークとインターネット→状態→アダプターのオプションを変更する、の順に進める
- Hyper-Vで仮想スイッチを作成した名称のvEthernetのプロパティを開く
- ネットワークタブを開き、「構成」を押下する
- 詳細設定タブを開き、Large Send Offload Version 2など、offload関連の設定を全てdisabledにして「OK」を押下する。
- Windowsの再起動をする。
- 再度ネット速度を計測して、解決を確認
上記のサイトには、Large Send Offloadのdisabledにしか触れていないが、下記によると、他のoffload関連もdisabledにした方が良い旨が記載されているので採用。また、offloadについての説明もあり。
オフロード機能とは、IPパケットやTCP/UDPパケットのヘッダ中に格納するチェックサム値の計算を、ホストのCPUではなく、NIC上のコントローラ・チップで行う機能である。これにより、ホストCPUの負荷が軽減され、ネットワーク処理やシステム全体のパフォーマンスが改善する
ここにバグなどがあるということ??
ひとまずこれで問題は解決。
参考文献
-
Slow external connection using Hyper-V + Windows 10 and Intel WiFi cards
-
Hyper-V External Virtual Switch Bridge Mode - Slow download speeds on 8265AC
実行環境
- ハードウェア: Minisforum EliteMini HX90
- OS: Windows 10 Pro(21H1)