PR

新CPUで仮想化がもっと使える!

2008年9月8日(月)
小薗井 康志

I/O管理の3つの手法

 I/Oの仮想化を説明する前に、仮想環境下ではどのようにI/Oを管理しているのか説明しましょう。仮想環境のI/O管理は、図2に示すように、「サービスOS型」「Hypervisor型」「パススルー型」の3つの手法に分けることができます。

 1つ目のサービスOS型は、Xenなどで使われている方法で、特定のゲストOSがI/Oへのアクセスをすべて管理します。つまり、このOSのドライバがほかのOSのI/Oアクセスをすべて肩代わりすることになります。Xenでは、管理するOSはDomain0と呼ばれています。この方法は、既存のOS用のデバイスドライバがそのまま利用できます。またドライバがVMX non-rootで稼働するため、システムの安定性が向上します。

 2つ目のHyperVisor型では、VMMソフトウエア側でI/Oのアクセスを管理します。ドライバをVMM用に用意しなければいけないなどの手間はありますが、一般的に高いパフォーマンスを実現できます。

 3つ目のパススルー型は、ゲストOSに特定のI/Oを割り当ててしまう方法です。例えばゲストOSごとに専用のSCSIカード、ファイバーチャンネル、ネットワークカードなどを用意し、それぞれに割り当てるような使い方です。

効率的なI/O管理のために

 各CPUベンダーが提供するI/Oの仮想化テクノロジーは、こうしたI/O管理を効率的に行えるようにサポートするものですが、特に3つ目のパススルー型で威力を発揮します。IntelではVT-D(Virtualization for Directed I/O)、AMDはIOMMU(I/O Memory Mapping Unit)と呼ばれる機能が用意されています。

 主な機能としては、「I/OデバイスとゲストOSの割り当て」と、「DMA(Direct Memory Access)のリマッピング」などがあります。それぞれについて説明しましょう。

 まず、I/OデバイスとゲストOSの割り当てでは、直接各ゲストOSにI/Oデバイスを割り当てることができます。これにより、パススルー型のようにゲストOSが直接ハードウエアのデバイスにアクセスできるので、パフォーマンスの向上が期待できます。またVMMも簡素化することができます。

 またゲストOSが割り当てられなかったI/Oにアクセスしようとした場合、それを検出し禁止することもできます。これにより、信頼性とセキュリティーの向上も期待できます。国産仮想マシンである「BitVisor」もこの方式を採用しているようです。

 もう1つのDMAリマッピングのDMAとは、CPUを介さずにメモリーとメモリー、あるいはI/OデバイスとI/Oデバイスの間で直接データを転送することです。仮想環境下では、先ほどのページングと同じように、ゲストOSの物理アドレスとホストOSの物理アドレスの変換がポイントです。

 仮想環境下でDMAを実現する場合、転送するためのアドレス情報はゲストOSから発行されます。このゲストOSのアドレスをそのままI/Oデバイスに渡してしまうと、実際のアドレスであるホストOSのアドレスと異なるため、正しく動作しなくなる可能性があります。I/Oの仮想化は、これを避けるために、ゲストOSの物理アドレスをホストOSの物理アドレスへと変換する役目を持っています。

 なお、このI/Oの仮想化はCPUの機能ではなくチップセットが持つ機能になります。したがって、最新のチップセットが搭載されたCPUがこれらの機能を使った仮想化に対応しています。

 またIntelのVT-Dでは、PCIデバイスのファンクションごとにゲストOSを割り当てるといったこともできます。PCIデバイスで複数のファンクションを持ったもの、例えばネットワークインターフェースとSCSIインターフェースを両方持っているようなカードの場合、それぞれのファンクションを違うゲストOSに割り振ることができます。

 これらI/Oの仮想化により、さらにスケーラビリティーが改善され、大規模システムでの活用が進んでいくものと予想されます。

 次は、セキュリティーへの応用について考えてみましょう。

半導体(インテル)の技術者から経営者、サーバーベンダー(Dell)の技術者を経て現在日本アイ・ビー・エム株式会社でIT Specialistとして働いております。クラウド上で様々な面白いアプリケーションを多くの人が開発できるようにSoftLayerを中心にIBMのクラウド製品をサポートしております。個人的にはDrupalに注目。2014年9月にDrupal Business Consortium Japan を設立。現在理事長

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています