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

Xen 仮想化の開始

Zで綴られるZenは、8時間保持した後、雪の中でおしっこをしているときに頭頂部にある典型的な感覚です. Xen は X で綴られており、KVM と同様に、企業市場を対象としていますが、家庭でもビジネスでもセットアップを検討できるオープンソースの仮想化テクノロジです。

KVM に関するいくつかのチュートリアルがあり、導入記事、ストレージとネットワーク (ブリッジ ネットワークを含む) のセットアップと構成の方法、および VirtualBox との競合の解決方法をカバーしています。ここで、Xen についてもう少し学びましょう。同様に、仮想マシンをインストールして実行するために必要な最初の手順、微妙な用語、GUI およびコマンドライン管理ツールの使用、仮想化モード、さまざまなアプライアンスなどを紹介します。

Xen 仮想化の開始

Xen - はじめに

ここでは、Xen の内部について簡単に紹介します。起動に特別なカーネルを必要とするという点で、ほとんどのテクノロジとは異なります。つまり、Linux システムでは、GRUB メニューに別のエントリが必要です。このカーネルのコンテキストから起動すると、Xen を実行できます。

さらに、Xen はドメインと呼ばれるレイヤーで動作します。 Domain0 (dom0) と呼ばれる最も特権のあるドメインは、ハイパーバイザーそのものです。このドメイン上に構築されたゲスト オペレーティング システムは、DomainU (domU) で実行されます。

さらに複雑なことに、Xen には 2 つのモードもあります。準仮想化により、ゲストはプロセッサへの特別な呼び出しなしで実行できます。プロセッサ仮想化テクノロジ (Intel-VT または AMD-V) に依存するハードウェア支援仮想化 (HVM) とも呼ばれる完全仮想化は、さらに優れたパフォーマンスと拡張機能を提供します。

詳細については、以下を参照してください:

ウィキペディアの Xen

howtoforge.com の Xen チュートリアル

長所と短所

Xen が必要になる理由はいくつかあります。一つ、無料です。 2 つ目は、堅牢で成熟しており、簡単にスクリプト化できる強力なコマンドライン構文を備えているため、管理作業が簡単になります。最も重要なことは、プロセッサで仮想化テクノロジが有効になっていない場合でも、そのような状況でクロールするだけの KVM とは異なり、妥当なパフォーマンスを享受できることです。ただし、準仮想化を実行すると、一部の機能が失われます。関連する例については後で説明します。

一方、Xen は、たとえば VirtualBox や VMware Server よりも扱いにくいです。 KVM と Xen の両方で同じグラフィカル管理を使用できますが、新しい仮想マシンの作成とインストールは、Xen では少し難しくなります。 SUSE との統合により、このプロセッサは簡単になり、同時に難しくなります。繰り返しますが、後で例を見ていきます。

Xen の学習曲線はかなり急勾配であり、知識の少ないユーザーを怖がらせる可能性があります。複雑なアーキテクチャ、階層化された管理、およびそれほど単純ではない言語の組み合わせは、単一のパッケージでフレームワーク全体を提供する他のソリューションの直線的な単純さを好む可能性のある潜在的な顧客を思いとどまらせる可能性があります.

最大の欠点は、独自のカーネルを起動する必要があることです。モジュールをカーネルに挿入するだけの KVM とは異なり、Xen には独自の GRUB メニュー エントリが必要です。 Xen カーネルで起動すると、uname コマンドを実行すると、異なるカーネル バージョンが表示されます。

テスト プラットフォーム

Xen は、バージョン 10.3 以降、openSUSE や SLES などの SUSE フレーバーにプリインストールされています。これは、このディストリビューションでの使用とセットアップがかなり簡単であることを意味します。これは、他のシステムで Xen を使用できないという意味ではありませんが、問題が発生する可能性があります。たとえば、Ubuntu リポジトリの Xen ツールは壊れており、ソースからコンパイルする必要があります。 RedHat ベースのディストリビューションにはこのような問題はありませんが、推奨される仮想化テクノロジは KVM です。

つまり、Xen を使用している場合は、SUSE から始めて、場合によっては RedHat から始めることをお勧めします。 Ubuntu は使いやすいかもしれませんが、考えられないことではありませんが、セットアップが面倒になる可能性があります。

この記事では、SUSE 10.3 および 11.2 でのセットアップを紹介します。今後の記事では、CentOS や Scientific Linux などの RedHat ベースのディストリビューションもテストベッドとして使用します。テストでは、Xen 3.X が表示されます。また、openSUSE 11.4 に含まれている Xen 4.0 のレビューも間もなく行う予定です。そのため、より多くのメリットがテーブルにもたらされます。

