Hatena::Group::Virtualization::takaochan RSSフィード

日記はこちら
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 |

2006/07/20 (木)

[][][]x86 CPU仮想化支援機能 x86 CPU仮想化支援機能 - Hatena::Group::Virtualization::takaochan を含むブックマーク はてなブックマーク - x86 CPU仮想化支援機能 - Hatena::Group::Virtualization::takaochan

直接的なメリットはないかもしれないが、こういう記事によって仮想化技術に積極的に取り組んでいる姿勢を見せることは企業にとって重要だと思う。そういう意味で、HPは仮想化技術に対して積極的に取り組んでいるように「みえる」。

x86アーキテクチャ向けのOSは「コンピュータのすべてのリソースを占有している」という前提で動作している。従ってそのようなOSを,同一のコンピュータ上で複数同時に実行することはできない。なぜならば,複数のOS間で,リソースの競合が発生するからである。

http://itpro.nikkeibp.co.jp/article/COLUMN/20060713/243263/

対して汎用機やハードウェアOSがかなり高レベルに統合されたUNIX製品などは「仮想化」に対応するようにOS側もつくられているので、x86と比較してかなり早い段階から仮想化技術が取り込まれている。

x86命令の中には,特権命令と呼ぶ命令がある。例えばI/Oアクセス命令などだ。特権命令を,権限が低いリングプログラムで実行すると,より権限が高いリングプログラムがそれを横取りできる(これを「トラップ」と呼ぶ)。ほとんどのOSでは,カーネルリング0アプリケーションリング3で動かしている(リング1とリング2は使っていない)。こうすることで,例えば複数のアプリケーションから同時にI/O処理要求が発行された場合に,それらをOS がトラップし,OS排他制御調停できるようにしている。

ここがx86仮想化を理解するための基本となる重要な部分。

仮想化ソフトウエア(VMM)は,いわばゲストOSをだますことにより,ゲストOSからするとあたかも自身のカーネルリング0で動作しているかのように見せかけている。実際には,VMMがリング0で動作し,ゲストOSカーネルリング1で動作させている。

いかなるx86アーキテクチャにおける仮想化ツールもこの方法で動作している(やり方はそれぞれ微妙に異なるが)。

ゲストOSリング1で動かすことで,ゲストOSで実行しようとした特権命令をVMMがトラップできるようになる。複数のゲストOSが実行しようとした特権命令をVMMが調停することで,複数のOSを同時に動かしているわけだ。ただしx86には,システムハードウエア)の状態を変更する命令なのに特権命令ではない命令がある。そのような命令をゲストOSが実行すると,そのままではVMMはトラップできず,システムクラッシュする。

この問題をどう乗り越えるかが製品としての完成度につながる。

x86は設計の時点で仮想化を意識していないので、どうしても「きわどい方法」で「どうにかする」仕組みを作る必要がある。

そこで,VMware製品は,ゲストOSで使われているそれらの命令を,VMMがトラップできるよう動的に書き換えて,実行している。このような仮想化の方式を「バイナリトランスレーション」と呼ぶ。これに対して,VMM上で動作するようにあらかじめ変更しておいたゲストOSのみを実行できる仮想化ソフトウエアもある。Xenがその代表例で,このような方式を「パラバーチャライゼーション(準仮想化)」と呼ぶ。

汎用的に使えるようにするにはVMwareバイナリトランスレーションは有効だが、その分オーバーヘッドが生じてしまう。対してXenの取るパラバーチャリゼーションはより高速に(=オーバーヘッドを最小限にして)動作させることが出来る。

この連載はx86アーキテクチャにおける仮想化に携わる人は「理解しておくべき」事項がまとめられていきそうなので、非常に期待している。

[][]提携の意味提携の意味… - Hatena::Group::Virtualization::takaochan を含むブックマーク はてなブックマーク - 提携の意味… - Hatena::Group::Virtualization::takaochan

なるほど。

  • Xenは対応したLinux以外も動作させられるようにならないと普及が見込めない
  • MicrosoftLinuxを駆逐できない以上、そうした状況下において自社の製品の最大化を目指すにはLinuxも視野に入れた仮想化環境を持つことが必要

…といった相互の利益の方向性がかみ合ったということでしょうか。

…ことは確実なようですが、逆は?

今回の本格提携について、プンドITアナリスト、チャールズ・キング氏は、「ゼンソースには、マルチOS仮想化プラットフォームが実現できるという点で大きなメリットがある。また、マイクロソフトの今回の決定は、業界の趨勢に従って、企業のデータセンターからLinuxを追い出すことができないということを認めたという点で賢明な判断だ」と語っている。

しばらくは今後の動向に注目していきますかね。

[][]SUSE Linux Enterprise Server 10 SUSE Linux Enterprise Server 10 - Hatena::Group::Virtualization::takaochan を含むブックマーク はてなブックマーク - SUSE Linux Enterprise Server 10 - Hatena::Group::Virtualization::takaochan

どうでもいいことかもしれませんが、SUSE10のGUIってデフォルトGNOMEになったんですね。

