LoginSignup
1
0

【Tips】KVMにて、NICのパフォーマンスが悪くなる場合

Posted at

結論

KVMにて使用するNICを、virtioになっている事を確認する。

仕事でKVMのVMを使用している時、監視ツールから、pingのロスを時々検出するという事例が発生した。その際に上記の方法を実行することでパフォーマンスが改善した。

ちなみに、その時使用していたNICはrtl8139であった。

rtl8139 仮想化 NIC はほとんどの環境で問題なく機能しますが、
このデバイスは、10 ギガバイトイーサネットなど、一部のネットワークでパフォーマンス低下の問題が発生する可能性があります。

変更手順

バックアップ取得&シャットダウン

対象のゲストに入り、ネットワーク設定をコピペする。下記の例では一つだけだが、複数NICがあるときは都度コピーする。

cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/ifcfg-eth0.bk

その後、ゲストをシャットダウンする。

shutdown -h now

ホストからの操作

ホストにSSHした後、以下のコマンドでゲストのxmlファイルを取得する。

sudo virsh dumpxml guest_vm_name >/tmp/guest_vm_name.xml

その後、virt-managerもしくはvirsh editで変更を行う。

virt-managerの場合

以下コマンドを実行し、virt-managerを起動する。

sudo xauth add $(xauth -f ~/.Xauthority list | tail -1)
sudo virt-manager

virt-manager起動後、対象のゲストを選択し電球アイコンをクリックする。
NICの情報をクリックし、以下の画像のようにデバイスのモデルをvirt-ioへ変更し適用を押下する。

image.png

virsh editの場合

以下のコマンドをホストにて実行する。

sudo virsh edit GUEST名

その後、interface-typeの部分に移動し、model typeの部分を変える。

編集前
<interface type='network'>
  [output truncated]
  <model type='rtl8139' />
</interface>
編集後
<interface type='network'>
  [output truncated]
  <model type='virtio' />
</interface>

変更したらwqで保存する。

ゲストの起動

以下のコマンドでゲストを起動させる。virt-managerで開いている場合はそこから起動させてもよい。

sudo virsh start GUEST名

以上。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0