新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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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