KVMゲストの帯域幅を監視/制限することは可能ですか?サーバー上のVMをユーザーに提供したいのですが、毎月の帯域幅制限を超えないように注意したいのです。唯一の場所これをサポートするのは「クラウド」フレームワークであることがわかります。Linuxで単純なものが不足しているか、上のルーター(アクセスできない)と通信する必要があると思います。
KVM仮想マシンの管理には libvirt を使用することをお勧めします。単なるQEMU/KVMよりもはるかに簡単で、Nice CPU、IO andnetwork statistics)も提供します。上で動作するvirt-topやvirt-managerなどのツールlibvirtフレームワークの.
スクリプトから仮想マシンインターフェイスの統計を収集するには、virshコマンドラインインターフェイスを使用してlibvirtにアクセスします。またはいくつかの言語API。 virshコマンドの形式は次のとおりです。
virsh domifstat VMNAME IFNAME
..ここで、VMNAMEは仮想マシンの名前であり、IFNAMEは(仮想)ネットワークインターフェイスの名前です。ネットワークインターフェイスの名前を見つけるには、次の操作を実行できます。
virsh dumpxml VMNAME
結果のXML出力で、ネットワークインターフェイス定義を探します。次のような行を探します。
<target dev='vnet0'/>
この場合、IFNAMEは「vnet0」になります。
あるいは、libvirt統計の監視をサポートするcollectdなどの統計収集デーモンを使用することもできますが、単純なシェルスクリプトはこの場合、「virshdomifstat」の出力で十分な場合があります。