ESXi 5.xで各仮想マシンのコンソールへ直接アクセスする方法を調べてみた


無償版ESXi5.xで、仮想マシンのコンソールに直接アクセスするためには
通常はvSphereClientでアクセス出来ますが、そのほかにもいくつか方法があります。

有償版であれば、vCenterと組み合わせて
Webインターフェイスから各仮想マシンのコンソールへのショートカットを作れますが、無償版だといろいろ工夫しなければいけません。

とりあえず、vSphereClientを使用する以外で、今回は4つ紹介

  1. ESXiのVNCインターフェイスを有効にして、VNCViewerで接続する
  2. VMware WorkStationやVMware Playerをコンソールにする
  3. ESXi4.1用のvSphereClientと一緒にインストールされる
    vmware-vmrc.exeを利用する
  4. VMware Remote Console SDKを利用する
  5. VMware Remote Console 7.0を利用する(2015/03/01追加)

 

 

ESXiのVNCインターフェイスを有効にして、
VNCViewerで接続する方法

仮想マシンのVMXか、オプション-全般-構成パラメータで、以下の行を追加すると
ESXiがVNCサーバの機能を提供してくれます。

追加するのは、以下の4つの行となります。

パラメータ 説明
RemoteDisplay.vnc.enabled TRUE VNC接続を有効にします。
RemoteDisplay.vnc.port ポート番号 VNC接続する際に使用するポートを指定します。
同じESXi上の別の仮想マシンで使用するポート番号と重複しないように注意します。
例:5900、5901など。
RemoteDisplay.vnc.password 任意の文字列 VNC接続時に使用するパスワードを設定します。
RemoteDisplay.vnc.keyMap jp VNC接続時のキーボードのキーマップを設定します。
日本語キーボードを利用する場合は「jp」と入力します。

また、ESXiのセキュリティープロファイルの設定で
「VMシリアルポートはネットワークに接続されます」を有効にする必要があります。

VNCViewerの接続先は仮想マシンのIPアドレスではなく、
仮想マシンが稼働しているESXiサーバのIPアドレスになります。
(これはESXiサーバがVNCサーバになっているため。このためBIOS画面から表示可能です。)

また、RemoteDisplay.vnc.portに5900を指定した場合はVNCViewerから以下のいずれかで接続できます。
「<ESXiのIPアドレス>」「<ESXiのIPアドレス>:0」「<ESXiのIPアドレス>:5900」

VNCViewerは何でもよいですが、UltraVNC用のVNCViewerであれば
vSphereClientでは出来ない表示画面のAutoScaleingが有効にできるのはかなりのメリットです。
ただし、汎用ツールのため、仮想マシンのON/OFF/設定変更はこの方法ではできません。

ESXi-VNC

 

 

 

VMware Player(VMware WorkStation)を
コンソールにする方法

VMware Player 6を特定のオプション付きで起動すると、
ESXiサーバ上の仮想マシンのコンソールに接続できます。

これをショートカットに登録すれば、ダブルクリック1つで、仮想マシンのコンソールにアクセスできます。

ESXi-Player

この接続方法だと、仮想マシンのON/サスペンド/ゲストのシャットダウンが可能ですが、
Player-管理-仮想マシン設定から、仮想マシンの構成変更をすることも可能です。

また、現状vSphereClientではできない、ESXi5.5のVMX10の仮想マシンの仮想マシン編集ができるらしいので、無償版ESXiのようなvCenterについてくるWebClientが使えない環境でも
VMXバージョンを上げてしまったときの回避策になるようです。

ESXi-Player-Edit

また、VMwareWorkstation 10だと、仮想マシンへのショートカットだけでなく、
ESXiへ接続して、動作している仮想マシンの管理が出来るようです。
http://www.vmware.com/jp/products/workstation/

vmw-scrnsht-workstation-connectivity-tn

また、VMwarePlayerにはLinux版もありますので、Linuxで動かないvSphereClientの代わりにもなりそうですね。

 

 

 

ESXi4.1用のvSphereClientと一緒にインストールされる
vmware-vmrc.exeを利用する方法。

ESXi4.1用のvSphereClientをインストールすると、
一緒に「vmware-vmrc.exe」がインストールされます。
https://my.vmware.com/jp/group/vmware/evalcenter?p=free-esxi

または以下からもダウンロードできるようです。
http://vsphereclient.vmware.com/vsphereclient/4/9/1/5/5/7/VMware-viclient-all-4.1.0-491557.exe

