SUSE + XEN 良くあるトラブル集

ここでは、SUSE Linux Enterprise Server 10 (SLES10) + XEN 仮想化をしたときに、よくある間違えやトラブルについて説明します。他のディストリビューションや仮想化技術でどうなるかはわかりませんが、参考になればと思います。

時刻がずれる

この現象は、「回避できない」現象です。OSは起動してハードウェアクロックを拾います。運用中もハードウェアクロックに同期するわけですが、仮想化されたシステムはハードウェアクロックと同期できません。また、xen pause 中はクロックも含めて「凍結」されるため、時刻が狂います。この現象は XEN だけではなく VMware などの他の仮想技術でも同様です。

対策としてはまめにNTPを使って同期をかけることしか今のところなさそうです。Windows を仮想化する場合も time.windows.com だと世界何十億台の Windows PC のデフォルト同期先なので、できればLAN内のNTPサーバを指定することがお勧めです。XEN のホストマシン(Domain-0) に NTP デーモンを動作させるのが一番の方法でしょう。

SUSE 10 sp2 以降は Windows も xm pause することができます。親サーバ (Domain-0) を再起動している間は xm pause するため、確実に時刻がずれます。

XEN 仮想化した Windows の時刻がずれる

同期のタイミングをどう調整するかは、またの機会に研究してみます。


キーボード配列

yast から仮想マシンを作る場合、特にどのキーボードを使うかの指定がありません。したがって、仮想マシンを立ち上げてコンソールを操作しようとして特殊記号キーを押すと「あれ?」となります。

/etc/xen/vm/MyVM ファイルを開き次の行を追加します。追加した後明示的に xm create すると 106 キー配列になるようです。

keymap='ja'

ただし、Windows も Linux もほとんどコンソールから操作は行わないのが原則です。 Windows PC からの場合 xming のような X 端末や SSH 接続、リモートデスクトップを使ってください。インストールからコンソールの操作などはほとんどリモートで行えますから、直接コンソールを使うことはほとんどないはずです。特にサーバコンソールでX端末がハングアップすると救いようがありませんから、リモート接続を行うことをお勧めします。

XEN Domain-U のキーボードマップを 106 キーに変える

USBやCDメディアを認識させる

XEN 仮想マシンにUSBメモリを認識させる場合は次のコマンドを実行します。

xm block-attach MyVM phy:/dev/sdb xvde w

取り外す際は次のコマンドを使います。
xm block-detach MyVM xvde


通常 USB メモリの場合は /dev/sdx として認識されますから、ホスト(Domain-0) からどのデバイスとして認識されているかを確認してから block-attach コマンドを実行します。sdx の代わりに cdrom などのデバイスを使うこともできますが、rom のような Read Only のメディアの場合は w ではなく r を指定します。仮想マシン側(Domain-U) に xvdx が認識されたらメディアを mount します。

ただし、実際にメディアをマウントして操作することは少ないはずです。セットアップに必要なメディアやログなどはネットワーク転送した方が手っ取り早いでしょう。USBデバイスが簡単に使えない点が XEN の弱点でもあるし、セキュリティ上の最大のメリットでもあると「無理を言えば」言えます。

USBのマウスやキーボードが使えるかどうかは試したことがありません。PS2接続のマウス、キーボードをお勧めします。もちろん、リモート操作する場合は、キーボード、マウスは必要ありません。

XEN 仮想マシンに CD-ROM を認識させる

仮想マシンからCD-ROMを認識させる

準仮想化SUSE on SUSE+XEN でUSBメディアを認識させる。

コンソールの切り替え

Domain-0 から Domain-U にコンソールを切り替える場合は xm console MyVM コマンドを使います。ただし、Windows を仮想化した場合は当然 GUI に切り替わるわけではなく、エラーとなります。Domain-U のコンソールから Domain-0 に戻す場合は CTRL + ] を押します。

yast から仮想マシンマネージャを使って仮想マシンのコンソールを直接操作することもできますが、マウスの動作が不自然であまりお勧めできません。仮想マシンのGUIを操作する場合はリモートデスクトップをお勧めします。

