mercoledì 18 marzo 2015

Gestione VMWare ESXi da linux

Nel precedente post avevo parlato di quali soluzioni fossero disponibili per Mac OS X in relazione alla gestione di un server VMWare ESXi con risultati più che deludenti.
Adesso tocca a linux, nello specifico la macchina client usa Debian Wheezy.
Lasciamo subito perdere VMWare Workstation perchè offre le stesse funzionalità di VMWare Fusion, quindi la gestione è limitata solo alla possibilità di eseguire le VM installate su ESXi, che è sempre meglio di niente ma in ogni caso anche Workstation è ha pagamento.
Cercando in rete sono capitato qui, non so che lingua sia ma sembrerebbe comunque una risorsa quasi ufficiale di VMWare, un client web based, anche senza capire la lingua si vede che ci sono due download uno per il java di Oracle e poi un file tar per il vSphere Client.
Scarico il file tar, lo scompatto, eseguo lo script come da istruzioni, lancio il mio browser ( iceweasel ) aprendo l'indirizzo http://localhost:8080/host-client e ottengo subito come errore che la pagina non è stata trovata.
OK, il post accenna alla JVM di Oracle, e io ho installato la OpenJDK 1.6, che sia questo il problema ? 
Passo a installare la OpenJDK 1.7, basterebbe solo il JRE a dire la verità, e la imposto come predefinita.

sudo apt-get install openjdk-7-jdk openjdk-7-jre
sudo update-alternative --config java

Rieseguo lo script, apro l'indirizzo nel browser e ..... niente, che serva proprio quella di Oracle ?
Ma prima controllo cosa fanno i vari script, e trovo che in bin/setenv.sh c'è una riga che recita :
JRE_HOME=/usr/java/latest
probabile che la JVM di Oracle venga installata qui mentre sulla mia debian è in /usr/bin/java, in realtà è un link ma non importa, cambio quindi la riga in :
JRE_HOME=/usr
rilancio lo script, riapro il link nel browser e ..... che palle pure il plugin di flash deve creare problemi.
To view this page ensure that Adobe Flash Player version 11.5.0 or greater is installed.
Inutile dire che in linux il plugin è fermo ormai alla versione 11.2.
Ma io sono un duro, di comprendonio, e non mi arrendo e provo a installare chromium, browser che non amo per niente,
sudo apt-get install chromium chromium-l10n pepperflashplugin-nonfree
e questa volta aprendo il link in chromium si apre la pagina dove fare il login al server ESXi e posso gestire il mio server via web client.
Peccato che è lento come una lumaca, peccato che non c'è verso di avviare e gestire la VM in una console, ecco questa ultima cosa se le VM sono linux/unix con un accesso ssh, o telnet come per SCO Unix, non è un gran problema ..... ma per le macchine Windows ? o hai già abilitato desktop remoto o non ci combini una mazza.
Comunque qui la gestione è piuttosto completa e si possono esportare, importare e creare nuove VM, beh su quest'ultima possibilità ho qualche dubbio visto che se non si avvia la console non ho idea di come si possa poi gestire l'installazione della VM.
Tra le opzioni c'è proprio questa "open console", oppure c'è il link "launch console" sotto la miniatura della schermata della VM in esecuzione, solo che ne uno ne l'altro fanno qualcosa, che a spanne dovrebbe essere aprire una finestra con la VM dove poter lavorare, così come succede con il client in ambiente Windows.
A questo punto non è che ci vuole proprio la JVM di Oracle ?
Seguo questa guida, la installo, la imposto come predefinita e riprovo .... e non cambia nulla, aprire una console per lavorare con le VM non è fattibile e questo è ovviamente un grosso problema, soprattutto per le VM Windows e ancora di più se si vuole installare una nuova VM.
Allora decido di provare la funzionalità di esportazione delle VM ed esce un messaggio che mi dice che questa operazione può essere effettuata previa installazione di un determinato plugin e c'è il link per scaricarlo, magari serve pure per aprire questa benedetta console.
Provo a scaricarlo e chromium invece mi apre una nuova finestra del browser con il contenuto del plugin, decido di non insistere e da un terminale ricorro a wget per scaricare il plugin.
wget http://vsphereclient.vmware.com/vsphereclient/1/8/8/7/2/7/0/VMware-ClientIntegrationPlugin-6.0.0.x86_64.bundle
chmod +x  VMware-ClientIntegrationPlugin-6.0.0.x86_64.bundle
In fase di installazione chiede la path per firefox, la cartella plugin di questo e stesse domande per il browser google chrome.
Google Chrome mmmh .... io ho Chromium cambierà qualcosa ?
Forse visto che al termine dell'installazione avvio il browser e del plugin non c'è traccia, nemmeno eseguendo il browser con l'opzione -enable-plugins cambia qualcosa.
Installiamo anche Google Chrome allora, e reinstalliamo anche il plugin.
Niente da fare, a questo punto una ricerca in rete mi porta alla tragica, quanto ridicola notizia, che questo plugin non è compatibile con le versioni a 32 bit di firefox e chrome, e quindi presumo anche chromium.
Prima di arrendermi faccio un ultimo tentativo, scarico il .deb per i386 di Google Chrome ed eseguo :
sudo apt-get purge google-chrome-stable
sudo dpkg --add-architecture i386
sudo apt-get update
sudo dpkg -i google-chrome-stable_current_i386.deb
sudo apt-get install -f
Ma non si vuole installare perchè gli serve xdg-utils che non avendo il supporto multi-arch non viene riconosciuto anche se è effettivamente installato, tra l'altro è un pacchetto unico per tutte le architetture.
In conclusione, nonostante questo web client sia quello più funzionale, resta il problema che il plugin non si installa e quindi mancano funzionalità fondamentali per poter gestire il server ESXi, quindi l'unico sistema veramente funzionale è il client per Windows, è un vero peccato che un colosso come VMWare tenga in così poca considerazione gli utenti linux, che proprio pochi non sono.
Beh per assurdo potrei anche provare a installare una VM Debian a 32 bit in VirtualBox per poi provare il web client con il plugin, un pò da mentecatto come soluzione.





