無償版ESXi5.xで、仮想マシンのコンソールに直接アクセスするためには
通常はvSphereClientでアクセス出来ますが、そのほかにもいくつか方法があります。
有償版であれば、vCenterと組み合わせて
Webインターフェイスから各仮想マシンのコンソールへのショートカットを作れますが、無償版だといろいろ工夫しなければいけません。
とりあえず、vSphereClientを使用する以外で、今回は4つ紹介
- ESXiのVNCインターフェイスを有効にして、VNCViewerで接続する
- VMware WorkStationやVMware Playerをコンソールにする
- ESXi4.1用のvSphereClientと一緒にインストールされる
vmware-vmrc.exeを利用する - VMware Remote Console SDKを利用する
- 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/設定変更はこの方法ではできません。
VMware Player(VMware WorkStation)を
コンソールにする方法
VMware Player 6を特定のオプション付きで起動すると、
ESXiサーバ上の仮想マシンのコンソールに接続できます。
1 2 3 4 |
"C:\Program Files (x86)\VMware\VMware Player\vmplayer.exe" -h <ESXiサーバ> -u <ESXiログインユーザ> -p <ESXiログインパスワード> "<仮想マシンVMXのデータストアパス名>" (例) "C:\Program Files (x86)\VMware\VMware Player\vmplayer.exe" -h ESXiIP -u ESXiuser -p ESXipassword "[NS001-nfs] walbrix/walbrix.vmx" |
これをショートカットに登録すれば、ダブルクリック1つで、仮想マシンのコンソールにアクセスできます。
この接続方法だと、仮想マシンのON/サスペンド/ゲストのシャットダウンが可能ですが、
Player-管理-仮想マシン設定から、仮想マシンの構成変更をすることも可能です。
また、現状vSphereClientではできない、ESXi5.5のVMX10の仮想マシンの仮想マシン編集ができるらしいので、無償版ESXiのようなvCenterについてくるWebClientが使えない環境でも
VMXバージョンを上げてしまったときの回避策になるようです。
また、VMwareWorkstation 10だと、仮想マシンへのショートカットだけでなく、
ESXiへ接続して、動作している仮想マシンの管理が出来るようです。
(http://www.vmware.com/jp/products/workstation/)
また、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 2 3 4 |
"C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\4.1\vmware-vmrc.exe" -h <ESXiサーバ> -u <ESXiログインユーザ> -p <ESXiログインパスワード> "<仮想マシンVMXのデータストアパス名>" (例) "C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\4.1\vmware-vmrc.exe" -h ESXiIP -u ESXiuser -p ESXipassword "[NS001-nfs] WSS2008R2/WSS2008R2.vmx" |
これをショートカットに登録すれば、ダブルクリック1つで、仮想マシンのコンソールにアクセスできます。
残念ながら、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 PerlでmoRefFinder.plを使用したり、
ESXiのコンソールからvim-cmd vmsvc/getallvms 等で調べられます。
(仮想マシンのmoidは、esxi直接続の場合は<数値>、vCenter経由の場合はvm-<数値>となるようです)
また、現時点で、ユーザ名・パスワードを指定する方法がわからないので、毎回入力する必要があります。
例としてWSS2008R2という仮想マシンのmoidがvm-3072だと仮定します(vCenter経由での接続の場合)。
1 2 3 4 |
"C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\4.1\vmware-vmrc.exe" -h <EvCenterサーバIP> -M <moid> (例) "C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\4.1\vmware-vmrc.exe" -h vCenterIP -M vm-3072 |
まだいろいろ調査中・・・
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
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 PerlでmoRefFinder.plを使用したり、
ESXiのコンソールからvim-cmd vmsvc/getallvms 等で調べられます。
(仮想マシンのmoidは、esxi直接続の場合は<数値>、vCenter経由の場合はvm-<数値>となるようです)
例としてWSS2008R2という仮想マシンのmoidが3072だと仮定します(esxi直接続の場合)。
仮想マシン指定(ユーザ名・パスワードは実行時に毎回入力)
1 2 3 4 |
vmrc.exe vmrc://[VC]/?moid=[VM-MOREF-ID] (例) C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe vmrc://192.168.0.241/?moid=3072 |
仮想マシン・ユーザ名指定(パスワードは実行時に毎回入力)
1 2 3 4 |
vmrc.exe vmrc://[USERNAME]@[VC]/?moid=[VM-MOREF-ID] (例) C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe vmrc://root@192.168.0.241/?moid=3072 |
仮想マシン・ユーザ名・パスワード指定
1 2 3 4 5 |
vmrc.exe vmrc://[USERNAME]@[VC]/?moid=[VM-MOREF-ID] vmrc.exe --host [VC] --user [USERNAME] --password [PASSWORD] --moid=[VM-MORED-ID] (例) C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe --host 192.168.0.241 --user root --password rootpassword --moid=3072 |
仮想マシン・チケット指定(毎回チケットを調べる必要があります)
1 2 3 4 5 6 7 8 9 10 |
チケットは以下から調べます。 https://<VC or ESXi>/mob/ ->content ->ha-sessionmgr ->AcquireCloneTicket から Invoke Method でチケットを表示 vmrc.exe vmrc://clone:[VC-TICKET]@[VC]/?moid=[VM-MOREF-ID] (例) C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe vmrc://clone:cst-VCT-5244c230-f59b-75c4-f4e9-4205d1918497--tp-DF-A9-72-7B-32-15-48-44-E0-E1-01-6D-F5-DB-59-E4-AC-35-F1-DA@192.168.0.241/?moid=3072 |
どちらかというと、VMware playerのコンソールと同じような画面構成です。
仮想マシンの構成変更まで出来るので、ある意味使い勝手はよさそうです。
(参考)
vSphere 5.x 環境で、スタンドアロンの VMware Remote Console (VMRC) をダウンロードしてインストールする方法 (2092065)
Standalone VMRC (VM Remote Console) re-introduced in vSphere 5.5 Update 2b
なんでこんなことをしらべているかというと・・・・・
Zabbixとうまく連動できないかなと思っていましたが、なかなか難しいです。