VNCのポート自由自在 [Xen TIPS]
仮想環境のコンソールをどこに出すかは難しい問題です。
今回はVNCに出すときに知っておくと便利なことを書きます。
背景
仮想環境のコンソール出力は、仮想サーバー起動時に指定する方法は# xm create <cfg file> -c (ドメインの登録を行っていないとき)で、起動している仮想サーバーにアクセスする時は
# xm start <domain name> -c (ドメイン登録を行っているとき)
# xm console <domain name>で見ることができます。但し、これでは文字のみのコンソールであり、XやWindowsは使えません。
今回はVNCクライアントでコンソールアクセスする時の問題点と解決策を書きます。
問題1 複数の仮想サーバー
VNCクライアントはTCPを使っています。仮想環境のコンソールとしてVNCを使う設定にすると、Domain-0経由でVNCクライアントがアクセスする事ができます。デフォルト設定では、そのポート番号は5900番のようです。
さて、ここで問題が生じます。
複数の仮想環境を起動したとき、VNCクライアントはどうやって仮想環境のコンソールを区別するのか?
回答1
簡単です。
一つのサーバーで複数同じようなサービスを起動させるとき、ポート番号を違えて起動するテクニックはよく知られています。今回も同じで、Xenに空いている番号を使うように指示すれば、勝手にポートを割り当ててくれます。
その設定は以下の設定をconfigファイルに記載してください。
vncunused = 1
問題2 接続したいコンソールはどれ?
1番の設定をすると、確かに5900, 5901, 5902と順にポートをリッスンする様子が見て取れます。しかし、仮想サーバーを起動する順番で割り当てられるらしく、実際に接続してみないことには自分が見たい環境が見れません。
なにかよい手立てはありませんか?
回答2
あります。
vncdisplayという設定項目があります。これは「どのディスプレイ番号を仮想環境に割り当てるか」という意味です。ここを環境毎に違った番号にします。
vncdisplay = <ドメインに割り当てた番号>
各仮想環境のコンソールは、5900 + vncdisplay のポートをリッスンするようになります。一旦番号が決まってしまえば、各環境の接続先としてこの番号を指定すればよいです。
コメント 0