帯域幅リソースの制御機能を使用すると、仮想ネットワークデバイスで消費される物理ネットワーク帯域幅を制限できます。この機能は、Oracle Solaris 11 以上の OS で実行され、仮想スイッチが構成されているサービスドメインでサポートされています。Oracle Solaris 10 サービスドメインでは、ネットワーク帯域幅の設定は暗黙的に無視されます。この機能を使用すれば、1 つのゲストドメインが使用可能な物理ネットワーク帯域幅を占有することで、ほかのドメイン用に 1 つも残らないことがなくなります。
maxbw プロパティーの値を入力することで帯域幅の制限を指定するには、ldm add-vnet および ldm set-vnet コマンドを使用します。既存の仮想ネットワークデバイスの maxbw プロパティー値を表示するには、ldm list-bindings または ldm list-domain -o network コマンドを使用します。最小の帯域幅の制限は 10M ビット/秒です。
帯域幅リソースの制御は、仮想スイッチを通過するトラフィックにのみ適用されます。したがって、inter-vnet トラフィックは、この制限の対象ではありません。物理バックエンドデバイスが構成されていない場合は、帯域幅リソースの制御を無視できます。
最低限サポートされている帯域幅の制限は、サービスドメイン内の Oracle Solaris ネットワークスタックによって異なります。帯域幅の制限は、必要なだけ高い値で構成できます。上限はありません。帯域幅を制限しても、帯域幅が構成された値を超過しないことが保証されるだけです。したがって、帯域幅の制限は、仮想スイッチに割り当てられている物理ネットワークデバイスのリンク速度よりも大きい値で構成できます。
仮想ネットワークデバイスを作成し、maxbw プロパティーの値を入力することで帯域幅の制限を指定するには、ldm add-vnet コマンドを使用します。
primary# ldm add-vnet maxbw=limit if-name vswitch-name domain-name
既存の仮想ネットワークデバイスで帯域幅の制限を指定するには、ldm set-vnet コマンドを使用します。
primary# ldm set-vnet maxbw=limit if-name domain-name
maxbw プロパティーに空白の値を指定すれば、帯域幅の制限をクリアすることもできます。
primary# ldm set-vnet maxbw= if-name domain-name
次の例は、ldm コマンドを使用して帯域幅の制限を指定する方法を示しています。帯域幅は、単位付きの整数として指定されます。単位は、メガビット/秒の場合は M、ギガビット/秒の場合は G です。単位を指定しない場合は、メガビット/秒の単位になります。
使用例 41 仮想ネットワークデバイスの作成時における帯域幅の制限の設定次のコマンドは、帯域幅の制限が 100M ビット/秒の仮想ネットワークデバイス (vnet0) を作成します。
primary# ldm add-vnet maxbw=100M vnet0 primary-vsw0 ldg1
次のコマンドでは、帯域幅の制限を最小値 (10M ビット/秒) 未満に設定しようとすると、エラーメッセージが発行されます。
primary# ldm add-vnet maxbw=1M vnet0 primary-vsw0 ldg1使用例 42 既存の仮想ネットワークデバイスにおける帯域幅の制限の設定
次のコマンドは、既存の vnet0 デバイスでの帯域幅の制限を 200M ビット/秒に設定します。
リアルタイムのネットワークトラフィックパターンによっては、帯域幅の量が指定された 200M ビット/秒の制限に達しない可能性があります。たとえば、帯域幅が 200M ビット/秒の制限を超過しない 95M ビット/秒になる可能性があります。
primary# ldm set-vnet maxbw=200M vnet0 ldg1
次のコマンドは、既存の vnet0 デバイスでの帯域幅の制限を 2G ビット/秒に設定します。
MAC 層には帯域幅の上限がないため、ベースとなる物理ネットワークの速度が 2G ビット/秒未満である場合でも、制限を 2G ビット/秒に設定できます。このような場合、帯域幅の制限は無効になります。
primary# ldm set-vnet maxbw=2G vnet0 ldg1使用例 43 既存の仮想ネットワークデバイスにおける帯域幅の制限のクリア
次のコマンドは、指定した仮想ネットワークデバイス (vnet0) での帯域幅の制限をクリアします。この値をクリアすると、仮想ネットワークデバイスでは、ベースとなる物理デバイスで提供されている最大限の帯域幅が使用されます。
primary# ldm set-vnet maxbw= vnet0 ldg1使用例 44 既存の仮想ネットワークデバイスにおける帯域幅の制限の表示
ldm list-bindings コマンドは、指定した仮想ネットワークデバイスの maxbw プロパティー値 (定義されている場合) を表示します。
次のコマンドは、仮想ネットワークデバイス (vnet3) の帯域幅の制限が 15M ビット/秒であることを表示します。帯域幅の制限が設定されていない場合は、MAXBW フィールドは空白です。
primary# ldm ls-bindings -e -o network ldg3 NAME ldg3 MAC 00:14:4f:f8:5b:12 NETWORK NAME SERVICE MACADDRESS PVID|PVLAN|VIDs ---- ------- ---------- --------------- vnet3 primary-vsw0@primary 00:14:4f:fa:ba:b9 1|--|-- DEVICE :network@0 ID :0 LINKPROP :-- MTU :1500 MAXBW :15M MODE :-- CUSTOM :disable PRIORITY :-- COS :-- PROTECTION :-- PEER MACADDRESS PVID|PVLAN|VIDs ---- ---------- --------------- primary-vsw0@primary 00:14:4f:f9:08:28 1|--|-- LINKPROP :-- MTU :1500 MAXBW :-- LDC :0x0 MODE :--
dladm show-linkprop コマンドを使用すると、次のように maxbw プロパティー値を表示することもできます。
# dladm show-linkprop -p maxbw LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE ... ldoms-vsw0.vport0 maxbw rw 15 15 -- --