VMに対する重み付けベースのブロックIO制御

VMに対する重み付けベースのブロックIO制御

KVMを使用して仮想マシンを管理します。仮想マシンに提供されるリソースを制限しようとしています。 libvirt/cgroups を使用して、仮想マシンに割り当てられる CPU とメモリを制限できます。さて、いくつかの重みを適用して各仮想マシンに割り当てられるディスク時間を制御したいと思います。私はcgroupsのblkioコントロールを見ました。 VMは単なるLinuxプロセスなので、cgroupを使用できますが、非同期IOでも機能するかどうかはわかりません。そうでなければ、誰でも良い代替ソリューションを提案できますか?

ベストアンサー1

ブルチオインcgroup 用語代表するブロックデバイスのI/Oにアクセス。ソフトウェア開発者がI / O関連の目的に使用できるさまざまな方法をすべて規制する意図ではないようです。

主に狙っているようです。装備、ソフトウェアがデバイスにアクセスする方法ではありません。 Iopsの数、帯域幅、または他のプロセスの重みなどを制限できます。 blockioは現在バッファリングされた書き込みをサポートしていないようです。位置しています公式文書:

現在、ブロックI / Oサブシステムはバッファリングされた書き込み操作には適していません。主に直接I / Oを対象としていますが、バッファリングされた読み取り操作にも適しています。

見たらこのプレゼンテーション上記の20ページのRed HatのLinda WangとBob Kozdembaは、グラフがランダムI / O、ブロックI / O、および非同期I / Oではなく、仮想マシンあたりのデバイス帯域幅に関することを示しています。

あったと思います。最近 働くこれはRed Hatによってvirshに直接実装されています。しました解放先週のlibvirt 0.9.9。数ヶ月以内に、あなたが好むディストリビューションで次のことができるようになります。

virsh blkiotune domA --device-weights /dev/sda,250
virsh blkiotune domB --device-weights /dev/sda,750

おすすめ記事