工学社刊「はじめてのXen」の実践にはSUSE Linux9.3とそれに同梱のXen2.0を用いています。その後SUSE10.0はXen3.0のみをサポートするようになり、しばらく不安定な時期が続きました。しかし、SUSE10.1の同梱Xen3.0.2は再び安心して使えるようになりました。とはいえ、多少異なる点があります。
注:どうしてもダメならSLES10
次のバージョンopenSUSE10.2や、アップデートしたSUSE10.1では、またもや一時的にXenが不安定になってしまうことがあります。最もダメになりやすいのは「仮想ネットワーク」です。Xenで起動したSUSEや追加ドメインがどうしてもインターネットにつながらない...そういう場合、最も頼れるバージョンは「SUSE Linux Enterprise 10 Server(SLES10)」です。試用版を用いることになりますが、「安定したXen」が動くので、試用期間内でとにかく「Xenとはどういうものか」を体験することができます。
SLES10で「はじめてのXen」の主要な部分を実践する方法を別ページに掲載しました。もし、これでダメなら、残念ながらお使いのハードウェアは今のところXenには適さないと考えたほうがよさそうです。
清水 美樹
これは全く変わりません。YaSTのソフトウェア管理で「XEN仮想化」を選ぶことにより、SUSEそのものと同時にインストールもできますし追加インストールもできます。起動メニューにも自動でXenがリストアップされますので、それを選んで起動できます。
あいにくSUSE10.1のXen3.0.2ではできませんでした。筆者はXen3.0用のユーザガイドからその項目が消えてしまっていることからも考えてXen3.0.2ではできないのだなと思いこんでしまいましたが、実は最近openSolarisのXenでできてしまうことがわかりました。詳細は(詳細になるかな...)こちら。
スミマセン。いずれにせよ、後述の「SUSEのrescueディスクの利用」がうんとカンタンになりましたから、そちらから始めるのがよいかと....
同様に,いえより簡単にできます。
SUSE10.1のYaSTには「仮想マシンマネージャ」という項目がありますが、あいにくこれはまだエラーが多く実用的ではありません。ただしNovell 製品の「SUSE Linux Enterprise10 Server」では「仮想マシンマネージャ」のいろいろな機能が使えるようになっています。またオープンソース版も次期バージョンopenSUSE10.2では同様の向上が見られます。とはいえ、「はじめてのXen」の内容にはない機能ですから、ここでは割愛します。
SUSE10.1のルートファイルシステム構築法は全く同様です。(pp.66-77)ただし,Xen3.0以降は,YaSTモジュールのうち「Installation into Directory for XEN」はなくなり,かわりに「ディレクトリへのインストール」を起動して使います。全く同じ機能のモジュールです。
仮想マシンの起動設定ファイル(本書でのpp.78-79 xmsuseにあたる)はXen3.0で一部書き方が変わりました。以下が最低限必要な記述です。
kernel = "/boot/vmlinuz-xen" ramdisk = "/boot/initrd-xen" memory = 256 name = "<好きなドメイン名>" vif = [ '' ] #ここが特に大事 disk = [ 'file:<イメージファイルへの絶対パス>,hda1,w' ] root = "/dev/hda1 ro" extra = "5"
このうち特に「vif = [ '' ]」が変更点です。これはXenから仮想Macアドレスをもらうために必要な記述です。自分で適当なアドレスを書いても構いませんが,まずは空白にしておいてXenにまかせるのが無難です。
Fedora Core 4では,Xenのサポートが非常に不安定だったために,Xen2.0で用意されていたバイナリのdomU用カーネルと,FedoraのinitrdファイルをSUSEのbootフォルダに置いて動作させていました(p.113)。しかし,Xen3.0からはバイナリのdomU用カーネルが提供されなくなりました。代わりといってはなんですが,Fedora Core 5以降のXenのサポートが充実し,安定したdomUカーネルとdomU用initrdが得られるようになりました。そこで,以下のようにするとよいでしょう。
アップデートが怖い場合 Fedoraに限らずオープンソースのLinuxディストリビューションの多くは常にバージョンアップしており、それまで動いていたXenがアップデートしたばっかりにコケてしまったということはよくあります。FedoraのXenをネットワークインストールするのであれば、システム全体をネットワークアップデートする必要があります。それが怖い場合、もしくは面倒な場合、以下のようにしてインストールメディアに収まっているXenを追加インストールできます。
- Fedora5のインストールメディアから、以下のパッケージをハードディスクの適当なフォルダにコピーする。(バージョン名は筆者が有しているインストールメディアの一例です)
sysfsutils-1.3.0-1.2.1.i386.rpm bridge-utils-1.0.6-1.2.i386.rpm xen-3.0.1-4.i386.rpm kernel-xen0-2.6.15-1.2054_FC5.i686.rpm kernel-xenU-2.6.15-1.2054_FC5.i686.rpm- 端末から上記の順番に、「rpm -ivh (RPMファイル名)」コマンドでインストールする。
vminuz-....._FC5xenU initrd-....._FC5xenU.img System.map-....._FC5xenU config-....._FC5xenUなお,「.....」の部分はその時点でのバージョン番号です。
kernel = "/boot/vmlinuz-....._FC5xenU" ramdisk = "/boot/initrd-....._FC5xenU.img" memory = 256 name = "Fedora" vif = [ '' ] disk = [ 'phy:hda3,hda3,w' ] root = "/dev/hda3 ro" extra = "5"
ただし,Fedoraなど異種のOSにインストールしたXen用カーネルがSUSEのXenで利用できない場合もあります。バージョンが違えばその危険はかなり大きいですし,そのOSに最適化するため独自のビルドを行っている可能性が高いからです。こうした場合,最後の手段として,XenのソースコードをSUSEでビルドしてそのdomU用カーネルを使ってみるテもあります。
vmlinuz-2.6-xenU vmlinuz-2.6.16-xenU config-2.6.16-xenU vmlinux-syms-2.6.16-xenU System.map-2.6.16-xenUというファイル群ができていました。これらをSUSEの/bootフォルダにコピーします。