Xenとkvmの関係から始まったサーバ仮想化の話
- sawanoboly
- 13202
- 0
- 18
- 0
KVM と Xen って共存できる技術だと思うなあ。パフォーマンスはともかく、ちょっと環境が欲しいときには KVM の方が圧倒的に便利。
2010-06-07 14:56:14XenもKVMもI/Oまわりはqemuで一緒だしCPUの仮想化が充実してきたので準仮想化のパフォーマンスメリットなどXenの優位性はなくなってきた。 RT @moriyoshit: KVM と Xen って共存できる技術だと思うなあ。パフォーマンスはともかく、・・・
2010-06-07 14:59:43なるほど、I/O 周りは Xen も qemu のものを使うようになったのですか。 RT @hasegaw: XenもKVMもI/Oまわりはqemuで一緒だしCPUの仮想化が充実してきたので準仮想化のパフォーマンスメリットなどXenの優位性はなくなってきた。
2010-06-07 15:02:13いや、2006年時点からずっとそうですよ。まだ実績的にXenが有利でしょうがKVMがペースが速いのは事実なのでどうなることやら RT @moriyoshit: なるほど、I/O 周りは Xen も qemu のものを使うようになったのですか。
2010-06-07 15:04:05インテルアーキテクチャの仮想化は「純仮想化カーネルとか作るよりも結局仮想PC/AT互換機で動かしておけばよくね?」って方向になっていてI/Oまわりを仮想化したり物理ハードウェアをゲストに見せる手法が一般的
2010-06-07 15:07:47デバイスI/Oの仮想化はXen, KVM, VirtualBoxなどどれも事実上qemuをforkした俺々版を使っている。ただCPUの自体の仮想化は割と各VMMごとに差がある感じかな。スケジューラ、タイミング問題などで特定ゲストがコケたり。
2010-06-07 15:09:48各VMMともI/O負荷の高いデバイスをハイパーコール経由でズルさせることでパフォーマンス確保しようとしているのは同じ。でもKVMはvirtio, Xenは自前のevent channel+ring buffer(XenBus), VBoxはVbox独自
2010-06-07 15:11:29VMM側でアレコレやった結果「やっぱPC/AT互換機用のカーネルで今までどおり割り込みでtick刻むのは無理だね。ゲストOS側でよきにはからっちゃえ」「デバイスドライバ最初から載せれば幸せ」が現在
2010-06-07 15:13:32@moriyoshit 正確に言えばWindowsが実行できるようになったXen 3.0からqemuの変形版"qemu-dm" (QEMU devicemodel) がはいっています。
2010-06-07 15:16:11おぬしが書いたOSべったりなC言語のプログラムだって広義の仮想マシン上で動いてるんだぜ RT @illness072: OSがハードウェアを忘れるためには、Cみたいにポインタを操れる言語があると困ると思うんだなー・・・なの
2010-06-07 15:18:24そんな時が来たとして、物理ハードウェアを忘れたものを "OS" と呼んでよいのでしょうか.... QT @hasegaw そのうちにOSが物理ハードウェアを忘れる時がやってくるのだろうか。
2010-06-07 15:18:50幸せかもしれませんよ。もしかすると Windows, Linux, FreeBSD, Solaris などであらゆるデバイスドライバを共有できる世界。 RT @ytakeda: そんな時が来たとして、物理ハードウェアを忘れたものを "OS" と呼んでよいのでしょうか...
2010-06-07 15:20:09@illness072 よっぽど本気で物理メモリ意識してアクセスしていない限り、君が見ているメモリ空間はOSが物理メモリからコピーオンライトで借りてる仮想的なメモリ空間だぜ。同じプログラムを複数実行してデバッガにかければ各プロセスで同じアドレスに別々のインスタンスがいるはずだ
2010-06-07 15:21:10Crusoe…(ぼそ)RT @hasegaw: おぬしが書いたOSべったりなC言語のプログラムだって広義の仮想マシン上で動いてるんだぜ RT @illness072: OSがハードウェアを忘れるためには、Cみたいにポインタを操れる言語があると困ると思うんだなー・・・なの
2010-06-07 15:21:18そうなると、ハイパーバイザの選択に今の OS 選択と同じ悩みが待っていそうな気が.... QT @hasegaw 幸せかもしれませんよ。もしかすると Windows, Linux, FreeBSD, Solaris などであらゆるデバイスドライバを共有できる世界。
2010-06-07 15:22:32@illness072 PC/ATのVMware的な仮想マシンって、そういう386以後の基本的な仮想化機能を、メモリ管理だけじゃなくデバイスも対象に広げたもので、やっていることは1990年から変わっていないんだよ。実は。
2010-06-07 15:23:08@ytakeda そうですね。ちなみにIBMのpSeriesとかだと、HWにハイパーバイザーがのっててそもそもOSから直接ハードウェアが見えず、デバイスアクセス用の論理パーティーションにいるminiOS的な部分を通してI/Oします。つまりXenがとっているアプローチと大差ない。
2010-06-07 15:25:48x86系の仮想マシンに興味がある人は「はじめて読む486」は最低限読んでおくといいよ。これ読めば「あれ?もしかして俺でもVMware作れるんじゃね?」とか思い始めたりするはず
2010-06-07 15:26:59そうだったっけ。じゃあやろうと思えばPPC版とかAlpha版とか出せるのかなw QT @hasegaw: いまだってあるお RT @kaieu: なんか、WindowsNTがHALを持っていた頃を思い出した。
2010-06-07 15:28:19色々つぶやいたけど私はコンピュータサイエンスを専攻したこととか一切無くて独学なので、ウソをついていたらごめんなさい。ウソに気づいた方、やんわり指摘していただければチョー感謝します。
2010-06-07 15:28:43おぉ、既にあるんですね!そうするとどこまでが OS (= リソースを管理するもの) になるんだろう...? QT @hasegaw @ytakeda そうですね。ちなみにIBMのpSeriesとかだと、HWにハイパーバイザーがのっててそもそもOSから直接ハードウェアが見えず...
2010-06-07 15:30:01@hasegaw サイエンス的にはVMware創業のころに終了してるから全く問題ないとおもわれます(w
2010-06-07 15:35:22