37.2. ドメインのインストール

ゲストドメインのインストールと設定には、いくつかの手順を実行します。以下では、最初のゲストドメインをインストールし、最初のネットワーク接続のための、異なるタスクのすべてを完了する方法を説明します。

ゲストシステムをインストールするには、ブロックデバイスまたはファイルシステムイメージの中にルートファイルシステムを準備し、設定する必要があります。このシステムにあとでアクセスするには、エミュレートされたコンソールを使用するか、このゲストにネットワーク接続を設定します。SUSE Linuxの1つのディレクトリへのインストールはYaSTによってサポートされています。そのようなゲストのハードウェア要件は、一般的なLinuxのインストールと同様のものです。

すべてのドメインから読み取り専用でマウントされたファイルシステムは、ドメイン間で共有できます。例えば、/usrあるいは/optのようなファイルシステムです。読み書きモードでマウントされたファイルシステムは共有しないでください。複数のゲストドメイン間で、書き込み可能なデータを共有するには、NFSか、その他のネットワークファイルシステムまたはクラスタファイルシステムを使用します。

[Warning]ゲストドメインの共有

ゲストドメインを開始する際は、ゲストのファイルシステムが、インストーラまたは制御ドメイン-0によってマウントされていないことを確認します。

最初に行うことは、ゲストのLinuxをインストールするファイルシステムイメージの作成です。

  1. /var/tmp/の中にguest1という名前の4GBの空のイメージを作成するには、次のコマンドを使用します。

    dd if=/dev/zero of=/var/tmp/guest1 seek=1M bs=4096 count=1
  2. イメージとは、何の情報も含まない大きな空のファイルのことです。この中にファイルを書き込むには、ファイルシステムが必要です。

    mkreiserfs -f /var/tmp/guest1

    コマンドmkreiserfsは、これがブロック特殊デバイスではないことおよびそれの確認を求める情報を表示します。Yを押して、さらにEnterを押して続行します。

  3. 実際のインストールはディレクトリ内にされます。そのため、ファイルシステムイメージ/var/tmp/guest1が、ディレクトリにマウントされている必要があります。

    mkdir -p /var/tmp/dirinstall
    mount -o loop /var/tmp/guest1 /var/tmp/dirinstall
    
[Important]重要項目

インストールが終了したら、このファイルシステムイメージを再びアンマウントします。YaSTでは、インストール時に、/procファイルシステムもマウントしますので、これもアンマウントしてください。

umount /var/tmp/dirinstall/proc
umount /var/tmp/dirinstall

37.2.1. YaSTを使用したゲストドメインのインストール

YaSTでゲストドメインをインストールするには、新規ゲストのためのファイルシステムイメージをあらかじめ準備しておく必要があります。YaSTを開始し、[ソフトウェア]+[XENのディレクトリへのインストール]の順に選択します。

ディレクトリインストール用のYaSTモジュールには、必要に応じた設定を必要とするオプションがいくつかあります。

  • ターゲットディレクトリ: /var/tmp/dirinstall

    使用するファイルシステムイメージのマウントポイントにこのオプションを設定します。通常はデフォルトを受け入れます。

  • YaSTおよびSuSEconfigを初回起動時に起動する: はい

    このオプションには、[はい]を設定します。rootユーザ用のパスワードおよび初めてゲストを開始する際の最初のユーザが要求されます。

  • イメージ作成: いいえ

    ここで作成されるイメージは、単なるインストールディレクトリのtarによるアーカイブです。これはここでは必要ではありません。

  • ソフトウェア

    使用するインストールのタイプを選択します。最初はデフォルトで構いません。

次へ]をクリックして、インストールをスタートします。パッケージの数によって、インストールに時間がかかる場合があります。インストールの完了後は、tlsライブラリは削除する必要があります。

mv /var/tmp/dirinstall/lib/tls /var/tmp/dirinstall/lib/tls.disabled
 

Xenでは、ゲストドメインを開始するのに、ドメイン-0にインストールされたカーネルの1つを使用します。ゲスト内でネットワークを使用するには、このカーネルのモジュールも、ゲストにとって利用可能である必要があります。

cp -a /lib/modules/$(rpm -qf --qf %{VERSION}-%{RELEASE}-xen \
    /boot/vmlinuz-xen) /var/tmp/dirinstall/lib/modules
 

ファイルシステムのエラーを防ぐには、インストール後にファイルシステムイメージがアンマウントされている必要があります。

umount /var/tmp/dirinstall/proc
umount /var/tmp/dirinstall/
 

一方でドメイン-0用に特化したカーネルを作成し、他方でゲストシステムに特化したカーネルを作成することもできます。主な違いは、ゲストシステムではハードウェアドライバが必要でないという点です。これらのドライバはモジュールでありゲストシステムでは使用されないので、SUSEは、両方のタスクに1つのカーネルのみ供給します。

37.2.2. ゲストドメインとして使用するためのレスキューシステムの設定

システムを素早く稼動状態にするには、SUSE Linuxのレスキューシステムのような、既存のルートファイルシステムを再利用するのが最も簡単な方法です。基本的に、このイメージ内の仮想ブロックおよびネットワークイメージのカーネルイメージおよびデバイストライバを交換します。この作業を簡単にするために利用可能なスクリプトmk-xen-rescue-img.shが、/usr/share/doc/packages/xen/の中にあります。

ルートファイルシステムを構築するのにレスキュー方式を使用することの欠点は、結果としてRPMデータベースが作成されないので、RPMを使用して簡単にパッケージを追加できない点です。利点としては、結果としては比較的小規模な構成になるのですが、ネットワークを使用するのに必要な機能のほとんどを備えられるという点です。

スクリプトmk-xen-rescue-img.shを実行するには、少なくともレスキューイメージを持ったディレクトリおよび結果的に生成されるイメージを格納する宛先となる場所が必要です。デフォルトでは、そのディレクトリはディレクトリ/boot内の、ブートDVDになります。

cd /usr/share/doc/packages/xen
./mk-xen-rescue-img.sh /media/dvd/boot /usr/local/xen 64 

スクリプトの最初のパラメータは、レスキューイメージのディレクトリです。2番目のパラメータは、イメージファイルの宛先です。オプションのパラメータでは、新規で生成されるゲストドメインおよび使用するカーネルバージョンのディスク容量の要件を指定します。

このスクリプトは、新しい場所にイメージをコピーし、カーネルおよび複数のカーネルモジュールを置き換え、システム内のtlsディレクトリを無効化します。最終的な手順として、新規イメージの設定ファイルを、/etc/xen/の中に生成します。