利用可能なネットワーク帯域幅はVM間でどのように分割されますか?


-1

帯域幅を分割する1つの方法は、CPUによって異なります。つまり、すべてのVMが、CPUサイクルを取得するたびにNICを使用する機会を得ているということです。しかし今日では、CPUがまったく見えず、パケットが直接VMメモリスペースにコピーされるような、さまざまなVM間で同じNICを共有する方法が他にもたくさんあります(例:DPDKライブラリまたはSR-IOVなどを使用) 。

利用可能なネットワーク帯域幅の合計がさまざまなVM間でどのように分割されるのか、また1つのVMが他のVMを邪魔しないようにするにはどうすればよいですか(ネットワーク帯域幅の観点から)。

編集1:私は特定のハイパーバイザーよりも、概念に関心があります。実際、問題を解決するためのどのアプローチでも私には十分です。


1
利用可能なネットワーク帯域幅がネットワークに接続されているVM間でどのように分割されるか(帯域幅)は、そのVMが物理マシンの場合、同じ方法で分割されます。 QOSの使用をお勧めします
Ramhound

現状では、この質問は広すぎます。あなたがそうであればそれは答えられるかもしれません 編集する 答えがカバーすべき特定のハイパーバイザー(Hyper-V、VMware、VirtualBox、Xenなど)を指定します。
a CVn

回答:


0

私はあなたが物事を間違って考えているかもしれないと思います。

複数のVMがある場合、ネットワーク関連のものはブリッジ(またはルーター)のように機能するため、スイッチと同じ方法でデータをネットワークに送信するときにデータを処理するだけで、QoSやパケットの制御は行われません。

それがワイヤに投入される効率は、使用される仮想NICドライバに多少依存します - 要するに、これはすべてTCP / IPレベルの下で起こります。

ホストボックスにパケットシェーピング、QOS、さまざまなルートポリシーなどを課すことができます[Linuxを使用している場合はebtable、vlansなど)またはアップストリームルーターも使用できます。パフォーマンスをおおまかに制限する半二重モード、あるいはそのほとんどが先着順サービス - 管理されていないスイッチと同じです。

つまり、ビジネスモデルでない限り、通常は個々のVMに制限を課すことはありません。その場合は、それを処理するためにルーターの後ろに置くか、またはホストをルーターにします。各VM上の各仮想NICはそれぞれ独自のMACアドレスを持つことになるので、そこで制御することができます。ただし、これは元に戻すことができます。破壊されないようにする必要がある場合は、おそらく別々のブリッジを作成する必要があります。おそらくVMを互いに分離して管理するために別々のVLAN上に作成する必要があります。


私は同意しますが、例えばswitchで転送ロジックを実行するには、いくらかのCPUと他のリソースが必要になります。 CPU帯域幅や利用可能なCPUサイクルなどに関して、公平性と1台のVMが他のVMと干渉していないことを確認する方法
Ankit

私は気にしないでください - 単にトラフィックを転送することはそれほどCPU集約的なタスクではありません。 Pentium 4クラスのシステムでは、Linuxが1秒あたり350kパケット以上を転送するという(2005年以降の)かなり技術的な論文(つまり、ローエンドのVMサーバーのCPUの約1/10、まともに予測されるものの25分の1)。 1500バイトのMTUを想定した場合、ギガビットのトラフィック - したがって、最大1ギガビットポートの場合、これらの数字を2〜4で割ることができるはずです。
davidgo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.