仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

Xen の準仮想化を理解する

始める前に警告させてください。ハードウェア仮想化なしで Xen を使用しようとすると、問題が発生する可能性があります。これは、仮想化拡張機能を備えた最新の CPU を持っていない場合は Xen を試すべきではないという、それほど微妙なヒントではありません。 VirtualBox やおそらく VMware Player のようなホーム ソリューションとはかけ離れていますが、Xen はまったく異なる市場セグメントを目指しています。

しかし、あなたが私のように頑固で、チュートリアルで世界を征服したいとしましょう。次に、Xen 準仮想化を試みて失敗します。最大の障害は、Xen ゲストを CD および CD イメージから起動して、インストールを開始できるようにすることです。また、準仮想化ネットワーキングも楽しいものではありません。さて、今日は物事をもっとシンプルにしようと思います。トライすることに重点が置かれています。

直面している問題、症状、それらを回避する方法、準仮想化されたカーネルと initrd ファイルを操作する方法、およびゲスト用にブリッジされたネットワーク アダプターを構成する方法を学習します。これらすべてが、不確実性に包まれています。フォローしてください。

Xen の準仮想化を理解する

準仮想化が面倒な理由

公式の説明は次のとおりです:

準仮想化は、Xen によって導入された効率的で軽量な仮想化手法であり、後に他の仮想化ソリューションでも採用されました。準仮想化では、ホスト CPU からの仮想化拡張機能は必要ありません。ただし、準仮想化ゲストは、Xen でネイティブに実行するように移植された特別なカーネルを必要とするため、ゲストはハイパーバイザーを認識し、エミュレーションや仮想エミュレートされたハードウェアなしで効率的に実行できます。

ゲストが特別なカーネルを必要とするという言葉に重点が置かれています。これが何であるか、または入手方法がわからない場合は、物事を進めるために一生懸命努力する必要があります。最も顕著なのは、システム インストールの最初のステップである Live CD イメージから起動しようとすると問題が発生することです。

CD または ISO イメージからの起動

新しい仮想マシンをセットアップしようとすると、問題が発生します。前に百万回行ったように、最初に CD からゲストを起動したいと考えています。

Xen の準仮想化を理解する

Xen の準仮想化を理解する

しかし、ISO を使用しようとしても、この種の醜いエラーが発生します:

Xen の準仮想化を理解する

Xen の準仮想化を理解する

Intertubes にアクセスすると、700 万件のレシピが見つかり、これができるかできないかがわかります。しかし、それは決してワンライナーではなく、決してプラグ アンド プレイではありません。最も一般的な解決策は、イメージを抽出して HTTP サーバーにアップロードする方法と、イメージをループバック デバイスとしてマウントする方法との間で異なります。

追記続きを読むセクションもご覧ください。参考資料では、上記のテスト用に選択した Ubuntu が、追加のハードワークと変更なしでは準仮想化ゲストとして実際に起動しない理由を説明しています。

じゃあどうすればいいの?

まず何もない。提案された方法のうち、簡単に実装できるものはほとんどありません。そして、それらは実際にはあまり機能しません。あなたがする必要があるのは、エラーメッセージを調べることです.詳細をクリックして、最善を尽くしてください。説明は役に立つかもしれません。

考えられるすべてのケースについて詳述することなく、準仮想化の主な問題は 2 つの主要な問題に絞り込まれます。1) ゲスト システムを起動するには適切なカーネルと initrd が必要です。2) 準仮想化されたネットワーク インターフェイスが不適切です。これら 2 つの組み合わせにより、仮想マシンを CD/DVD から起動できなくなります。

カーネルと initrd イメージ

完全仮想化では、非常に簡単です。仮想マシン構成ファイルでは、ビルダー、カーネル、およびブート ディレクティブを適切に指定する必要があります。 hvmloader カーネルはいつでも利用できるので、問題ありません。

Xen の準仮想化を理解する

準仮想化ゲスト用のカーネルや initrd はありません。そのため、少し即興する必要があります。 GUI ウィザードで作成した仮想マシンを起動しようとすると、CD-ROM エラーが発生します。ただし、構成ファイルはディスクに書き込まれます。

/etc/xen/vm ディレクトリに移動し、テキスト エディタでファイルを開きます。 /tmp の下の一時的なカーネルと initrd イメージを指しているカーネルと initrd の行に注意してください。これら 2 つのエントリを永続的な Xen カーネルと initrd ファイルを指すように変更できますが、これらを個別にダウンロードするか、独自にビルドする必要がある場合があるため、面倒な場合があります。また、CD イメージの内容を確認し、xen 関連の内容を探して、それをコピーしてゲストの起動に使用することもできます。ここにサンプルがあります:

Xen の準仮想化を理解する

適切な引数を指定してブートローダー ディレクティブを使用することもできますが、これもまた、仮想マシンごとに異なるサブセットが必要になるため、大変な作業になります。ただし、ほとんどの Linux ゲストでは、次のように動作するはずです。

ブートローダー ='/usr/lib/xen/boot/domUloader.py'
bootentry ='--entry-=xvda1:/boot/vmlinuz-xen,/boot/initrd-xen'

もちろん、仮想デバイスを xvda1 からセットアップで使用しているものに調整する必要があります。これは醜いハックであり、必ずしも機能するとは限りません。

