KVM on VMware ESXi の環境で注意するちょっとしたメモ。
【環境】
VMware ESXi 5.1u2
CPUの仮想化支援機構
KVMには、CPUの仮想化支援機構(Intel-VTやAMD-V)が必要。
ESXiがインストールされているハードウェアが仮想化支援機構に対応しており、BIOSで有効化されている必要がある。
その上で、仮想マシンに対して仮想化支援機構を提供するよう、設定を変更する(デフォルトでは無効)。
vSphere Web Clientで、仮想マシンを選択し、「設定の編集」→「仮想ハードウェア」→「CPU」→「ハードウェア仮想化」→「ハードウェアアシストによる仮想化をゲストOSに公開」にチェックを入れる。
この設定変更は、仮想マシンが停止している状態でのみ変更可能。
なお、仮想ハードウェアのバージョンが8以下の場合、この項目はグレーアウトされ変更できない。
仮想ハードウェアのバージョンを9以上なら変更可能。
KVMホストとなるLinuxゲストOSでは、以下のコマンドを実行して該当行が存在すれば、仮想化支援機構に対応している。
Intel の場合 # grep vmx /proc/cpuinfo AMDの場合 # grep svm /proc/cpuinfo
vSwitch のモード
KVMが動作する仮想マシンが接続するESXiホストの仮想スイッチ(vSwitch)において、無差別モード (プロミスキャスモード) を有効にする必要がある。
vSphere Web Clientで、仮想スイッチを選択し、設定の編集→プロパティ→セキュリティ->無差別モード:承諾 に設定する。
無差別モードしない場合、ゲストOSからブリッジを経由してホストOS以外と通信できない。
ゲスト→ホストはpingが通り、ゲスト→ホスト以外(ゲスト→ゲートウェイなど)にはpingが通らないような現象に遭遇する。
仮想化支援機構の方はKVMインストール時に気が付くものの、こちらはブリッジの設定が悪い事も疑ってしまい、なかなか気が付かずハマるかも。