簡易的なLinux用仮想化プラットフォームとしてのLguestLinux Hacks(1/3 ページ)

Linuxカーネルのメインラインツリーに取り込まれた3種類のハイパーバイザ。操作と実装という観点から見た場合に最も簡単なのがlguestであり、これから仮想化テクノロジーの動作する原理を学習したいというユーザーにお勧めだ。

» 2008年03月05日 00時00分 公開
[M.-Shuaib-Khan,Open Tech Press]
SourceForge.JP Magazine

 これまでのところLinuxカーネルのメインラインツリーには3種類のハイパーバイザ(hypervisor)が取り込まれており、まずがカーネル2.6.20段階でのKVMで、その次に2.6.23リリースにおけるXenおよびlguestという順番になる。ここでいうハイパーバイザとは、ホストシステム上で複数のOSを実行させる技術のことである。これら3つの選択肢の中で、操作と実装という観点から見た場合に最も簡単なのがlguestであり、これから仮想化テクノロジーの動作する原理を学習したいというユーザーに適したオプションだといえるだろう。

 lguestは比較的新しいソフトウェアであるが、成熟の進んだほかのLinux用仮想化プラットフォームに見られる一部の高度な機能は装備されていない。例えばlguestの基本構成は、カーネルモジュールおよびクライアントランチャーという2つに分けられるが、lguestランチャーを用いてLinuxホスト上で仮想的に実行できるゲストOSは、ホストのカーネルバージョンと一致するLinuxゲストが1つだけという制約がついている。またlguestは、ゲストOS側からのX出力をサポートしておらず、ネットワーク上のほかのマシンで使われているハイパーバイザの別インスタンスにゲストOSを移動させるVMの移植機能も装備されていない。これらの欠如は重要な不備と見なさざるを得ないが、それでもシステムを再起動させることなく設定の異なるカーネルを試用したい場合など、lguestは有用なツールとして機能してくれるはずである。

 lguestプロジェクトの管理するコードベースは現状で6000行程度でしかない。しかしながら新規のカーネルハッカーや仮想化マシンのモニタ開発者がシンプルなハイパーバイザの動作原理を学習するに当たっての有用かつ貴重な素材を提供しているのは、こうした小規模な構成のコード群なのである。先に触れたようにlguestにはほかのハイパーバイザにおける実装済みの各種機能がいまだ装備されていないが、それゆえにコード開発者たちが各自の成果をメインラインのカーネルに取り込む際において、比較的扱いやすいテストベッドとなっているともいえるだろう。

準仮想化

 準仮想化(paravirtualization)は完全な仮想化よりも高速なパフォーマンスを発揮できるテクノロジーであるが、これはゲストOSに自分が仮想化環境にて実行されていることを自覚させることにより、それを踏まえたシステムリソース要求が行われるようになるためである。これに対して完全な仮想化を行うハイパーバイザの場合、ゲストOSの行うI/Oオペレーションなどの特権的な呼び出しを常に監視して、ゲストOS上で必要なシミュレーションを実施しなければならない。


関連キーワード

仮想化 | カーネル | Linux | Xen | Linux Hacks


       1|2|3 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