今回は、vSphere Client でコンソールを開くための話です。
VM にOSをインストールするためには、最初にコンソール接続する必要があります。
vCenter を使用する環境でコンソールが開けないトラブルが多いようなので、
「名前解決の問題」についてポイントを書いてみようと思います。
まず、vSphere のコンソール接続(vCenter 環境の場合)の概要図です。
- vSphere Client は vCenter と通信します。
- コンソールは、VM の起動している ESXi と通信します。(TCP 902番ポート使用)

基本的に vSphere Client でのインベントリ操作(仮想マシンを作成、Power ON / OFF したり、フォルダ移動したり)は
vCenter と通信していますが、コンソールの操作は ESXi と直接通信しています。
つまり vCenter に接続した場合も、すべての通信が vCenter 経由となるわけではありません。
vCenter を使用している場合、vCenter でESXiの名前解決はできているのに
コンソール端末で ESXi の名前解決ができなくてトラブルとなることが多いようです。
たとえば、上記の例で vm1 という VM のコンソールを開きたい場合、
Windows 端末は ESXi1 の名前解決ができる必要があります。
ためしに、あえて名前解決できない状態でVMにコンソール接続してみます。

このとき、VM が起動している ESXi に接続しますが、
その時の ESXi への接続ではインベントリ登録されている ESXi 名が使用されています。
たとえば、vma1 という VM のコンソールを開く場合、
その VM が乗っている ESXi (例では sc-esxi502) とコンソールを開く端末が
通信できる必要があります。
つまり、その端末で ESXi 「sc-esxi502」の 名前解決ができる必要があります。

このとき、名前解決ができないと
下記のようなメッセージが表示されてコンソールが表示されません。
「MKSに接続できません: Host address lookup for server XXX failed: No such host.」
この場合、DNS サーバなどで名前解決するか、
コンソール端末自身の hosts ファイルで名前解決する必要があります。
タイトルバーに表示されている ESXi ホスト名と、エラーメッセージにある名前が
vCenter インベントリに登録されている名前と一致しています。

※ちなみに、MKS は Mouse Keyboard Screen の略らしいです。
Windows の hosts ファイルは下記にあります。
編集には管理者権限が必要です。
Widnows の hosts ファイルの場所:
C:\Windows\System32\drivers\etc\hosts
下の例では、sc-esxi502 という名前を IP アドレス 172.16.50.122 に名前解決するよう記載しています。

※例ではショートネーム(ドメイン部分のない名前)を使用していますが、
VMware 社的には FQDN (ホスト名.ドメイン名 という形式)での名前解決をするようにガイドしているようです。
ちゃんと名前解決ができて、コンソール端末と ESXi が接続できるようになると
コンソール画面が表示されるようになります。
実際には、名前解決ができるだけでなく
ESXi と実際に接続できて、TCP 902番ポートで通信できる必要があります。
以上、ESXi へのコンソール接続の話でした。
Comments