giovedì 5 marzo 2015

Gestione VMWare ESXi da Mac OS X

Per prima cosa c'è da dire che la versione free di VMWare ESXi non fornisce il web client per cui in ambiente Windows ci si deve affidare a vSphere Client che per le mie esigenze va più che bene nonostante manchino alcune features che sono implementate solo nel web client, onestamente non so quali ma così ho letto in giro.
Però se non uso Windows come posso fare ?
Per prima cosa ho provato a usare VMWare Fusion per collegarmi al server ESX, questa funzionalità è presente anche in VMWare Workstation.
Dopo aver indicato l'indirizzo IP del server ESXi ed essermi loggato vengono visualizzate le VM installate ed è possibile accedere alle impostazioni oppure metterle in esecuzione con output in una finestra, in pratica come se la VM fosse installata in locale.
Alcune limitazioni ci sono però, per esempio non è possibile spegnere la VM ma solo sospenderla, quindi se la VM, per esempio uno SCO Unix che non supporta ACPI/PM per lo spegnimento, resterà o sempre accesa, se resta acceso il server, o andrà sospesa ..... sistemi operativi più moderni ovviamente non hanno questo problema.
Per il resto c'è da dire che è possibile anche connettere CD/DVD o chiavette USB alla VM remota, proprio come si farebbe con una VM locale.
Un problema strano lo ho avuto invece con le guest addition, nella VM Windows XP di prova andando sull'icona veniva evidenziato il messaggio che era possibile aggiornarle ma facendo poi la procedura di installazione, dal menù di Fusion, veniva poi riportato che la versione installata era superiore a quella fornita da Fusion, la VM era in origine stata creata con Workstation 10 mentre Fusion è alla versione 7, l'ultima quindi, per cui non capisco come mai ci sia questo problema.
Ovviamente non è possibile creare o cancellare le VM quindi non si può parlare di vera e propria gestione, inoltre c'è da notare che il mio primo tentativo di collegarmi al server benchè sia avvenuto il login non mi permetteva di fare nulla con le VM, questo perchè l'ultima volta che avevo spento il server avevo messo ESXi in stato di "manutenzione", cosa che non viene segnalata da Fusion ne tanto meno gestita, quindi per concludere oltre a essere a pagamento Fusion non permette di fare grandi cose se non limitarsi all'uso della VM remota.

Orbit, così si chiama questo programma multipiattaforma che dovrebbe permettere una anche minima interazione con il server.
Purtroppo dopo aver fatto il login, vengono visualizzate le VM e alcune informazioni però nel momento in cui provo a premere il pulsante per avviare la VM non succede nulla e questa resta sempre "Powered Off".
E' vero che sul sito si parla di vSphere 4 quindi piuttosto vecchio rispetto a quella installata ma speravo almeno di poter avviare/stoppare le VM.

Per linux c'è la VMWare Workstation e immagino che farà ne più ne meno quello che fa Fusion su Mac OS X anche a livello di gestione remota di VM su server ESXi, sarà comunque oggetto di una prova e relativo post.
Resta il fatto che la versione free di ESXi non fornendo il web client, che immagino, spero, sia funzionale anche in linux/Mac OS X e non solo in Windows ci costringe a usare il client che esiste solo per Windows per poter fare una gestione delle VM.
Alla fine la soluzione è installare VirtualBox, che è gratis, e crearsi una VM Windows, installarci il client vSphere e collegarsi al server ESXi.
Certo che da un colosso come VMWare mi aspetterei un pò più di attenzione anche verso altri OS e non solo Windows, è ben vero che anche il client Windows oramai è in secondo piano rispetto al web client ma almeno qualcosina per Mac e linux potevano farla, soprattutto per chi per studio o per diletto usa la versione free di ESXi.