ネットワーク QoS パラメータの設定
概要
OpenStack Nova コマンドラインインターフェイス (CLI) を使用して、 quota
仮想マシンのネットワークインターフェイスの QoS(サービス品質)設定を指定できます。その Nova フレーバーで作成された仮想マシンは、指定されたすべての QoS 設定を継承します。さらに、QoS 設定を使用して作成された仮想マシンが異なる仮想ネットワークに複数のインターフェイスを持つ場合、仮想マシンに関連付けられているすべてのネットワーク インターフェイスに同じ QoS 設定が適用されます。QoS 設定は、単方向モードまたは双方向モードで指定できます。
Neutron のドライバは quota
、QoS パラメータ libvirt
を仮想マシンのネットワーク設定に変換します。
クォータ ドライバーで使用できる QoS パラメーターは、ネットワーク インターフェイスのレート制限のみを対象としています。現時点では、ポリシーベースの QoS に使用できる仕様はありません。
QoS の設定例
QoS 設定は Horizon または CLI を使用してクォータで指定できますが、CLI を使用したクォータ作成の方が堅牢で安定しているため、CLI で作成することを推奨します。
例
Nova フレーバーの CLI の形式は次のとおりです。
nova flavor-key <flavor_name> set quota:vif_<direction> _<param_name> = value
どこ:
<flavor_name>
は、既存のNovaフレーバーの名前です。
vif_<direction>_<param_name>
は、インバウンドまたはアウトバウンドの QoS データ名です。
QoS vif
の種類は次のとおりです。
vif_inbound_average
インバウンド(受信)トラフィックの平均レートをキロバイト/秒で指定できます。vif_outbound_average
アウトバウンド(送信)トラフィックの平均レートをキロバイト/秒で指定できます。オプション:
vif_inbound_peak
およびvif_outbound_peak
、インバウンド・トラフィックとアウトバウンド・トラフィックの最大レートをそれぞれキロバイト/秒で指定します。オプション:
vif_inbound_burst
およびvif_outbound_peak
、ピークレートでの 1 回のバーストでそれぞれ受信または送信できるキロバイト数を指定します。
の libvirt
さまざまなQoSパラメータの詳細については、 http://libvirt.org/formatnetwork.html を参照してください。
次の例では、インバウンド平均が 800 キロバイト/秒、ピークが 1000 キロバイト/秒、バースト量が 30 キロバイトを示しています。
nova flavor-key m1.small set quota:vif_inbound_average=800 nova flavor-key m1.small set quota:vif_inbound_peak=1000 nova flavor-key m1.small set quota:vif_inbound_burst=30
指定されたアウトバウンドパラメータの例を次に示します。
nova flavor-key m1.small set quota:vif_outbound_average=800 nova flavor-key m1.small set quota:vif_outbound_peak=1000 nova flavor-key m1.small set quota:vif_outbound_burst=30
Nova フレーバーを QoS 用に構成した後、Horizon または CLI を使用して仮想マシン インスタンスを作成できます。インスタンスには、次のように nova flavor-key に対応するネットワーク設定があります。
<interface type="ethernet"> <mac address="02:a3:a0:87:7f:61"/> <model type="virtio"/> <script path=""/> <target dev="tapa3a0877f-61"/> <bandwidth> <inbound average="800" peak="1000" burst="30"/> <outbound average="800" peak="1000" burst="30"/> </bandwidth> </interface>
制限
ストック
libvirt
は、インターフェイスタイプのレート制限ethernet
をサポートしていません。したがって、ゲスト インターフェイスの例のような設定では、ホスト内の対応するタップ デバイスの設定にはなりませんtc qdisc
。は
nova flavor-key rxtx_factor
、フロートを入力として受け取り、受信(インバウンド)および送信(アウトバウンド)スループットのスケーリングファクターとして機能します。このキーは、Neutron 拡張機能 (プライベート拡張機能) でのみ使用できます。Contrail Neutron プラグインは、このプライベート拡張を実装していません。したがって、を設定してnova flavor-key rxtx_factor
も、そのnovaフレーバーで作成された仮想マシンのネットワークインターフェイスのQoS設定には影響しません。仮想マシン インターフェイスの送信レート制限は厳密には達成されません。仮想マシンのネットワークインターフェイスの送信スループットは、仮想マシンの libvirt 構成ファイルで指定された平均送信制限よりも常に小さくなります。Linux ブリッジを使用する場合も同じ動作が見られます。