基本的にはxen-toolsに含まれている支援ツールで総てのインストールが完了します。まずは、以下の設定ファイルを変更しましょう。
# /etc/xen-tools/xen-tools.conf |
おおよそコメントを見ればどこを設定すればいいかわかりますが、該当のホスト機で一番初めのゲストOSをインストールする時には、mkdir /home/xen で、ディレクトリーを作っておく必要があります。
当然のことながらネットワークインストールを行うので、ゲスト機に振るIPアドレスからインターネットへいけるようになっている必要があります(FWのアウトバウンドで制限をかけている場合に注意)。
次に上記設定ファイルにあるように、kernelのイメージはxen専用のイメージじゃないとインストールできません。ホスト機のインストールという前のトピックにしたがってインストールしてあれば、/bootにvmlinuz-2.6.18-?-xen-686(?はたぶん変わる筈)というイメージファイルがあるはずなので、それを記載して下さい。
当然、ホストOSのkernelがアップグレードされた=バージョンアップされてファイル名が変わったときには、この設定も変更することを忘れないように…(自動で変化はしない)
ただし、この設定が有効になるのは新規にゲストOSを作成するときだけなので、この設定を変更したとしても、すでに稼動しているゲストOSには何の影響も与えないので注意してください。
--------
以上の設定ファイルの変更が終われば、新しいゲストOSの作成を行うことが出来ます。
# xen-create-image --hostname rickdom --ip 192.168.64.55
ホスト名 rickdom
IPアドレス 192.168.64.55
設定が正しくて、インターネットへの接続が問題なければ数分すると新しいrickdomというホストが作成されます。
※インストールにはしばらく(5~6分)かかります。
General Infomation |
このように最後に All done と表示されれば正常終了です。
上記作業中に^cで作業を中止しないようにしてください。
いくつかタスクが残ってしまい、再インストールができなくなります。たぶん、killでいくつか該当タスクを止めればOKだと思うのですが、そこはまだ調べていません。ホスト機を再起動すれば再インストール可能になりますが、ゲストOSも総て再起動となりますので、実行には注意してください。
※また、途中で終わらせた後の再インストールの場合、/home/xen以下に中途半端なイメージファイルが出来ているので、そのままではインストールが出来ないとエラーがでます。xen-create-image コマンドに追加で --force を指定すると、上書きして新しいイメージを作成します。
--------
新しいゲストOSのイメージが出来上がれば、
# xm create /etc/xen/rickdom.cfg
このコマンドで、新しい仮想サーバが起動します。
sshdはデフォルトでインストールされているので、直接新しい仮想サーバへログインしてもいいですし、
# xm console rickdom
とコマンドを叩くと、ホスト機から直接仮想サーバのコンソールへ接続が出来ます。
※もとのホスト機のコンソールへ戻るには^]を入力する。
※xm consoleで接続した場合、仮想コンソールにバグがあるらしく、teraterm等でホスト機に接続していると、画面のコントロールがおかしくなります。その場合は、^]で仮想サーバのコンソールからホスト機のコンソールへ戻ったあとで、terminalソフトをリセットしてください(teratermの場合には、コントロール→端末リセット)。 ただし、ホスト機にVGA装置(液晶とか)とキーボードを接続し、物理コンソールから操作しているとおかしくはなりません。
※2009/02/15 新しいlennyがリリースされました。
この関係で、以下の操作をする前に /etc/apt/sorce.lst を必ず確認してください。
deb http://security.debian.org/ stable/updates main になっているとダメです。
すぐに変更して、
deb http://security.debian.org/ etch/updates main に直してください。
稼動を始めた新しい仮想サーバには、必要最低限の設定しかされていません。いろんなアプリケーションをインストールする前に、以下のパッケージを先行してインストールしておいてください。
less host telnet mailx dns-browse vim
また、タイムゾーンの設定がおかしいようで、syslog等が生成するlogファイルの時間がJSTになっていません。
tzconfig
dateコマンドで見るとちゃんとlocalなタイムゾーンが設定されているように見えますが、どこか設定が抜けているようでこのタイムゾーンの設定(Asia → Tokyo)を行って、syslogdを再起動するとlogのタイムスタンプが正常な状態へ復帰します。
--------
最後に仮想化環境における時刻について書いておきます。
デフォルトの設定では、ドメインUの時刻はドメイン0に同期しているので、ドメインUでntpdを動かす必要はありません。
しかし、ドメインUでntpサーバを動かしたい場合には、このままの設定でntpdを起動させるといつまでたっても上位のntpサーバに時刻が同期しないという不思議な現象が起きます。
このような現象を回避するには、ドメイン0とドメインUで独立に時刻を管理する必要があるため、カーネルのパラメータを変更する必要があります。
xen.independent_wallclock = 1
を、/etc/sysctl.conf に記載する必要があります。
※この場合は、再起動しないと有効になりません。
すでに起動している状況で、このパラメータを変更するには
# sysctl xen.independent_wallclock=1
このコマンドを投入してください。
この設定はドメイン0とドメインU両方で設定が必要です。
■次回は、仮想サーバの運用について書いてみます。