martedì 14 aprile 2015

Virtualizzare con ProxMox

ProxMox è un ambiente di virtualizzazione che si basa su una distribuzione Debian e usa KVM e Linux Container per fornire i propri servizi di virtualizzazione.
Una volta installato il sistema scaricando la relativa ISO si gestisce il server tutto attraverso un'interfaccia web, quindi non serve nessun software lato client e quindi non siamo vincolati a Windows, come spesso accade con altri sistemi.
Come detto si accede al server puntanto il browser al relativo indirizzo in questo modo :
https://192.168.1.100:8006
ovviamente l'IP sarà quello della vs. rete.
Di default l'interfaccia web è in inglese ma si può fin da subito scegliere anche l'italiano come lingua predefinita.
A ogni login appare il messaggio "no valid subscription", perchè immagino si possa avere anche una licenza commerciale con relativa assistenza, ma basta dare OK e andare avanti.
La prima cosa da fare è configurare uno storage da dove pescare le ISO di installazione, io ho usato una share SMB configurandola seguendo le istruzioni qui indicate, ammetto che avrei preferito si potesse fare direttamente attraverso l'interfaccia web.
Purtroppo fatta questa operazione nell'area di storage appena creata il contenuto è vuoto, nessuna delle ISO presenti viene visualizzata.
Per capire come la cosa funzioni ho usato la funzione "carica" per leggere una ISO dal PC client e caricarla sul server, e qui la cosa si fa un pò strana, infatti il file viene caricato, c'è una barra di progressione che indica il procedere del lavoro, ma nella share non appare nulla, c'è una cartella che si è creata quando ho creato l'area di storage che si chiama "template/iso" che però risulta vuota, al termine del caricamento un pò alla volta si sta copiando l'ISO in questa cartella.
Quindi prima viene caricata da qualche parte e poi spostata in questa cartella, perchè non copiarla subito qui ? anche perchè questa fase di copia sembra piuttosto lenta.
Scoperto che le ISO le vuole in questa cartella template/iso mi sposto a mano le ISO già caricate qui dentro e appaiono per magia nell'area di storage.

Creazione di una nuova VM.
Per creare una nuova VM basta premere il pulsante "Crea VM", intuitivo vero ?
Parte un wizard che ci guida nella creazione della VM, la prima cosa da notare è che il nome che daremo alla VM non può contenere spazi, onestamente è un dettaglio che non mi piace molto ma così è.
Nel passo successivo andiamo a scegliere quale OS stiamo installando, ci sono tutte le versioni di Windows dal 2000 al 8/Server 2012, linux, solaris e un generico altro.
Il primo tentativo lo faccio con l'installazione di Debian Wheezy quindi scelgo l'opzione "linux 3.x/2.6", non c'è distinzione tra 32 e 64 bit.
Poi seleziono l'immagine ISO da usare, configuro l'immagine disco da creare e altri parametri come numero di CPU e quantità di RAM.
Quando si tratta di configurare la rete vedo che anche in questo caso tra i modelli supportati manca la classica PC-Net, sicuramente sarà un problema con SCO e OpenBSD. Oltre alla Realtek 8139, già vista con XenServer, qui c'è anche la Intel E1000 che spero sia già supportata bene da OpenBSD, mentre per SCO sarà un problema installare il driver, che però dovrebbe esistere.
Ma per quest'installazione di Debian proverò il driver VirtIO che dovrebbe offire le prestazioni migliori.
Terminata la creazione della VM non viene chiesto di avviarla per cui procedo cliccando con il tasto destro sulla VM appena creata e scelgo "Start", poi accedo alla "Console", sempre dal solito menù.
Anche qui, come con XenServer, la videata di grub non accetta input dalla tastiera che comincia a funzionare solo quando, dopo qualche secondo, parte l'installer chiedendo l'impostazione della tastiera.
A questo punto parte la solita installazione di Debian, noto che l'iterazione con la console è molto più veloce che non quella fornita da XenServer, qui è una nuova finestra del browser e anche il processo di installazione sembra più veloce.
L'installazione di Debian, benchè minimale, non ha dato nessun problema.
Ho provato OpenBSD e usando la scheda di rete Intel E1000 non ho incontrato i problemi visti con la Realtek con XenServer, installazione senza problemi e rete funzionante.
Ho installato anche NetBSD, in questo caso sia per il disco che per la rete ho usato VirtIO e tutto a funzionato a dovere.
Non potevo esimermi dal provare ad installare SCO OpenServer, nella versione 5.0.7, e devo dire che anche in questo caso le cose sono andate piuttosto bene, ovviamente non funziona la rete perchè sul CD di installazione non è presente il driver per gestire la Intel E1000 che ho usato per la VM, ma dovrebbe esserci la possibilità di recuperare il driver sul sito di SCO.
Andando qui è possibile scaricare un CD di aggiornamento che tra le altre cose prevede il driver per questa scheda, a questo punto scaricata la ISO e messa nell'area di storage la ho agganciata alla VM SCO e ho proceduto con l'installazione dei driver aggiornati e successivamente alla configurazione della rete.
L'unico problema incontrato con l'utilizzo della console è che ogni tanto digitando i caratteri viene fuori anche qualche serie di 7 rendendo ovviamente il comando digitato inutilizzabile, non credo sia un grosso problema perchè una volta installato SCO ci si collega poi via SSH.
Ultima nota, l'installazione è solo a carattere non ho provato a installare e usare la gui con SCO, onestamente non la ho mai usata neanche su hardware reale proprio perchè è un sistema operativo server dove un desktop non ha nessuna utilità.
Devo dire che fino ad ora ProxMox, grazie anche a KVM per l'emulazione, mi ha fatto proprio una bella impressione, ricordo che con XenServer non c'è stato verso di farlo andare SCO.
Per ultimo ho lasciato Windows 2003, su questo voglio provare, come fatto con NetbSD, a installarlo usando VirtIO sia per il disco che per la rete, ovviamente Windows non ha i driver integrati per questo tipo di periferiche e bisogna installarli usando la ISO che si trova qui.
Quindi dopo aver creato la VM di base, prima di avviarla, vado ad aggiungere un secondo lettore CD, così uno sarà per la ISO di installazione, e il secondo per la ISO con i driver VirtIO.
Il problema che incontro subito è che Windows richiede di premere il tasto F6 per accedere a driver di terze parti, ma il tasto F6 anche a premerlo non fa nulla e l'installazione poi procede e va in errore perchè non rileva nessun disco.
A questo punto rimuovo il disco VirtIO e creò un classico IDE per l'installazione e mi limiterò a usare VirtIO solo per la rete.
Al termine dell'installazione ho agganciato al CD l'ISO con i driver e installato la rete che infatti ha cominciato poi a funzionare.
Ho provato anche con Windows 2008 e sebbene sia stato possibile dirgli di caricare il driver VirtIO per il disco in fase di installazione arrivava sempre l'infame schermata BSOD ad ogni tentativo quindi almeno dalle mie prove sembra che Windows come sempre faccia qualche capriccio di troppo.
Alla fine, non so se per puro caso o altro, ho provato a installare solo i driver per la rete e il disco escludendo quello che si chiama "Balloon driver" e così facendo sono riuscito con l'installazione, quindi era quest'ultimo a mandare in crash.
Questo potrebbe dipendere dal fatto che ho indicato 2 giga fissi di RAM per questa VM mentre il "Balloon driver" serve per la gestione dinamica della stessa e quindi avrei dovuto, forse, indicare che la VM poteva usare un range tra i 2 e i 4 giga per esempio.
Al termine dell'installazione però la rete non funzionava e per qualche motivo il driver VirtIO per la scheda di rete non si caricava, non quello della cartella Win7/2008, però usando quello per Vista invece è andato. Boh.
Ho provato a installare anche OpenIndiana purtroppo quando si è avviato il sistema live con la GUI il mouse non veniva rilevato e quindi non mi è stati possibile procedere con l'installazione.

