仮想化まわり(主に OpenVZ)
あとで書く,かもあとで書いた。
OpenVZ(や Linux-VServer) は FreeBSD の jail ぽいもの?でした。
おおもとのサイトに Virtualization の分類が書いてあります(日本語では Z 手帖さんの記事にあります)。
んで,下記は OpenVZ の仮想化技術の解説から引き写し+追記したものです。386 時代で理解が止まってるんで自分なりの解釈がまざっています。間違っていればご指摘をば。
仮想化機構分類
数字が大きいものほど上のレイヤでエミュレートしてるので軽いはず。
- Virtual hardwares
- CPU レベルからエミュレート
- QEMU, Bochs, Virtual PC on Mac
- Virtual machines
- Paravirtualization
- Virtualization on the OS level
Virtual machines について
- VMM まで戻ってくるのがたとえば I/O Port Access とかかなり下のレイヤなので,ハードウェアチップ(VGA や Disk I/O など)からエミュレートせざるをえず,Paravirtualization に比べるとパフォーマンスがでない
- VMWare のアプローチ→http://as-is.net/blog/archives/001217.html
- Intel VT についてまとまっている⇒【CPU/システム仮想化技術/VT - SyncHack】
- Intel VT の技術的解説は【第1回 1985年以来のアーキテクチャを革新する新技術 | 日経 xTECH(クロステック)】が超詳しい。
- たぶん,Ring-0 の上*2に VMM 用の特権リングを設けて
- ゲストで発生した特権違反を VMM で直接トラップできるようにして
- GDT, LDT, IDT 等を(pusha みたく)一命令で置換できるようにしたテクノロジ?
- VT-d についてはまだよく読んでない⇒【第2回 チップ・セットに支援機能を搭載してI/Oを仮想化 | 日経 xTECH(クロステック)】
- VT によるパフォーマンス向上については【IT Pro の記事】,【図】参照。意外に効果ないですね。
Paravirtualization(おもに Xen)について
OpenVZ について
なぜ OpenVZ について調べていたか(おぼえがき)
- 今開発機に VMware Server をインストールしているけれど,ほとんど同じ OS を使っている
- →パフォーマンスがでない,もったいない
- 仕組み上,OpenVZ と VMware は共存できそう*3
- 基本 OpenVZ を使って
- 新しい OS 等をテストするときだけ VMware を使えばハッピー?
- でも独自カーネルものをインストールするのって面倒だよね
- Debian はそのうち標準パッケージになるようだ⇒【Debianが仮想化技術「OpenVZ」を採用 | スラド】
- Fedora / RHEL もそうならないかなぁ
- もともと商用を作っていたところが機能限定版をオープンソースにするのって先行きがちょっと不安
*1:自分なりの理解と【第1回 オープンソースの仮想マシン・ソフト「Xen」(2ページ目) | 日経 xTECH(クロステック)】などの記事からするとたぶん VT 版 Xen は Virtual machines に入るはず
*2:厳密には上ではないです
*3:まだ調べていません