ESXi Embedded Host ClientでESXi基本操作をブラウザ上で実現する!(ESXi用組み込みクライアント)


はじめに

みんな大好きVMware Labs Flings(VMwareのエンジニアが、実験的なプロジェクトの成果物公開をしているサイト)から、便利だと思ったプロダクトを紹介します。

今回紹介するのは、ESXi用HTML5組み込みクライアントとも言える「ESXi Embedded Host Client
2015/12/20にv4.0がリリースされて、かなり良い感じになったので紹介したいと思います。

環境を作ると、ブラウザからhttps://[ESXiのIPアドレス]/uiへアクセスする事で、下記の様な画面でESXiに対する一通りの操作がWebGUIから出来る様になります。

サイトの紹介イメージ

これまでESXi単体に対して操作する際は、CLIやAPI経由、もしくはWindows版(C#版)のvSphere Clinetをインストールする必要がありましたが、これがあればブラウザだけでも一通りの操作が出来ます。
(独自にWebGUIを作成されている強者な方もいらっしゃいますが→VMware ESXiをSSHでがんばるぞい(コマンドライン操作色々)

自分的には、HTML5で実装されているというGUIの操作感は一見の価値ありです。
vCenter Server付属のWeb Clientのもっさり感にフラストレーションが貯まっている人は感動する事間違いなし。

  • 注意
    • Flingsのプロダクトなのでサポート等は無いです
    • 一部バギーな所があってエラーとか出ますが泣かない事

構築環境

  • クライアントOS : Mac OS X El Capitan 11.11.2
  • クライアントブラウザ : Google Chrome 47.0.2526.106 (64-bit)
  • SSHクライアント : OS X標準のターミナル.app
  • ESXi : VMware ESXi 6.0.0 build-3073146
    • 今回はVMware Fusion 8 Pro上のNested ESXiとして用意

事前準備

環境構築

ESXi Embedded Host Clientのサイトを確認

  1. ESXi Embedded Host Client」をブラウザで開きます。
  2. System Requirements」タブへ移動すると、対応するESXiバージョンおよび、ブラウザバージョンが記載されています。
    検証する環境が対象に含まれているか確認します。(v4.0ではこんな感じ)

  3. 確認したら「Summary」タブへ移動して、ページ下部の「ESXUI offline bundle for 6.x」を右クリックしてリンクアドレスをコピーを選択

多分こんな感じのURLがクリップボードに入ります。

http://download3.vmware.com/software/vmw-tools/esxui/esxui-offline-bundle.6.x.zip

ESXiへSSHアクセス出来る状態にする

  1. DCUI(Direct Console User Interface)へアクセスします(今回の環境だとVMware Fusionのコンソール)
    • ついでにDCUIに表示されているESXiへアクセスするIPアドレスも確認しておきます
    • 上記の場合は192.168.76.131がESXiへアクセスするIPアドレスになります
  2. DCUIにてF2キーを押下すると「Authentication Required」ポップアップ表示されますので、Login Namerootと入力し、Passwordへ対応するパスワードを入力後、Enterを押下して、「 Customize System/View Logs」へアクセスします。
  3. メニューからTroubleshooting Optionsを選択してEnterを押下
  4. メニューからEnable SSHを選択してEnterを押下し、表記が「SSH is Enabled」となった事を確認
  5. 確認出来たら、ESCキーを2回押下して終了します

SSH接続

  1. ターミナルを開いてSSH接続を確認します
    • 192.168.76.131の部分は確認したESXiへアクセスするIPアドレスを入れます
ターミナルで実行
$ ssh -p 22 [email protected]
実行結果
The authenticity of host '192.168.76.131 (192.168.76.131)' can't be established.
RSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.76.131' (RSA) to the list of known hosts.
Password:
The time and date of this login have been sent to the system logs.

VMware offers supported, powerful system administration tools.  Please
see www.vmware.com/go/sysadmintools for details.

The ESXi Shell can be disabled by an administrative user. See the
vSphere Security documentation for more information.
[root@localhost:~]

ESXi Embedded Host Clientのインストール

  1. ESXi Embedded Host Clientのサイトで確認したURLを元にファイルをダウンロード

    ターミナルで実行
    [root@localhost:~] wget -P /tmp/ http://download3.vmware.com/software/vmw-tools/esxui/esxui-offline-bundle.6.x.zip && ls -lt /tmp/
    
    実行結果
    Connecting to download3.vmware.com (23.67.163.51:80)
    esxui-offline-bundle 100% |******************************************************************************************|  2764k  0:00:00 ETA
    total 2780
    -rw-r--r--    1 root     root       2830737 Dec 29 10:42 esxui-offline-bundle.6.x.zip
    -rw-------    1 root     root            40 Dec 29 10:40 probe.session
    drwx------    1 root     root           512 Dec 29 10:00 vmware-root
    [root@localhost:~] 
    
  2. ダウンロードしたプロダクトをインストール

    ターミナルで実行
    [root@localhost:~] esxcli software vib install -d /tmp/esxui-offline-bundle.6.x.zip
    
    実行結果
    Installation Result
       Message: Operation finished successfully.
       Reboot Required: false
       VIBs Installed: VMware_bootbank_esx-ui_0.0.2-0.1.3357452
       VIBs Removed:
       VIBs Skipped:
    [root@localhost:~]
    
  3. インストールされたか確認

    ターミナルで実行
    [root@localhost:~] esxcli software vib list | grep esx-ui
    
    実行結果
    esx-ui                         0.0.2-0.1.3357452                     VMware  VMwareCertified   2015-12-29
    
  4. 一時ファイルの削除

    ターミナルで実行
    [root@localhost:~] rm -rf /tmp/esxui-offline-bundle.6.x.zip
    

インストール結果を確認

  1. ブラウザを開いてhttps://192.168.76.131/uiへアクセス。192.168.76.131の部分は確認したESXiへアクセスするIPアドレスを入れます
  2. User namePasswordを入力してLog inボタンをクリック
  3. ログイン出来ればインストール成功です

使ってみよう!

仮想マシン作成

  1. Create/Register VMボタンをクリックするとウィザードが立ち上がります。
    • Create a new virtual machineでは、このままウィザードに沿って仮想マシンの作成が出来ます
    • Deploy a virtual machine from an OVF or OVA file では、ドラッグ&ドロップでOVF、OVA形式の仮想マシンをアップロードして仮想マシンの作成が出来ます(Web Clientみたいにプラグインを入れる必要無し!)
    • Register an existing virtual machineでは、データストア内のvmxおよびvmdkを含む仮想マシンイメージからインベントリへの登録が出来ます
  2. 今回は、Create a new virtual machineを選択してNextボタンをクリック
  3. 仮想マシン名やインストールするOSバージョンを選択してNextボタンをクリック
  4. 仮想マシンをインストールするデータストアを選択してNextボタンをクリック
  5. 仮想マシンのハードウエア設定やオプションの設定変更してNextボタンをクリック
  6. 最後に設定内容を確認してFinishをクリック
  7. 空の仮想マシンを作るだけなので、タスクを見ても一瞬で完了しています

仮想マシンコンソールをプラグイン無しで開く(HTML5クライアント)

  1. 空の仮想マシンへOSをインストールしていくのですが、仮想マシンを右クリックしてConsoleメニューからOpen browser consoleを選択してクリックします
  2. するとブラウザの中で、オーバーレイした形でコンソールが立ち上がります(Web Clientみたいにプラグインを入れる必要無し!※再掲)
  3. あとはISO等でOSイメージをマウントしてOSインストールが出来ます

一旦ここまで

既知の問題

最後の最後に重大な問題について共有します。
ESXi Embedded Host Clientのサイトから、Know Issuesの部分を抜粋して持ってきました。

  • Known Issues
    • On ESXi hosts which are assigned a VMware vSphere Hypervisor license, all modification operations will fail silently. We are working on a solution to this issue.
    • On ESXi hosts which have a sub-domain name with large, shared cookies a web console session may fail to initialize. A workaround is to clear cookies or run the host client in an incognito-type window.
    • For ESXi 5.5U2 and prior, and ESXi 6.0 hosts upgraded from any 5.5U2 or prior version, you will get a 503 error returned after visiting https:///ui/. To resolve this issue, please remove the line starting with /ui from /etc/vmware/rhttpproxy/endpoints.conf and restart rhttpproxy with /etc/init.d/rhttpproxy restart
    • For ESXi 5.5 hosts, in-browser consoles are not supported. Please use VMRC to access guest VM consoles.
    • For ESXi 5.5U2 and prior hosts, you must ensure to append a trailing / (forward slash) to the URL after /ui. The URL must be https:///ui/
    • For some Windows guests, sending Ctrl-Alt-Del does not work.

1行目に思いっきり書いてある通り、現時点で 無償版のVMware vSphere Hypervisor licenseでは使えない という問題があります。  
ちなみにVMware vSphere Hypervisor licenseを入れると下記の様に殆どの操作でエラーが出ます。。。

とりあえずEvaluation Modeの期間で検証してくださいという事ですね。 
この点が改善されるまでは VMware ESXiをSSHでがんばるぞい(コマンドライン操作色々) の方が自由度は高そうですね。
とは言え、Know Issuesの文面的には、この問題は改善される様なので期待しています。

さいごに

自分が「これは良いな」と思うポイントは下記の通りです。

  1. 動作が機敏
    • 特に右クリックの追従速度はvSphere Clinet(C#)と遜色ないんじゃないでしょうか
  2. プラグイン不要なコンソール接続
    • プラグインが起動してくるのを待つ必要も無く、コンソール接続までのタイムラグがほぼ無い点で考えるとvSphere Clinet(C#)すら越えているかと思います
  3. プラグイン不要なOVF/OVAデプロイ
    • Web Clientのプラグインはブラウザがバージョンアップすると暫く使えなくなったりするので、直感的に使えて良いなと感じました

他にもWeb Clientには無くてESXi Embedded Host Clientには有るユニークな機能等ありますが(当然逆も沢山あります)それは各自お試しください。

個人的には、Flex(Flash)で書かれているWeb ClientよりもHTML5を中心に書かれているESXi Embedded Host Clientの方が好きなので、このままWeb Clientも飲み込んで欲しいなと思っています。

参考文献