Edited at

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

More than 3 years have passed since last update.


はじめに

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

vSphere+emeded+chrome.png

今回紹介するのは、ESXi用HTML5組み込みクライアントとも言える「ESXi Embedded Host Client

2015/12/20にv4.0がリリースされて、かなり良い感じになったので紹介したいと思います。

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

サイトの紹介イメージ


Screen-Shot-2015-08-25-at-19.19.51-1024x705.png

これまで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ではこんな感じ)


    ESXi_Embedded_Host_Client_–_VMware_Labs1.png


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

    ESXi_Embedded_Host_Client_–_VMware_Labs2.png


多分こんな感じの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のコンソール)
    VMware_ESXi_6_DCUI.png


    • ついでに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」となった事を確認
    VMware_ESXi_6_DCUI4.png

  5. 確認出来たら、ESCキーを2回押下して終了します


SSH接続


  1. ターミナルを開いてSSH接続を確認します



    • 192.168.76.131の部分は確認したESXiへアクセスするIPアドレスを入れます




ターミナルで実行

$ ssh -p 22 root@192.168.76.131



実行結果

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アドレスを入れます
    VMware_ESXi_-_Log_in.png


  2. User namePasswordを入力してLog inボタンをクリック

  3. ログイン出来ればインストール成功です
    VMware_ESXi_-_localhost_localdomain.png


使ってみよう!


仮想マシン作成



  1. Create/Register VMボタンをクリックするとウィザードが立ち上がります。
    VMware_ESXi_-_localhost_localdomain-createvm1.png



    • 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ボタンをクリック
    VMware_ESXi_-_localhost_localdomain-createvm2.png

  4. 仮想マシンをインストールするデータストアを選択してNextボタンをクリック
    VMware_ESXi_-_localhost_localdomain-createvm3.png

  5. 仮想マシンのハードウエア設定やオプションの設定変更してNextボタンをクリック
    VMware_ESXi_-_localhost_localdomain-createvm4.png

  6. 最後に設定内容を確認してFinishをクリック
    VMware_ESXi_-_localhost_localdomain-createvm5.png

  7. 空の仮想マシンを作るだけなので、タスクを見ても一瞬で完了しています
    VMware_ESXi_-_localhost_localdomain6.png


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


  1. 空の仮想マシンへOSをインストールしていくのですが、仮想マシンを右クリックしてConsoleメニューからOpen browser consoleを選択してクリックします
    VMware_ESXi_-_localhost_localdomain1.png

  2. するとブラウザの中で、オーバーレイした形でコンソールが立ち上がります(Web Clientみたいにプラグインを入れる必要無し!※再掲)
    VMware_ESXi_-_localhost_localdomain2.png

  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を入れると下記の様に殆どの操作でエラーが出ます。。。

VMware_ESXi_-_localhost_localdomain_License_error.png

とりあえず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も飲み込んで欲しいなと思っています。


参考文献