パスワードを忘れた? アカウント作成
20278 story

手軽な仮想化ソフトウェア、lguest 33

ストーリー by morihide
UMLのこともたまには思い出してください 部門より

Open Tech Pressより。Linux 2.6.23でマージされた準仮想化タイプの仮想化ソフトウェアlguestのレビューが掲載されています。同時に実行できる仮想マシンが1つだけで、ゲストOSはホストOSと同バージョンのカーネルで動くLinuxのみといった制限があるものの、構造が簡単でコードベースが小さい(6,000行程度)ことから、仮想化の仕組みを学ぶための素材としてはうってつけであるとのことです。

Linuxサーバの仮想化市場は、実績で先行するVMware ESX Serverか各種ディストリビューションでの対応が進むXenかといった感じに見受けられますが、デスクトップ用途での仮想化技術はまだどれが本命とは言えない段階であるように思います。オープンソースのものだけでも、bochs、QEMU、kvm、VirtualBox、lguestなどと多数の選択肢があるわけですが、皆さんのおすすめはどれでしょうか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2008年02月27日 16時43分 (#1304155)
    Intel-VTやAMD-Vにおんぶに抱っこのVMもありますけど、ほとんど速くならないしむしろ遅くなったりするんですよね。CPU以外のハードにも仮想化機能を載せないと意味ないとかなんとか。
    ところで、例のセキュアジャパン計画でもそろそろセキュアVM [securevm.org]を公開するようですよ。
    • デスクトップ用途というなら、とりあえずGPUでしょうか? 一番足らないの。
      音やネットワーク周りは我慢できるけど、3Dグラフィックとかはダメダメ。GPUを物理的に二個用意したら、片方はGuestOSで使えるとかなら無いかなぁ。
      親コメント
    • by Anonymous Coward on 2008年02月27日 18時39分 (#1304231)
      ハードなんて使わないように作るのがいい
      要はUSBで外部に出すようにしてしまえば処理は軽くなります

      重い原因は仮想ハードのタイミング処理だと思います。
      ないものはないんですからバッサリ切りましょう
      親コメント
  • by okky (2487) on 2008年02月27日 17時52分 (#1304210) ホームページ 日記
    昨年の Rusty の発表によれば、
    「他の VM は xxx の機能があるかもしれないが lguest には Puppy がいる
    との事なので、わんこ好きの人は皆 lguest 利用決定でしょう (^o^)。

    # 高度な機能よりも、心和む機能を。
    --
    fjの教祖様
  • by mishima (737) on 2008年02月27日 22時46分 (#1304361) ホームページ 日記
    ローカルユーザに対するセキュリティ確保が目的で、パフォーマンスをそれほど犠牲にしたくないのなら、vserver はおすすめ。
    2.6.22-3-vserver を使ってるけど、(Xまわりをいじり込まなければ)けっこう安定している。
    一年前あたりはシャットダウン時にうまく電源が落ちないことも多かったけど、最近はそれもほとんどない。

    # このコメントも vserver 上の X で iceweasel 使って書き込んでいる
    --
    # mishimaは本田透先生を熱烈に応援しています
  • by Anonymous Coward on 2008年02月28日 9時07分 (#1304483)
    Linux Kernel Watch 2006年4月版 乱立する仮想化技術を統合しよう
    http://www.atmarkit.co.jp/flinux/rensai/watch2006/watch04b.html [atmarkit.co.jp]

    Linux Kernel Watch 2006年12月版 ついに仮想化がカーネル標準機能に!?
    http://www.atmarkit.co.jp/flinux/rensai/watch2006/watch12b.html [atmarkit.co.jp]

    Linux Kernel Watch 2007年2月版 仮想化技術「KVM」の高速化パッチ登場!
    http://www.atmarkit.co.jp/flinux/rensai/watch2007/watch02a.html [atmarkit.co.jp]

    OpenTechPress 仮想化の記事一覧
    http://opentechpress.jp/developer/search.pl?tid=41 [opentechpress.jp]
  • カーネルがホストと同一って...chrootで十分なんじゃ...。
    # chrootはJail用途には使えないけど。
  • そりゃ、 (スコア:1, 興味深い)

    by Anonymous Coward on 2008年02月27日 22時52分 (#1304365)
    お手軽さでVirtualBoxに一票。
    インストールも簡単(debianの場合、sources.listに一行追加してapt-keyしてapt-get)だし、WinXPも動くし。
    • by monaka (4489) on 2008年02月28日 1時11分 (#1304429)
      Xenも,捨てがたいと思うけれどなぁ.
      確かに手元のUbuntuの上では何故か真っ当にVistaが動かなかったのだけれど,手元の Open SUSE では,さしたる苦労も無く動いたし.
      TOPPERS/JSPも,HVM上でふつーに動いたし.

      # 組込み用途とうたっているVirtualLogixの実力がどうなのかは気になっているID.
      --
      from もなか
      親コメント
    • > debianの場合、sources.listに一行追加してapt-keyしてapt-get

      そんなことしなくても module-assistant でなんとかなるんじゃね?
      --
      # mishimaは本田透先生を熱烈に応援しています
      親コメント
    • by Anonymous Coward
      Debian というか Linux 版はお手軽なのを実感できるのですが、
      Windows 版のネットワーク設定がもう何が何だか分からなくなります。
      Windows のネットワーク構成が難解というか、私が分かっていないのが
      原因なのでしょうけど、Windows+Virtual の設定に関して良いサンプル
      とかご存知な方がいたら教えてください。
      • by Anonymous Coward
        UserManual.pdfの6.4(Host Interface Networking and bridging on Windows hosts)で、NDISドライバ入れるって書いてあるから、これをNICとくっつけるんじゃないかしら。
        それにMicrosoftの情報でなんとかなんない?

        http://www.microsoft.com/japan/windowsxp/expertzone/columns/crawford/0... [microsoft.com]

        それ以上のレベルで悩んでるなら、Win特有のネットワーク機能に食い込むので、Sambaとかで遊ぶのが一番じゃないかと思ったり。

        # QEMUやCoLinuxでブリッジやったけど、もうおなかいっぱい。
  • 仮想化技術でもパーティショニング的な物と、エミュレーション的な物を区別した方が良いかなと。

    日本語にした場合に区別がつかなくなってるのかもしれませんが・・・
    • by Anonymous Coward on 2008年02月28日 9時45分 (#1304495)
      適当なリンクが探し出せないので、聞きかじりからえーかげんに区分してみる。

      ・完全仮想化:仮想ハードウェアを丸ごと用意する仮想環境。
        特徴: ゲストOSをあまり選ばないが、重い。
        実装例: QEMU(CPUからエミュレート)、VMWare、VirtualPC、VirtualBox
      ・準仮想化: 仮想化を司るプログラムが複数のOSを並行動作させるもの。
        特徴: 比較的速い(らしい)が、ゲストOSにもそれに伴う修正が必要な場合がある。
        実装例: Xen
      ・OSの仮想化: OSの上で内部的にOSの顔をしたアプリケーションを動作させるもの。
        特徴: ゲスト専用に実装されたOSが必要
        実装例: UML、CoLinux(?)
      ・システムの仮想化: OSの一部ディレクトリを(主にネットワークに対して)OS全体に見せかけるもの
        特徴: 比較的負荷が低いが、違う(バージョンの)OSを起動できない(カーネルを共有)
        実装例: Jail(FreeBSD)、chroot、OpenVZ
      ・アプリケーション向けの仮想化: アプリケーションから見て別のOSに見せかけるレイヤとかライブラリとか。
        特徴: 「理論上すべてのアプリケーションが動く」とは限らない。
        実装例: Wine

      # OS自体がハードウェアの差異をアプリケーションから隠蔽する仮想マシンであるとか、言い方は色々。

      親コメント
      • by Ryo.F (3896) on 2008年02月28日 12時50分 (#1304614) 日記

        ・完全仮想化:仮想ハードウェアを丸ごと用意する仮想環境。
          特徴: ゲストOSをあまり選ばないが、重い。
          実装例: QEMU(CPUからエミュレート)、VMWare、VirtualPC、VirtualBox
        Xenも仮想化対応CPUがあれば、完全仮想化に対応してます。

        ・準仮想化: 仮想化を司るプログラムが複数のOSを並行動作させるもの。
        完全仮想化でも、「仮想化を司るプログラム」は存在するわけなんで、説明としては不適切でしょう。
        WikipediaのXenの項 [wikipedia.org]によると、

        実在のハードウェアを完全にエミュレートする代わりに、仮想マシン環境を実現するのに都合の良い仮想的なハードウェアを再定義する。この仮想ハードウェアは、実在のハードウェアに似ているが、操作をするためにはハイパーバイザコールを呼び出す必要がある。 Xenはこのハイパーバイザコールの要求に応じて、仮想マシン環境に変更を加える。
        だそうです。
        親コメント
  • by Anonymous Coward on 2008年02月27日 16時32分 (#1304144)
    こないだ久しぶりにカーネルのビルドを行うのにmake menuconfigしたら, vSMP と言うのが目に止まりました. これって, 例えば個人が構築出来るような代物なんでしょうか? 色々ぐぐって, ScaleMPにたどり着きましたが, 良くわかりません.(笑) ようするに, クラスタをSMPにするのかなと思うのですが, イメージがわきませんでした. x86しか無いようですが, 応用すればPS3のSMPも作れるのかしらん?
  • by Anonymous Coward on 2008年02月27日 16時48分 (#1304159)
    今回の比較対象と名を出すなら
    VMware ESX Server
    bochs、QEMU、kvm、VirtualBox、lguest
    より
    Xenが一番近い気がする
    • by Anonymous Coward

      すみません。上の文章、lguestよりXenに近いのは何だとおっしゃりたいのでしょう?

  • by Anonymous Coward on 2008年02月27日 17時57分 (#1304213)
    に見えてしかたがない

    オフトピなのでAC
  • by Anonymous Coward on 2008年02月27日 23時11分 (#1304382)
    >デスクトップ用途での仮想化技術

    すみません教えてください。
    仮想化技術においてサーバ用とデスクトップ用というのは、
    どう違うものなんでしょうか?

    やっぱり画面周りでしょうか?
    でも最初からXで画面が仮想化されがちなUNIX系OSでは
    そんなのは些細な差でしょうし。
    (つまり立派な表示ハードを搭載してるリアルマシンに飛ばせばいい)
    というか、それだとデスクトップじゃなくサーバみたいなものだし。

    リソース(やお金?)の食い方の違いとか、そういう問題でしょうか?

    #仮想マシンで色々なOSをお手軽に試したいけど、
    #仮想マシンじゃ「音楽作成ソフト」系は当てにならないでしょうね。
    #ハードなりなんなりを仮想化すると、
    #一番ひどく損なわれるリソース(?)はリアルタイム性能でしょうから。
    #今そういうことをしたいならUSBメモリブートが一番現実的かな。
    • by Anonymous Coward on 2008年02月28日 3時08分 (#1304454)
      準仮想化と完全仮想化との違いがあります。
      サーバー用途では準仮想化(Xenなど)が一般的。
      クライアント用途では完全仮想化(VMwareなど)が一般的です。
      完全仮想化はハードウェアをまるごと仮想化するためI/Oにオーバヘッドが生じますが、
      準仮想化では再現性を犠牲にすることで、ネイティブに近いパフォーマンスを得ることができます。
      (Xenは準仮想化と完全仮想化選ぶこともできますが、VMWareにはまだ程遠い)
      親コメント
      • by Anonymous Coward
        何故そういう選択が世の中一般で起きてるのか?が訊きたかったのですが…

        >ネイティブに近いパフォーマンスを得ることができます。

        ということですか?

        でも「パフォーマンスが欲しい」のはサーバーだって同じだろうに?

        安全側に倒すってことだとしても、
        以前から(それこそWin95の頃から;-)思ってたのが、
        「デスクトップなら落ちてもいいのかよ!」
        という怒りでして…
        • by Ryo.F (3896) on 2008年02月28日 8時32分 (#1304474) 日記
          準仮想化と完全仮想化は、CPUの差によるもの。仮想化対応CPUがサーバ用途として出荷されているから、完全仮想化がサーバ用途になっているのだと思います。仮想化対応CPUがサーバ用途として出荷されているのは、今のところ値段の問題かな。
          それにしたって、デスクトップ向け仮想化の需要が高まれば、デスクトップ向け仮想化対応CPUが出て、それを載せたデスクトップPCも出るんじゃないですかね。ケータイ向け仮想化さえ云々されてるくらいですから、デスクトップ向け仮想化の需要も出てくるんじゃないですかね。わかんないけど。

          仮想化ソフトウェアのデスクトップ向け・サーバ向けですが、だんだん差がなくなっていくんじゃないですかね。ソフトウェアの進歩ってそういうもんでしょ。最初は得意・不得意があるかもしれないけど、だんだん汎用方向へ向かうと。
          親コメント
          • by Anonymous Coward on 2008年02月29日 10時38分 (#1305148)
            CPUの仮想化対応にサーバ向けとデスクトップ向けでさほど時間差は無いと思いますが。
            セグメント差よりプロッセッサコアの世代差のほうが影響大なわけで。
            現状でもE6xxxより上は仮想化機能を持っていますが、サーバ用ではありませんし。
            (そこより下は差別化のために切っちゃってますがC2Xコア自体は機能を有する形態が標準。)

            どちらかといえば、サーバ用のほうが仮想化技術のニーズが高く要求がはっきりしているから
            ソフト・ハード両面からそれぞれの用途に対応した形態が率先して導入されただけで、
            まずハードありきの理由ではないと。

            # そもそもVMwareってVTなんてない時代から完全仮想化でしょ?
            親コメント
    • by Anonymous Coward
      > 仮想化技術においてサーバ用とデスクトップ用というのは、
      > どう違うものなんでしょうか?

      24時間稼働が考慮されてるかどうかだと思うけど。
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...