Android VM/App is the best management method

A project log for The HYDRA multiheaded virtual computer

The HYDRA is a computing platform using a small footprint Hypervisor to run 1-6 (or more) hardware assisted virtual machines of any x86 OS

ericeric 08/03/2015 at 19:400 Comments

VMWare ESXi being a Datacenter Hypervisor, the management available from VMWare is the VSphere Client, which needs to run from another PC. Or from a VM on your host, but you still need another PC to get that up and running. You can do it from the console, but probably not without another PC to Google yourself through it. And the VSphere Client has many options an end-user does not need, and some an end-user should NOT have access to.

If this is ever going to be a end-user friendly system, I needed some other interface. A VM with the VSphere Client requires Windows, and a license.....So I can't "include" a mgmt VM without the whole OEM M$ etc....

So the VSphere Client is of course available from VMWare for those that are comfortable with it. But I needed a simpler management interface that would be always available without extra hardware, needs to communicate via SSH or Serial to send the vim-cmd commands to the Host, and needs to be able to VNC into a VM screen (for building or troubleshooting VM's).

First I was using an HP Lights Out card as the primary adapter. You could remote in and mount ISO's, and power the system on/off. The colors on the DCUI were all messed up, but it worked.

Then I wrote an Android App that would run on a cheapo tablet that I would include. It needed WiFi, so I ran a VM running a soft-AP using a Ralink USB. They don't last very long, not surprising considering the source & price ($4). And when the radio dies, you're stuck with VSphere. But it would VNC into a booted VM, so you could get out of "startup repair" if needed.

Then I wrote a Python Menu, as an installable VIB. This always worked for enumerating existing VM's and controlling their power & snapshots. No VNC from the console, even tried some frame-buffer VNC without success. This code is probably useful somewhere though....

Then I found I could "steal" the primary GPU from the Host, and give it to a VM. It would not work with the ILO card, so it took me a while to discover this. The ESXi screen freezes, and the VM using the GPU appears at the console when booted. No text mode, so you can't troubleshoot a non booting VM from here. (so whatever I run here needs to be RELIABLE) But, this is a PCI (not PCIe) card, and all PCI slots in the Host can only be assigned to 1 VM (so these slots are kind of useless anyway). I have these populated with a Geforce FX5200 & a USB card. I connected a touch screen monitor and am running Android x86 ICS with these 2 PCI cards. Now I can run the Android App from an autostarting VM on every boot. A nice touch screen interface requires no keyboard or mouse. The VM with the App can be "frozen" at a working state and return to the snapshot on every boot. The same App could also be on a phone or tablet the EU already has - or not. I could potentially modify the install ISO to include my App and run it live. I could also put the cheapo Ralink in the free USB and run an Android Tether soft AP in case there is no existing AP. The DCUI can be accessed over SSH, so that's not gone. No M$ license needed either. This seems to be the best EU friendly management interface and I am finally satisfied with it.

Now I'm re-writing the App.....