最近の自宅の仮想環境の話
だいぶ前に FF14をLinuxの仮想環境で動かす話 という記事を書いたのですが、あれからずいぶん時間がたって設定も変えたところがあるので、そのあたりのことを書いてみようと思います。
カーネルコマンドラインオプションの設定
以前の記事でカーネルコマンドラインオプションの設定の話をしました。しかし最近ではIOMMUをパススルーのためにしか使わない場合は、 iommu=pt
というオプションも追加した方が良いらしいです。そうすることで、パススルーに関係のないデバイスのパフォーマンスが落ちるのを防ぐことができるそうです。ただし、この設定をしても intel_iommu=on
も必要です。
なので、最近では下記のようなカーネルコマンドラインオプションを使用しています(ついでにウォッチドッグも無効化するようにしました)。
threadirqs nowatchdog intel_iommu=on iommu=pt default_hugepagesz=1G hugepagesz=1G hugepages=8
ネットワークが時々フリーズすることへの対処
これまで仮想環境のネットワークが時々フリーズする、という悩みがありました。具体的には、FF14のSSをKVM内のWindowsからネットワークドライブに置こうとすると、NICがフリーズしてしまう、という現象です。
この現象に対処するためいろいろ試していたのですが、ググってもなかなか情報が出て来ず… 試しにホスト側のドライバーでデフォルトのvhostを使わずにqemuを使うようにしてみたところ、今のところフリーズは再現していません(ただしパフォーマンスは落ちるはずです)。
下記のXMLがKVM (libvirt)のネットワークインターフェイスに関係する箇所ですが、そのうち <driver .../>
が最近追加した設定です。
<interface type='bridge'> <mac address='xx:xx:xx:xx:xx:xx'/> <source dev='enp0s31f6' mode='bridge'/> <model type='virtio-non-transitional'/> <driver name='qemu' queues='6'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0' multifunction='on'/> </interface>