18.5. 仮想マシンの I/O パフォーマンスの最適化
仮想マシンの入出力 (I/O) 機能は、仮想マシンの全体的な効率を大幅に制限する可能性があります。これに対処するために、ブロック I/O パラメーターを設定して、仮想マシンの I/O を最適化できます。
18.5.1. 仮想マシンにおけるブロック I/O のチューニング リンクのコピーリンクがクリップボードにコピーされました!
ストレージドライブなどの複数のブロックデバイスが 1 つ以上の仮想マシン (VM) で使用されている場合、I/O 重み を変更することで、特定の仮想デバイスの I/O 優先度を調整できます。
デバイスの I/O 重みを増やすと、I/O 帯域幅に対する優先度が上がり、その結果、より多くのホストリソースがそのデバイスに割り当てられます。同様に、デバイスの重みを減らすと、そのデバイスが消費するホストリソースは少なくなります。
各デバイスの weight の値は 100 - 1000 の範囲内にする必要があります。もしくは、値を 0 にすると、各デバイスのリストからそのデバイスを削除できます。
手順
仮想マシンの現在の
<blkio>パラメーターを表示します。# virsh dumpxml VM-name<domain> [...] <blkiotune> <weight>800</weight> <device> <path>/dev/sda</path> <weight>1000</weight> </device> <device> <path>/dev/sdb</path> <weight>500</weight> </device> </blkiotune> [...] </domain>指定したデバイスの I/O 重みを編集します。
# virsh blkiotune VM-name --device-weights device, I/O-weightたとえば、次の例では、testguest1 仮想マシンの /dev/sda デバイスの重みを 500 に変更します。
# virsh blkiotune testguest1 --device-weights /dev/sda, 500
検証
仮想マシンのブロック I/O パラメーターが正しく設定されていることを確認します。
# virsh blkiotune testguest1 Block I/O tuning parameters for domain testguest1: weight : 800 device_weight : [ {"sda": 500}, ] ...重要一部のカーネルは、特定のデバイスの I/O 重み設定をサポートしていません。前の手順で期待どおりに重みが表示されない場合は、この機能がホストカーネルと互換性がない可能性があります。