Xen のインストール

SUSE での Xen の構成は非常に簡単です。 [Yast]> [仮想化]> [ハイパーバイザーとツールのインストール] を開きます。セットアップには 2 つの段階があります。必要なパッケージのインストール、ブート メニューの変更、およびその後の Xen カーネルへのブートです。

Xen 仮想化の開始

また、Xen は自動的にブリッジ ネットワークを構成します。これは、デフォルトの KVM インストールでは取得できないため、非常に優れています。終了して再起動します。

基本的にはそれだけです。 Xen を使用する準備が整いました。

GRUB2 から起動した Xen

GRUB2 で SUSE をチェーンロードする場合は、OS プローブ スクリプトによって自動的に追加されない可能性がある Xen カーネル用の特別なエントリを作成する必要があることに注意してください。エントリは、標準のブート スタンザとは異なって見えます。

GRUB2 がどのように機能するかの詳細には立ち入らずに、これを説明するチュートリアル全体を読むことができるので、注意を払う必要があるセクションを次に示します。標準の linux, initrd エントリを使用する代わりに、以下が必要です:

マルチブート /boot/xen.gz
モジュール /boot/vmlinuz-xen <オプション>
モジュール /boot/initrd-xen

もちろん、インストールやデバイスなどに合わせて正確なパスを調整してください。これは、私のテスト マシンでどのように見えるかのスクリーンショットです:

Xen の使用

ここで、KVM チュートリアルでおなじみの Virtual Machine Manager (VMM) を起動し、独自の最初の仮想マシンを作成します。ウォームアップとして、GUI ツールを使用し、後で Xen コマンド ラインを使用して同じことを行う方法を学習します。

2 つのセットアップを紹介します。1 つは SUSE 10 を搭載したマシンで KDE を実行し、完全仮想化を使用しています。もう 1 つは、SUSE 11 を搭載したマシンで Gnome を実行し、準仮想化を使用しています。そのため、GUI イメージが混在していることを期待してください。

Xen 仮想化の開始

VMM 実行中

私たちがすでに知っていることと非常によく似ています:

仮想マシンの作成

YaST からユーティリティを起動するか、コマンドラインから vm-create を実行することにより、GUI を使用して仮想マシンを作成できます。これは、管理自体から仮想マシンを作成する機能があった、少し前に見た Ubuntu の VMM + KVM とは多少異なることに注意してください。

カスタマイズ

概要セクションに到達したら、必要に応じてカスタマイズできます。青いタイトルをクリックして、変更を加えるだけです。たとえば、Disks セクションは通常、/var の下の仮想マシン イメージを指します。代わりに、dd を使用して独自のイメージを作成し、必要な場所に配置したり、最初のインストールに必要な CD-ROM または ISO イメージを使用したりできます。さまざまなオプションを示すいくつかのスクリーンショットを次に示します:

実行する準備ができました。

仮想マシンの実行

仮想マシンの構成方法に応じて、Virt Viewer (virt-viewer) が起動し、仮想マシンの進行状況が表示されます。この場合、Fedora 14 ライブ セッションを起動しています。

VMM のステータスは次のとおりです:

初心者には悪くないですよね?これで、仮想マシン構成もディスク上に作成され、Xen 構文を理解したり、他のマシンのテンプレートとして使用したりするために使用できます。

コマンド ライン

今度は適切な CLI ユーザーとして、Xen をもう一度調べてみましょう。特別なことは何もありません。KVM を使用したことがある場合は、構文に従うのがかなり簡単であることがわかります。 man ページもかなり詳細で、いくつかの良い例が含まれています。

実際、仮想マシンのテンプレートは /etc/xen/examples の下にあります。仮想マシン ファイルは /etc/xen/vm の下にあります。それらをコピーして、xm create を使用してマシンを作成するだけです。

Fedora 14 の構成は次のとおりです:

注意すべき重要な指令:

builder="hvm" - プロセッサが仮想化をサポートしていない場合、この機能を使用できません。このディレクティブを linux に設定する必要があります。ただし、その場合、一部の機能が失われます。

boot="d" - 非常に直感に反しますが、d は CD-ROM が最初で、c はディスクです。

disk=- あらゆる種類のストレージを指定します。デバイスの順序によって、それらが仮想マシンによってどのように認識され、使用されるかが決まります。文字 r と w は、読み取り専用モードと読み取り/書き込みモードを示します。

