前回はサーバの仮想化技術について、その概要を説明した。その際にも触れたが、現状の仮想化ブームを後押ししているのはサーバの仮想化だ。そのサーバの仮想化を後押ししているのが、VMwareやXenといった仮想化を実現するソフトウェアの普及であり、IntelやAMDなどのプロセッサが提供するサーバ仮想化をサポートする技術の登場であろう。
プロセッサにもさまざまなものがあるが、LinuxやWindowsといった現在最も身近に普及しているOSの仮想サーバを実現するのであれば、いわゆるx86アーキテクチャをサポートするIntelとAMDのプロセッサ搭載マシンがプラットホームとなる。今回は、Intel、AMDが提供する仮想化サポート技術をひも解いてみたい。
一部のハードウェアを除き、これまでは物理的に1台のマシンでは1つのOSだけが動くようなアーキテクチャになっていた。そのため、1つのOSがすべてのハードウェアリソースを占有できたが、仮想化により複数のOSが1台で動くようになると、本来1つのOS用に用意されていたリソースを複数のOSで共有して利用しなければならない。
ストレージのようにゲストOS 1の領域、2の領域と分けられるリソースならば問題はないが、もともと1つのOS用に用意されたリソースには分離できないものもある。そのため、仮想サーバを実現しようとすると、仮想化ソフトウェアがゲストOSの要求に応じ、分離できないリソースを切り分けてゲストOSに渡す必要がある。
プロセッサによる仮想化サポート技術がない場合は、この切り分け処理をソフトウェア的に行わなければならない。そのためにゲストOSのソースコードを変更したり、ゲストOSからのハードウェアに対する命令を仮想化ソフトウェアでバイナリ変換する必要があった。OSのソースコードを変更するとなると、ソースコードが公開されている必要がある。また、OSパッチを適用する際には、その都度動作を検証する必要があるかもしれない。
当然ながら、複数のゲストOS間で頻繁にリソースの切り替えが発生する場合、ソフトウェアのバイナリ変換処理で仮想化すると仮想化ソフトウェアに大きな負荷が発生する。また、このゲストOSの命令を代理実行する実装はかなり複雑で、仮想化ソフトウェアを提供するベンダーは、システムの信頼性を確保するためにそれなりの時間と手間が必要だ。ゲストOSに対しソースコードの改変が必要となるのが、旧来のXenの仮想化実現方法だ。一方、ソフトウェアでバイナリ変換処理をするのが、VMwareのハイパーバイザーということになる。
このような仮想化の問題点を大幅に解決したのが、プロセッサの仮想化サポートの技術だ。簡単に言ってしまえば、従来1台につき1つのOSしか動かなかったプロセッサのアーキテクチャを、最初から複数のOSが動くように変えてしまうというものだ。
この仮想化のための拡張をIntelでは「Intel-VT(Virtualization Technology)」、AMDでは「AMD-V(Virtualization)」と呼んでいる。
勝ち残るIT活用--中堅中小企業の現場からタレントの江口ともみさんをレポーターに、
全国さまざまな業種の企業担当者に聞く!
サイバー攻撃関連ニュースのまとめ特別企画:高度化するサイバー攻撃からビジネスを守る
~対策レポートや企業の製品動向をまとめ読み~
JP1、Hadoop、QlickView "集計・分析"
データをクラウドに集約 ”蓄積・検索"
陥らないためのワンポイント解説&
”実証実験から読み解くセミナー”情報
福田和代が贈るZDNetオリジナルストーリー
見逃せない3部作の第1回が無料公開!
率直な読者のご意見を全て公開
クラウドに対する疑問や実際の効果に迫る
必要以上の容量を奨められていませんか?
→電気ガスのように使えるストレージを知る
日立のサーバ戦略が描く、IT活用の今後
仮想化・クラウド対応としての製品強化
ウェブ消費行動の専門家×日本ベリサイン
ネットで消費者の信頼を得るポイントとは
境界防御だけでは、もはや不十分?
大切なデータベースを守る方法とは
物理パッチ適用までにサーバを襲う脅威から
自動的に保護するDeep Securityエージェント
製造業者必見
オフライン環境のセキュリティ対策
最新テクノロジ満載、「百度」の講演も!
TECHNOLOGY @WORK 東京 2012レポート
株式会社イーフロンティア
NECラーニング株式会社
ピーエムシー・シエラ・ジャパン株式会社
ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。