Nested OpenStack構成

OpenStackの検証をやっていると、OpenStackの上の仮想マシンにOpenStackをインストールして検証を行うと色々削除作成が容易に出来て色々便利です。しかしながら通常だとvirt_type=qemuとなってしまいます。この場合はKVMが使えませんのでVMで作成されたOpenStack上でさらに仮想マシンを立ち上げると著しくパフォーマンスが劣化してしまう場合があります。これを解消するための設定を以下に記述します。注意点としてはパススルーしてしまうので、CPUの差分が吸収でき無くなり、Live Migrationができる機会が減ってしまう事です。

コンピュートノードの設定

コンピュートノード上でカーネルオプションのNestedを有効化します。

CPUがIntelの場合

#echo "options kvm-intel nested=1" > /etc/modprobe.d/kvmintel.conf

 CPUがAMDの場合

# echo "options kvm-amd nested=1" > /etc/modprobe.d/kvmamd.conf

サーバーをリブート後以下のコマンドでYが帰って来れば有効化されてます(Intelの例)。Nestedの機能を有効化したいすべてのホストでこの設定を行います。複数ホストがあり、NestedホストかどうかをUserに選択させたい場合はHost AggregateでNestが有効なホストをグループ化してFlavorかAZで選択させます。

# cat /sys/module/kvm_intel/paramters/netsted

Novaの設定

ホストでNestedとなってもLibvirt経由で作成される仮想マシンもpassthrough設定が必要です。これを行うにはコンピュートホスト上のnova.confで以下の値を修正します。作成済み仮想インスタンスに適用したい場合はインスタンスの再作成が必要です。

cpu_mode = host_passthrough

ホストを再起動するか、Nova-computeを再起動します。

確認

仮想マシンを起動します。仮想マシン上で以下のコマンドを打ってkvmモジュールが読み込まれていれば成功です。

# lsmod | grep kvm
kvm_intel
kvm
広告
Nested OpenStack構成

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中