詳細については、xm の man ページを参照してください。次に、構成を使用する準備ができたら、次のコマンドを実行します:

xm create

これは VMM に新しいドメインとして登録されます。テスト中など、構成ファイルを使用したくない場合は、その場で仮想マシンを作成できます。例:

xm create /dev/null \
名前=デビアン\
kernel=/boot/vmlinuz-2.6-xen \
disk=file:/tmp/debian.img,sda1,w\
root=/dev/sda1 メモリ=256 vcpus=1

どこにも書き込まれない新しい構成を作成するため、/dev/null.ハードウェアなどのすべてのドライバーを含む、/boot/ の下にある特権付きの Xen カーネルを使用します。あるいは、より小さな xenU カーネルがある場合、特に準仮想化を使用している場合は、それを使用できます。次に、メモリ、仮想 CPU の数、およびストレージを割り当てます。最後に、仮想マシンのルート デバイスを設定します。

virt-install をインストールして使用し、仮想マシンを作成することもできます。 virt-install は対話モードで実行でき、質問をすることができます。これは非常に便利です。さらに、KVM を使用している場合は、構文に精通しています。

その他

言及する価値のあるいくつかの詳細...

準仮想化

これは機能しますが、大きな問題がないわけではありません。お使いのプロセッサが仮想化をサポートしていない場合、Xen がその機能やオプションの一部と連携していないことがあります。たとえば、ほとんどの場合、準仮想化モードで CD から起動できませんでした。というか、多くの微調整、いじり、変更を行った後、その過程で機能の一部が失われ、そうすることができました。

これは大きなマイナスです。 Web では、これに関する質問と回答が反響しています。これには、独自の HTTP サーバーを構築する、ループバック デバイスを介して ISO イメージをマウントする、マヤの神々に祈るなどのクレイジーなハッキングが含まれますが、これらの方法のいくつかは成功しているか、実装が簡単ですらありません。これについては、さらに個別に説明します。可能性が高いにもかかわらず、準仮想化をどのように進めることができるかを示し、とにかくそうしたくない理由を説明します。


続きを読む

勇気があり、Ubuntu で Xen を実行したい場合は、コミュニティ ドキュメントを試してください。

また、virtuatopi.com にある非常に詳細な Xen wiki もお勧めです。

Xen 管理ツール - これらの多くについては、別の記事で説明します。

openSUSE Xen ページと Xen VM Server のインストール方法。

最後に、Xen だけでなく、仮想化に関する価値のあるブログ:blog.bodhizazen.net です。

結論

おわかりのように、Xen はモンスターではありませんが、新しいユーザーにとっては気が遠くなる可能性があります。やや複雑なインフラストラクチャは、Xen の使用を妨げる可能性があります。しかし、集中すると、それほど劇的ではないことがわかります。追加のカーネルを入手してブートローダーに追加し、Xen を起動して、グラフィカル ツールとコマンド ライン ツールを使用して仮想マシンを管理します。 SUSE では、Xen がオペレーティング システムに含まれているため、作業が簡単になります。

KVM と比較すると、Xen の使用は少し複雑ですが、最初からブリッジ ネットワークを利用できるため、他のテクノロジと競合することはありません。準仮想化モードは、その一部が機能します。つまり、KVM を使用したエミュレーション モードよりも優れたパフォーマンスを提供します。完全仮想化モードでは、どちらのソリューションも非常に便利で便利です。最も重要なことは、このチュートリアルが霧の一部をクリアしたことを願っています.

後続の記事では、Xen 用の追加の管理ツールについて学び、スタンドアロンの Xen Cloud Platform を見て、ライブ エディションについても紹介します。はい、Xen はライブ CD、w00t から実行できます。これを楽しんでいただければ幸いです。またね。

乾杯。


  1. Xen の準仮想化を理解する

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

  2. Xen Live CD を使用した Xen 仮想化の探索

    たとえば、私の Xen 紹介記事が気に入って、その機能をテストしようとしているとします。しかし、最終的に望ましい結果が得られない可能性がある、長くて複雑な構成セットアップを恐れているかもしれません。まあ、それは正当な懸念です。幸いなことに、非常に簡単な解決策があります。 ライブ CD から Xen をダウンロードして実行できます。 Debian 5 に基づいており、ユーザーが Xen を必要とするかどうかを決定する前に、不安定なライブ セッションで Xen をロードテストできるデモンストレーション ツールです。素晴らしいですね。それでは、このことができることを見てみましょう。 ラ