Xenを使う(完全仮想化)-XenのDomUのコンソールを他のPCからVNCで見る方法

hvmファイルに下記の通り、変更・追加する。

パラメータ 意味
sdl=0 DomUのコンソールをUnixへ出力する(意味がよくわかってません。わかる人教えて) 0-しない 1-する
vnc=1 DomUのコンソールをVNCサーバへ出力する 0-しない 1-する
vnclisten="192.168.0.10" VNCサーバをListenするDom0のIPアドレスを指定する。"0.0.0.0"で全て
vncunused=0 VNCのディスプレイ番号を、自動で空きを探して割り当てる。0-自動で探さない。 1-自動で探す。
vncdisplay=11 VNCのディスプレイ番号の設定。設定値=ディスプレイ番号
vncpasswd="" VNCのパスワード文字列の設定。設定値=VNCパスワード。""でパスワードなし。
  • /etc/xen/xend-config.sxpファイル内に、下記パラメータはデフォルト設定が入っている。hvmファイルに設定しない(=パラメータの行がない)場合、デフォルト設定が適用される。
  • デフォルト設定
    • vnclisten="127.0.0.1" → 他のマシンからの接続が出来ない。
    • vncpasswd="" → パスワード無し
  • vncunused>vncdisplayの関係があり、vncunused=1になっていると、vncdisplayは無視される(たまたま同じ番号になる場合もあるようだが)。目的のDomUがどのディスプレイ番号だかよくわからなくなるので、vncunused=0にしておいて、ディスプレイ番号をvncdisplayで指定した方が無難。自分はこの仕様にハマりました(*1)。Dom0で複数ユーザでVNCを使ったりする場合を想定し、自分ルールで番号を分けてみた(0 - 10 ・・・ Dom0用、11-20 ・・・ DomU用)。

上記の設定を行い、DomUを起動するとコンソールをVNC経由で見られます。

○ HPのiLOや、IBMのRSM、もしくはリモートKVMのようなハードウェアレベルでの遠隔コンソールと同じように、起動画面からDomUの画面をVNCで見られます。
○ DomU内にリモート管理ソフト(RDP,VNC,pcAnywhere等)が入ってなくても見られるし、リモート管理ソフトがクラッシュ(pcAnywhereでよくあるんだこれが)しても、起動中や再起動中にOSが止まってても(よくあるんだなこれも)状況を把握、確認できるのがありがたい。
○ Dom0は通常のサーバなので、実運用する場合は最悪の場合に備えて、ハードウェアレベルでの遠隔コンソールが必要になる、と。仮想化しても残るもんは残る。

(*1)VNCのディスプレイ番号の関連について

暗黙のルールらしいのだが、昔から下記のとおりになってる。
vncunused=1の設定をすると、ディスプレイ番号0から順に探していくようだ。

VNCディスプレイ番号 待ちうけTCPポート
0 5900
1 5901

要は、待ちうけTCPポート=ディスプレイ番号+5900の関係があるようです。番号を指定しているにもかかわらず、ディスプレイ番号0で起動されているとは気付かないよ OTL。netstat -an で調べてみて初めて知ったこの事実。