準仮想化ネットワーク インターフェイス

もう 1 つの障害は vif ディレクティブです。 Xen 準仮想化ゲストは、セットアップが気に入らない場合があります。その理由は、ネットワーク アダプタをブリッジしないと直接使用できないからです。 eth0 や wlan0 などのデバイスは使用できません。xenbr0 や br0 などを使用する必要があります。コマンド ラインから仮想マシンを起動しようとすると、エラー メッセージが明確に表示されます:

Xen の準仮想化を理解する

一時的な回避策として、ディレクティブを削除またはコメントすると、仮想マシンが起動します。繰り返しになりますが、肯定的で明確な「はい」を使用するほとんどのチュートリアルとは異なり、ここではイライラする可能性があります。ジェネリック vif を、構成ファイルにある可能性のある任意の種類のディレクティブに置き換えます。

#vif=['',]

そして、魔法のコンソール:

Xen の準仮想化を理解する

Xen の準仮想化を理解する

そして、遅かれ早かれネットワーク障害に遭遇するでしょう:

一般に、ネットワークがなくても済むかもしれませんが、ゲストに接続したいので、これはほとんど役に立ちません.したがって、アダプタをブリッジする必要があります。一部のネットワーク インターフェイスはブリッジングをサポートしていない可能性があるため、それを考慮に入れてください。

Xen の準仮想化を理解する

Xen の準仮想化を理解する

繰り返しますが、これは役立つ場合とそうでない場合があります。保証はほぼありません。たとえば、運が悪く、このようなメッセージが表示されることがあります。今すぐやめるべきです。または、brctl ユーティリティを使用して手動でブリッジを作成することもできます。

ここには何がありますか?

このガイドは少しわかりにくいので、これまでの内容を見てみましょう。 2 つの主要な問題があります。1 つは、ゲストのブートローダー スラッシュ カーネルです。 2 つ目は、ネットワーク インターフェイスです。準仮想化モードで実行する Xen では、ゲストがディスク上のどこかに配置されるように、適切なカーネルと initrd ファイルが必要です。また、ブリッジ ネットワーク アダプタも必要です。

You can solve the first by letting the virtual machine wizard create temporary entries for you on the hard disk, but this works only for some types of guest operating systems. For instance, Scientific Linux 6, which is based on RedHat 6, explicitly supports this kind of thing, so you're lucky. See below for more details. Alternatively, you can manually place the proper Xen kernel and initrd somewhere on your hard disk. As a last option, you can also use the bootloader directly, again with the right files.

The second issue takes an extra step; you must configure a network bridge. You can bridge both wired and Wireless adapters, however some hardware may not support this.

Even so, things may not work. And they probably won't. Bottom line, Xen paravirtualization is a pain; best avoided. If you compare the difficulty in getting your virtual machines running this way when pitted against pretty much any alternative, the answer is quite obvious.

続きを読む

If you're still brave after this guide, then you may want to consider reading a few more articles presenting possible solutions to booting your guests from CD-ROM. Or rather, showing you why it doesn't work and why you shouldn't bother.

Xen domU support - Popular choices like Ubuntu and Fedora are a no-go, yet

How to boot SLES para-virtual domU as a rescue system

結論

Working with Xen in paravirtualized mode is not a pleasant task. Depending on how advanced your guest systems are in supporting para-domU, you may get lucky and boot from a CD or an ISO image. But you will also require bridged networking, which may not always work, especially with Wireless adapters.

Moreover, you may need to hunt for Xen kernel and initrd files for your guest system, including even compiling your own custom version. This kind of work is too much for most people, both in terms of skill, patience and administrative overhead, especially since other virtualization solutions offer as much without breaking into sweat.

Hopefully, this guide clears the fog a little. Web server, loopback device, physical drive, it makes no difference. You need special kernel and initrd images and bridged networking. You may be lucky and have guests that support domU paravirtualization. If not, you're in for a lot of trouble. My warmest advice is, avoid if you can, go for alternative solutions. However, in its full hardware virtualization mode, Xen is rather cool.

乾杯。


  1. VirtualBox 4 - 新機能

    数日前、Oracle (旧 Sun、旧 innotek) は、仮想化の主力製品である VirtualBox の新バージョンをリリースしました。私はこのハンサムで用途の広い製品が本当に好きなので、試してみましょう.オラクルは OpenSolaris や OpenOffice などの他の製品とあまり友好的ではなかったため、新しい所有権を考慮して、品質と可用性がどのように変化するかだけが心配でした。キーワードは、どのブランドでも open を使用しないことだと思います。絶対。おそらく。 いずれにせよ、VirtualBox は優れた無料のデスクトップ仮想化ソフトウェアであり、日を追うごとに強力にな

  2. Product Creator で独自のディストリビューションを作成

    今回もキウイのお話です。 Kiwi は、より優れた openSUSE Build Service の一部である Imaging System であり、複雑で全能のイメージング/仮想化ソリューションであり、あらゆる種類のオペレーティング システム イメージを作成でき、完全にカスタマイズ可能で、さまざまな形式で展開できます。独自のインストール、バニラ openSUSE またはその他の Linux ディストリビューション。 Kiwi は、XML テンプレートを使用してこれらのタスクを実行できます。これは、自動化とスクリプト作成が好きなパワー ユーザーを対象としているためです。ただし、Kiwi は