Skip to content

マガジン(米国翻訳) | ニュースレター(日本)のトップ

レッドハットニュース
レターの新規御登録

バックナンバー


第21号(2008年6月)

記事:完全仮想化されたゲストOSのI/O性能を向上させるpara-virtualized driver


先月、para-virtualized driver(準仮想化ドライバ、以降PVドライバと記述)がリリースされました。 5月はFedora 9、RHEL 5.2のリリースやNYSE Euronextの証券取引プラットフォームにRed Hatが採用される等、派手なニュースが多かったため、PVドライバのリリースを知らなかったという方も多いかもしれません。 そこで、6月のニュースレターでPVドライバを紹介しておきたいと思います。

仮想化について、さらりとおさらい
Red Hat Enterprise Linuxは、version 5でXenベースの仮想化技術を取り入れました。Xenベースの仮想化技術では、Full-Virtualization(完全仮想化)とPara-Virtualization(準仮想化)の2つの仮想化方式を選択することが出来ます。それぞれの特徴をまとめると以下になります。

Full-Virtualization
 ・ハードウェアをソフトウェアでエミュレーション
 ・ゲストOS(domU)からは完全なハードウェアとして認識
 ・仮想化のためのOSの改変不要
 ・プロプライエタリなOSもゲストとして動作可能
 ・ハードウェアが仮想化に対応している必要あり
 ・オーバーヘッドが大きい

Para-Virtualization
 ・仮想化のためのOSの改変必要
 ・ゲストOS(domU)は仮想化されていることを認識
 ・オーバヘッドが少ない

Para-virtは仮想化のためにOS自体の改変が必要になるものの、仮想化によるオーバーヘッドが少ないことが特徴です。仮想化していない場合と比較して、CPU処理が主なアプリケーションであれば最大95%程度、webサービス等に代表されるI/O要求の高い処理であっても最大80〜90%程度の性能を発揮することが可能です。一方、Full-Virtのハードウェアエミュレーションはオーバーヘッドが大きく、ディスクアクセスやネットワークアクセス、特にdomUから外部へのネットワークアクセスの性能が良くないことが問題になるという状況でした。これを改善するための1つのアプローチがPVドライバです。

para-virtualized driver:PVドライバ
para-virtualized driverはあまり聞き慣れない言葉かもしれません。パラドライバ、パラバーチャルドライバ等色々な呼び方があるようですが、この記事ではPVドライバと記述することにします。
PVドライバは、Full-VirtのdomUのディスクやネットワークアクセス等I/O処理に関してPara-Virtと同様の動作、つまり、ハイパーバイザコールを利用した動作に置き換えます。通常のFull-VirtのdomUは、仮想化を全く意識しませんから、当然ハイパーバイザコールは使用しません。仮想化でない環境の場合と同じように発行されたI/O命令等をCPUが検出し、Xenが処理、dom0経由でハードウェアにアクセスします。性能劣化の原因になっていた、この一連の処理をハイパーバイザコールを利用した処理に置き換えることで性能劣化を軽減します。

PVドライバの対応状況
PVドライバはRed Hat Enterprise Linux 5.1以上の仮想化環境にて利用することが出来ます。 また、現在は以下のゲストOS向けにPVドライバがリリースされています。
 ・Red Hat Enterprise Linux 5.1以上
 ・Red Hat Enterprise Linux 4 Update 6以上
 ・Red Hat Enterprise Linux 3 Update 9以上
特に、RHEL 3はkernel-xenが提供されていないため、Full-Virtによる仮想化を選択するしかありませんでした。PVドライバがリリースされた事で、今後、RHEL 3の延命として仮想化を選択する、ということもより現実的な選択肢になったと言えます。

PVドライバを導入する
PVドライバはRed Hat Network(rhn.redhat.com)にてrpmパッケージとして提供しています。
導入に関する、インストールや設定方法はPara-Virtualized Drivers for Red Hat Enterprise Linuxというタイトルで以下のURLで提供しています。 https://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/en-US/RHEL510/html/Para-Virtualized_Drivers/index.html

レッドハット株式会社/ニュースレター編集部