web-dev-qa-db-ja.com

VMトラフィックを制御する方法KVM

KVMハイパーバイザーで複数のVMを実行しています。VMの1つが使用可能な帯域幅のほとんどを消費しているため、他のVMが使用できません。各VMの帯域幅使用量を制御するにはどうすればよいですか。 。個々のVMの帯域幅を保証したいのですが、これが通常ハイパーバイザーレベルで行われるのか、そうであればどのように行われるのか、または仮想スイッチレベルで行われるのかどうかを知りたいのです。

3
Mike G

Libvirtドメイン仕様には、この機能がすでに含まれています。着信トラフィックと発信トラフィックに別々の設定を指定できます。 libvirtのドキュメントに記載されている例は次のとおりです。

<devices>
  <interface type='network'>
    <source network='default'/>
    <target dev='vnet0'/>
    <bandwidth>
      <inbound average='1000' peak='5000' floor='200' burst='1024'/>
      <outbound average='128' peak='256' burst='256'/>
    </bandwidth>
  </interface>
<devices>

詳細については、 http://libvirt.org/formatdomain.html#elementQoS でアップストリームを読むことができます。

6
suprjami

VMのネットワーク化方法(ブリッジとルーティング)によっては、ホストで tc(8) を使用して優先キューイングを提供できる場合があります。

利用可能な完全なハウツー があります。

0
James O'Gorman

これはやり過ぎかもしれませんが、 Open vSwitch を調べる価値があると思います。これは、OpenFlowを使用してレイヤー2およびレイヤー3の機能を提供するソフトウェアスイッチです。これには、ルーティングとQoSが含まれます。あなたはtcでより幸運があるかもしれません、私はあなたがこれを知っていることを確認したかっただけです。

0
David Houde