web-dev-qa-db-ja.com

Windows Server 2012の適切なHyper-Vネットワーク構成?

約1か月前に、最初のHyper-VベースのWebソリューションをオンラインで公開しました(下の図)。 Bing/Google/Baidu/McAfee Secure/etcのクロール中など、トラフィックが増加している間、仮想マシン間の通信の問題が断続的に発生します。この問題は数分続き、本格的な停止ではありません。一部のリクエストは完全に正常に機能しますが、他のリクエストはエラーになります。 VMとホストシステムのシステムログを調べましたが、失敗を示すものは何もありません(ASP.net ODBC Web上のエラーVMデータベースホストに到達できないため)。

Network Diagram

単一の8年前のWindowsServer 2k3 Webおよびデータベースサーバーを使用した古いセットアップでは、すべてのトラフィックを問題なく処理できましたが、新しい開発能力が制限されていました。 4GBのRAMと古い2GHzデュアルコアプロセッサしかありませんでした。新しいサーバーには、32GBのRAMとクアッドコア3.4GHzXeonがあります。ハードウェアは、すべてが機能しているときに古いものを水から吹き飛ばします。ページの読み込みが速くなり、クエリの実行が速くなります。

私が考えることができる唯一のことは、DBとWebが別々のVM上にあるが、同じ仮想ネットワークを共有しているため、トラフィックがアダプター上で本質的に2倍になることです。または、Hyper-Vネットワークの方法に問題がある可能性があります。構成済み。

外部として設定された単一の共有仮想スイッチがあります。ハードウェアファイアウォールを使用して、外界へのポートをブロックします。ネットワークアダプタと現在の仮想スイッチのセットアップのスクリーンショットを含めました。

ホストとVMでどのプロパティを有効/無効にする必要があるのか​​わかりません。マシンには2つのNICがありますが、現在すべてが1つのポートにセットアップされています。 1つのポートを管理者用に、もう1つを仮想スイッチ用に使用することをお勧めします。これにより、ボックスにログインしたときにパフォーマンスが向上すると確信していますが、現在の問題が修正されるかどうかはわかりません。

誰かがホストとVMにあるNicプロパティについてのガイダンスを提供したり、ネットワークパフォーマンスを向上させるための微調整をガイドしたりできますか?

Network Adapters

enter image description here

5
Sam

Bartłomiejからの回答に加えて、チームの負荷分散モードをHyper-Vポートに変更し、チーム内の両方のアダプターをアクティブに設定することもお勧めします。

enter image description here

このようにして、チーム内の両方のアダプターを積極的に活用します。

2
N-3

GUIからではなく、PowerShellからすべてのHyper-Vホストネットワークをセットアップすることをお勧めします。 GUIはあなたが望むほど多くの制御を与えません。

  1. 作成したすべてのVMswitch/VMAdaptersをクリアします。物理ネットワークアダプターは、Hyper-Vホストのipconfigに表示される唯一のアダプターである必要があります(トンネル何かアダプターを除く)。
  2. 物理アダプタの名前を「Gi1」や「Gi2」などに変更します(後で何がわかりますか)
    • カード名を確認してください-「イーサネット2」のようなものかもしれません:Get-NetAdapter
    • 名前を変更します:名前の変更-NetAdapter "Old name1" "Gi1"
    • 2番目の名前を変更します:名前の変更-NetAdapter "Old name2" "Gi2"
  3. スイッチに依存しないチームを作成して確認します

    • New-NetLbfoTeam -Name Team1 -TeamMembers Gi1、Gi2
    • チェックしてください-デフォルトでは、スイッチに依存しないチームを設定する必要があります。
     PS C:\> Get-NetLbfoTeam Team1
    
     Name                   : Team1  
     Members                : {Gi2, Gi1}  
     TeamNics               : Team1  
     TeamingMode            : SwitchIndependent  
     LoadBalancingAlgorithm : TransportPorts  
     Status                 : Up  
    
    • IpconfigにGi1、Gi2は表示されなくなります。IPインターフェイスとしてはTeam1だけです。
  4. team1が接続されたVMswitchを作成します。
    • 新規-VMSwitch-Name VMSwitch1 -NetAdapterName Team1
    • そのステップの後、ipconfigを確認します。 Team1ではなくVMswitch1がHyper-VホストのIPインターフェイスとして表示されます。
  5. 管理用の仮想ネットワークアダプターを作成し、Vmswitch1 に接続します。
    • Add-VMNetworkAdapter -ManagementOS -VMNetworkAdapterName management -SwitchName VMswitch1
    • Ipconfigに「イーサネットアダプタvEthernet(管理):...」が表示されます。
  6. 仮想マシンのネットワークアダプタをVMSwitch1に接続します。これはGUIから実行できます。
  7. 最終的な効果は明ら​​かです:
    Final effect
  8. その他の調整-ただし、おそらくすべてをデフォルトのままにしておく必要があります:
    • get-NetAdapterAdvancedPropertyをご覧ください
  9. または、パフォーマンスに関するネットワークの問題ではない可能性がありますか?
    • データベースに使用されているVHD/VHDXタイプは何ですか?動的?修繕 ?
    • 統合ツールがインストール/完全に更新されましたか?