このツールを使えば、VMwarePlayerと同様に、仮想マシンのコンソールを表示できます。

これをショートカットに登録すれば、ダブルクリック1つで、仮想マシンのコンソールにアクセスできます。

vmrc

残念ながら、ESXi5.xのvSphereClientには、vmware-vmrc.exeが入っていないので
ESXi4.1のvSphereClientを用意する必要があります。
また、ESXI4.0のvSphereClient付属のvmware-vmrc.exeだとうまく画面表示できませんでした。

 

(追記)
どうやら、vCenter 5.x経由での接続の場合、上記の方法ではうまくいかないようです。

この場合は、”<仮想マシンVMXのデータストアパス名>”の代わりに、-M <moid>で仮想マシンを指定する必要があるようです。

これを調べるには、
RVToolsを使用したり(vInfoのObjectIDが該当)、
vSphere SDK for PerlmoRefFinder.plを使用したり、
ESXiのコンソールからvim-cmd vmsvc/getallvms 等で調べられます。
(仮想マシンのmoidは、esxi直接続の場合は<数値>、vCenter経由の場合はvm-<数値>となるようです)

また、現時点で、ユーザ名・パスワードを指定する方法がわからないので、毎回入力する必要があります。

例としてWSS2008R2という仮想マシンのmoidがvm-3072だと仮定します(vCenter経由での接続の場合)。

まだいろいろ調査中・・・

 

 

VMware Remote Console SDKを利用する方法。

https://my.vmware.com/group/vmware/details?downloadGroup=VMRCSDK550&productId=351
https://www.vmware.com/support/developer/vmrc/index.html

サンプルでの接続の仕方は、以下にまとまってます。
http://www.virtuallyghetto.com/2013/02/how-to-access-vsphere-remote-console.html

正直、あらかじめセッション接続用チケットを調査する必要があったり、
接続先仮想マシンのVM-IDを調べたりして接続までの手順が大変なので
サンプルをそのまま常用は難しいとは思いますが、
ちゃんとコーディングしてWebインターフェイスに組み込むのなら使えるのかな?

なお、セッション接続用チケットを調査する際に、ESXi5.0の場合は以下のURLになるようです。
https://<ESXiServer>/mob/?moid=ha-sessionmgr&method=acquireCloneTicket

vmrc-sdk

 

 

Standalone VMRC(VMware Remote Console 7.0)を利用する方法。(2015/03/01追加)

VMware vSphere Web Clientでコンソール表示するためのプラグインでもコンソール表示可能です。

以下からダウンロードできます
(2015/03/01時点の最新版はVMware Remote Console 7.0.1 for Windows)
http://www.vmware.com/go/download-vmrc

ただし、ここからダウンロードできるパッケージは64bitインストーラのようで、
32bitOSにはインストールできないようです。バイナリ自身は32bitっぽいのですが・・・

なお、現状はWindows版のみで、今後MAC用を開発中とのこと。
Linux用は現状開発予定はないようです。

 

接続前に表示する仮想マシンのmoidを調査する必要があります。
これを調べるには、
RVToolsを使用したり(vInfoのObjectIDが該当)、
vSphere SDK for PerlmoRefFinder.plを使用したり、
ESXiのコンソールからvim-cmd vmsvc/getallvms 等で調べられます。
(仮想マシンのmoidは、esxi直接続の場合は<数値>、vCenter経由の場合はvm-<数値>となるようです)

例としてWSS2008R2という仮想マシンのmoidが3072だと仮定します(esxi直接続の場合)。

 

 

仮想マシン指定(ユーザ名・パスワードは実行時に毎回入力)

 

仮想マシン・ユーザ名指定(パスワードは実行時に毎回入力)

 

仮想マシン・ユーザ名・パスワード指定

仮想マシン・チケット指定(毎回チケットを調べる必要があります)

 

どちらかというと、VMware playerのコンソールと同じような画面構成です。
仮想マシンの構成変更まで出来るので、ある意味使い勝手はよさそうです。

vmrc

(参考)

vSphere 5.x 環境で、スタンドアロンの VMware Remote Console (VMRC) をダウンロードしてインストールする方法 (2092065)

Standalone VMRC (VM Remote Console) re-introduced in vSphere 5.5 Update 2b

 

なんでこんなことをしらべているかというと・・・・・
Zabbixとうまく連動できないかなと思っていましたが、なかなか難しいです。


コメントを残す

メールアドレスが公開されることはありません。