NTT DATA

DATA INSIGHT

NTTデータの「知見」と「先見」を社会へ届けるメディア

絞り込み検索
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
background-image-careers
2012年9月20日技術ブログ

仮想化基盤の中に仮想化基盤を構築する

仮想化基盤の検証を仮想化基盤上で実施できる技術が生まれたことで、検証環境の整備や検証そのものが従来よりも便利になっています。

検証環境の課題

仮想化基盤(KVM、Xen、VMware ESXiなど)をユーザーに向けて提供する場合、セキュリティパッチ適用や機能追加を考慮し、動作検証を行うための「検証環境」を準備するのが一般的です。実際にサービスを提供している「本番環境」と同等の「検証環境」を用意しますが、その際、以下のような課題に直面します。

  • 本番環境と検証環境を常に同じ状態に保つため、継続的な維持運用が必要になる。
  • サーバー台数を多く用意しないと検証を並列に実施できない。
  • 定常的に検証を行っていない場合は、検証環境のハードウェアリソースが余る。

仮想化基盤内で動作検証を完結

従来の仮想化基盤では、ゲストOS(仮想マシン上で動作しているOS)がホストのCPUへ特権命令を発行した際の処理が大きなオーバーヘッドになっていました。このオーバーヘッドを解決するため、ハイパーバイザー型の仮想化基盤では、CPUの仮想化支援機能(Intel系CPUの場合VT-x、AMD系CPUの場合AMD-V)を使用しています。VT-xでは、「VMX rootモード」と「VMX non-rootモード」という2つの動作モードが導入されています。ゲストOSが発行する通常の命令をVMX non-rootモードで実行し、ゲストOSが発行する特権命令をVMX rootモードで実行することにより、オーバーヘッドを減少しています。一方、仮想化支援機能自体を操作する命令(例えばVMX non-rootとVMX rootを切り替えるVMXON、VMXOFFなど参考1)は、ゲストOS上では再現できませんでした。
しかし近年の技術進展により、KVMではLinuxカーネル3.2以降、ゲストOSの中でCPUの仮想化支援機能を使えるようになりました。この機能はnested、Nested VMX、Nested Virtualizationなどと呼ばれており参考1、ゲストOSの中にさらなるゲストOS(孫に該当する)を設けた構成を実質的に可能としました。これにより、仮想化基盤を仮想化基盤上で再現でき、仮想化基盤内で動作検証を完結できるようになりました。VMware ESXiもVer.5.0以降、同様の機能が利用できるようになっています参考2

【図】

図:仮想化基盤の中に仮想化基盤を作る

仮想化on仮想化の未来

将来、Amazon EC2などのIaaS型パブリッククラウドサービスで、ゲストOSによるCPUの仮想化支援機能をサポートした場合、現在持っている検証環境をパブリッククラウドに移行したり、災害対策で複数のロケーションに検証環境を簡単に作成する事が可能になるなど、より使いやすく管理しやすい検証環境が実現されるでしょう。
NTTデータでも仮想化on仮想化の適用に向けた技術検証を行っています。

参考文献

お問い合わせ