Difetti e/o mancanze.
La gestione via WEB di ProxMox ha alcune pecche a mio avviso.
Per quanto possa sembrare banale il fatto che le VM non possano avere spazi nel nome secondo me ne limita la leggibilità del nome assegnato, ma quello che è peggio è che nel nome c'è sempre il prefisso numerico dell'ID assegnato e quindi non c'è un ordinamento alfabetico delle stesse. Certo essendo l'ID modificabile nel momento in cui si crea la VM si può sempre decidere di adottare una certa logica tipo dal 100 al 150 per le VM Windows e via dicendo, ma avrei preferito l'ordine alfabetico.
Manca poi la possibilità di gestire delle note per le VM create.
Nell'area di storage delle immagini delle VM il nome è costruito sulla base dell'ID, anche qui avrei preferito venisse usata la descrizione in modo che fosse più immediato a quale VM appartenga un'immagine.
Non sono mancanze fondamentali però a parer mio migliorerebbero la gestione.
Il fatto che non esista una procedura di import/export delle VM non è poi un grandissimo problema visto anche come funzionano in altri ambienti di virtualizzazione.
In realtà, operando manualmente, dovrebbe essere possibile importare un'immagine in formata VMDK, quello di VMware, è convertirla nel formato nativo di qemu, che comunque dovrebbe gestire anche il VMDK, poi se il risultato è una VM funzionante è tutto da vedere, sopratutto per le VM Windows.

Conclusioni.
In generale devo dire che sono rimasto soddisfatto di ProxMox, purtroppo i miei test non sono stati molto approfonditi e non ho fatto nessun test di prestazione tra VM con e senza VirtIO per vedere gli effettivi benefici di quest'ultimo.
La macchina di prova poi non è un mostro di potenza, però se riesco a sistemare un PC più decente, almeno un i5 anche se di prima generazione, vorrei poterci dedicare più tempo per approfondire meglio il tutto.
Non ho affrontato la gestione dei "linux container" perchè non ho proprio idea di cosa siano di preciso, e mi piacerebbe approfondire l'argomento in futuro.
Certo è che in raffronto a XenServer, secondo me, ProxMox vince alla grande, probabilmente VMWare ESX resta inarrivabile oggi come oggi, comunque mi riprometto di riaffrontare la tematica e l'uso di ProxMox in maniera più prolungata e approfondita, tempo e mezzi permettendo.



Nessun commento:

Posta un commento