YaSTを使うことによってかなり手軽にXenVMを管理できるようになってきているみたいなので、それは使い勝手がよくていいかも。VMwareがなぜ強いかといえば管理ツールGUIベースでわかりやすく操作できるようにできていることが大きな理由であるような気がします。

今回発表されたSLES10。セキュリティ機構にAppArmorを採用していることなども特徴として挙げられるが、一番の目玉は何と言ってもオープンソースの仮想化ソフトウェアXen」の搭載だろう。Xen 3.0.2が搭載され、仮想マシンの実行、停止、再設定をYaSTモジュールによって管理可能となっている。年内に完全仮想化(フル・バーチャライゼーション)の下で動作するものを提供するほか、SP1でSLES9の準仮想化(パラ・バーチャライゼーション)をサポートするという。

http://www.itmedia.co.jp/enterprise/articles/0607/20/news015.html

Xenの利点は擬似仮想化にあると思うのですが、完全仮想化でどの程度のパフォーマンスがでるのかはけっこう注目。

YaSTってなれないと使いづらい部分もあったりしますが、仮想マシン管理の部分はけっこう使い勝手よさそう。

http://journal.mycom.co.jp/photo/news/2006/07/19/340el.jpg

[][]Parallels Desktop for Mac @ Apple Store Parallels Desktop for Mac @ Apple Store - Hatena::Group::Virtualization::takaochan を含むブックマーク はてなブックマーク - Parallels Desktop for Mac @ Apple Store - Hatena::Group::Virtualization::takaochan

Apple Computerは、WindowsおよびMacアプリケーションの稼働を可能にするParallelsの仮想化ソフトウェアの販売を、Apple Storeで近日中に開始する予定だ。

http://japan.cnet.com/news/biz/story/0,2000056020,20173047,00.htm

まぁ別にAppleとしてはこれをきっかけに少しでもMacの売り上げが増加すれば嬉しい限りだろうから別に問題ではないのだろう。ただ、β版として公開したBoot Campをそのままのかたちで次期Mac OS Xに搭載してくるとも思えず、将来両者の関係がWin-Winであるかどうかは微妙だとは思うが。

[][]Xenと相互運用性を持った仮想化技術を次期Windows Serverに搭載 Xenと相互運用性を持った仮想化技術を次期Windows Serverに搭載 - Hatena::Group::Virtualization::takaochan を含むブックマーク はてなブックマーク - Xenと相互運用性を持った仮想化技術を次期Windows Serverに搭載 - Hatena::Group::Virtualization::takaochan

REDMOND, Wash., and PALO ALTO, Calif. — July 17, 2006 — Microsoft Corp. and XenSource Inc. today announced they will cooperate on the development of technology to provide interoperability between Xen™-enabled Linux and the new Microsoft® Windows® hypervisor technology-based Windows Server® virtualization. With the resulting technology, the next version of Windows Server, code-named “Longhorn,” will provide customers with a flexible and powerful virtualization solution across their hardware infrastructure and operating system environments for cost-saving consolidation of Windows, Linux and Xen-enabled Linux distributions.

http://www.microsoft.com/presspass/press/2006/jul06/07-17MSXenSourcePR.mspx

このプレスリリースはどう受け取ればいいんだろう。

MicrosoftXenベースの仮想化に対応したWindows Serverをリリースするということなのだが、ということは現在Linuxでは対応されているカーネルレベルでのXenへの対応処理をWindows OSでも対応するようにするのだろうか?

その場合、Linux+Xen環境上でWindows OSは動作するようになるのだろうか(Intel VTなどを使うことなく)?「相互」運用性というならそうなるのだろうが、まだ情報が少ない現時点では何とも判断ができない。

いずれにしろはっきりしてきたのは、仮想化技術は「何にでも使われる」まではいかずとも「備わっていてつかうことができる」ことがこれでさらに当たり前になっていくだろうということだ。

[]Xenoppix CD size Xenoppix CD size - Hatena::Group::Virtualization::takaochan を含むブックマーク はてなブックマーク - Xenoppix CD size - Hatena::Group::Virtualization::takaochan

産業技術総合研究所(産総研)は17日、仮想化技術Xenを同梱したLinux OSの最新版「Xenoppix(Xen3.0.2+KNOPPIX 5.0.1) CD size」(以下、Xenoppix)をリリースした。Xenoppixを収録したCD-ROMイメージファイル(約693MB)は、産総研FTP/HTTPサーバおよびBittorrent経由で配布される。

http://journal.mycom.co.jp/news/2006/07/18/340.html

アメリカNSASELinuxLinux貢献しているが、日本産総研リリースしているKNOPPIXもなかなかのものだと思う。

Intel Macでも動作するということなので、Boot Campなどでデュアルブートにするまえに気軽に「Mac OS X以外のOSが動作するMacを楽しむ」ために使えそうだ。

#Intel 945 GMオンボードグラフィックチップに対応しないのでIntel MacBookでは動作しないみたいですが。残念