どうしても仮想マシンマネージャでコンソールを操作しなければならない場合は Ctrl + Alt キーでコンソールを切り替えます。OES NetWare を仮想化した場合は、ALT + ESC で画面の切り替えができますが、ALT キーを先に押すと親(Domain-0)やリモート端末の画面が切り替わってしまいます。ESC を先に押しながら ALT キーをポンと押すと巧く切り替えることができます。SLES 10sp2 以降の仮想マシンマネージャはキーメニューで Ctrl+Alt+ESC などをメニューから送信できますが、それ以前や他のディストリビューションで Windows を仮想化している場合は CTRL+DEL を押した状態から ALT キーを押すとログインメニューが出ます。

SUSE Linux Enterprise Server 10 XEN GUI とコマンドの相関

バックアップ

イメージファイルは /var/lib/xen/image にあります。このイメージファイルをコピーしておくことが一番楽な方法です。また、このイメージファイルを元に別な仮想マシンを作ることができます。社内システムなど、週末の深夜10分程度なら停止しても構わない場合、 xm shutdown コマンドでいったん仮想システムを停止して、イメージを丸ごとコピーしてしまいます。 cron を使って自動化できます。できるだけコピー時間を少なくするため、あまり大きなイメージを作らないことです。
Windows マシンは cron で net rpc shutdown コマンドを使えば Domain-0 からシャットダウンできます。

現代のSASのHDDを搭載したサーバマシンであれば 10G 程度のイメージコピーには5分とかかりません。コピーが終われば、rsync で他の装置に転送したり、バックアップソフトウェアでテープにバックアップします。今のところ BABr11.5 ARCserve であれば、XEN カーネルで起動しても動作しています。このように SUSE + XEN が「ハイパーバイザーだけ無料」の他の仮想化製品と異なる点は、全ての機能やパッケージがほぼ利用できるということです。XEN カーネルで起動して OpenOffice も使えるので、プレゼンテーションや、オペレーションマニュアル作成もできます。

仮想マシンの差分をバックアップしたいという目的であれば、Domain-U に従来のバックアップソフトウェアを使います。当然その分のライセンス費用が発生します。クリティカルな DBサーバやファイルサーバには XEN 仮想化が向かない理由はそこにもあります。XEN にはスナップショットのような機能はありません。Domain-U でテープが使えるかどうかは試したことがありません。

SUSE Linux, XEN 仮想化した Windows 2003 Server を Domain-0 から Shutdown する。

CRON を使った、 XEN イメージの保存(OES Linux, OES NetWare)


Domain-U が起動できない

メモリは腹八分にしておくことです。十分なメモリを用意したつもりでも、 xm shutdown や create を繰り返すと xm create できない場合があります。どうも、xm create するには連続したメモリ空間が必要なようです。メモリのガーベジコレクションができれば問題なさそうですが、方法がわかりません。 Domain-0 を再起動する必要があります。また、vm ファイルの memory 値を下げて(メモリを減らす)起動できる場合があります。

緊急時に Domain-U を起動できるよう、メモリは腹八分で運用しておくことを心がけてください。

Domain-0 が起動したときに自動的に Domain-U が起動させるには /etc/xen/auto に /etc/xen/vm にある vm ファイルのリンクを作成します。

/etc/xen/auto # ln -s ../vm/MyVm

なるべく、重要で、メモリを大量に消費する Domain-U を先に起動させるのがコツです。代替手段があり、停止しても構わない Domain-U は最後に起動することです。xend のログは /var/log/xen にあります。Domain-U が起動できない場合はこのログで内容を確認します。

また、インストールに使ったメディア(ISOイメージ)などを削除、取り外し場合も起動に失敗します。インストールから、運用状態に移行する場合は cdrom メディアの指定を vm ファイルから取り除いてください。

- Keyword -
XEN SUSE Linux Enterprise 11 仮想化 SLES

Visit my website islandcenter.jp
by islandcenter | 2009-09-09 15:00 | XEN | Comments(0)