仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

デプロイしたMicroStackのUssuriバージョンのパフォーマンス問題があった話

この話題はMicroStackのbetaとedgeが以下のバージョンの頃の情報です。

channels:
  latest/beta:      ussuri 2021-05-01 (233) 405MB -
  latest/edge:      ussuri 2021-09-15 (238) 422MB -

MicroStackはよく使うのですが、昨日構築したMicroStackで次のような問題が発生していました。

  • インスタンスのディスク書き込みが遅い
  • インスタンスのネットワーク性能が遅い
  • CentOS 7インスタンスでsudo実行時にcentosユーザーのパスワードを要求される
  • CentOS 7インスタンスでyum updateを実行すると永遠に終わらない(と思うほど遅い)

インストールは以下のように実行しました。

sudo snap install microstack --devmode --beta

インストール後の設定はMicroStack Single Node Installationに従っています。 その後、物理ネットワークに接続するために以下のコマンドを投入しました(enp15s0f0はbr-exに割り当てる2つ目のインターフェイス)。

sudo microstack.ovs-vsctl add-port br-ex enp15s0f0
sudo ip link set br-ex up

これによりインストールされたバージョンは次の通りでした。

Name        Version  Rev  Tracking     Publisher   Notes
microstack  ussuri   233  latest/beta  canonical✓  devmode

Snapパッケージをインストールした場合の設定ファイルは /var/snap以下のディレクトリーに保存されています。

確認したところ、このバージョンだとvirt_type = kvmを設定しているファイルがありませんでした。おそらくこの設定だとvirt_typeとしてqemuが使われているので遅くなるのは当然です。アクセラレーションが効かないので、インスタンスを利用するとQEMUのCPU使用率が非常に高くなっているのも観測できました。

# ls
console.conf   glance.conf    neutron.conf    placement.conf  scheduler.conf
database.conf  keystone.conf  nova-snap.conf  rabbitmq.conf   workers.conf
# grep "virt_type = kvm" *

一旦betaバージョンをsnap removeで削除してedgeバージョンをいれてみました。

sudo snap install microstack --devmode --edge

インストール後、こちらでも確認してみました。 nova-snap.confと言うファイルにvirt_type = kvmが書いてあるようです。 もちろん、このバージョンで先に挙げた3つのパフォーマンス問題は発生しないのを確認しています。

# grep "virt_type = kvm" /var/snap/microstack/common/etc/nova/nova.conf.d/*
/var/snap/microstack/common/etc/nova/nova.conf.d/nova-snap.conf:virt_type = kvm

なお、このバージョンのHorizonはhttpsプロトコルでアクセスします。 ChromeやChromium系のブラウザでアクセスする際はご注意ください。FirefoxやSafariではいつもの感じでアクセスできます。

今後なにかおかしいときは、他のバージョンも試そうと思います。