VMware: dall’installazione del nodo di management all’allocazione delle risorse sulle VMs

Nella puntata precedente abbiamo iniziato a valutare e costruire la nostra infrastruttura basata su software di virtualizzazione VMware. La complessita e andata crescendo a mano a mano che ci si addentrava nei dettagli dell'ideazione e dell'effettiva applicazione in farm. Procediamo quindi oltre per arrivare alla struttura funzionante. Questo articolo e offerto da Noamweb La Noamweb nasce nel 2001 specializzandosi in soluzioni di hosting, housing e registrazione domini per professionisti del settore, quali programmatori, webmaster, SEO e rivenditori, mettendo a loro disposizione attrezzature di altissima qualita, e offrendo una vasta gamma di servizi studiati appositamente per le loro esigenze.

Nella puntata precedente abbiamo iniziato a valutare e costruire la nostra infrastruttura basata su software di virtualizzazione VMware. La complessità è andata crescendo a mano a mano che ci si addentrava nei dettagli dell’ideazione e dell’effettiva applicazione in farm. Procediamo quindi oltre per arrivare alla struttura funzionante. 

Questo articolo è offerto da Noamweb

La Noamweb nasce nel 2001 specializzandosi in soluzioni di hosting, housing e registrazione domini per professionisti del settore, quali programmatori, webmaster, SEO e rivenditori, mettendo a loro disposizione attrezzature di altissima qualità, e offrendo una vasta gamma di servizi studiati appositamente per le loro esigenze.

Installazione di un nodo fisico per la gestione della struttura

Installazione di un nodo fisico per la gestione della struttura

E’ arrivato il momento di gestire tutta l’infrastruttura per cui dobbiamo installare un nodo (fisico) contenente il demone che monitorerà lo stato dell’intero cluster e prenderà decisioni in merito al balancing ed all’high availability.

Purtroppo incontriamo quello che, a mio avviso, è ancora un punto debole per quanto riguarda VMWare Infrastructure, ovvero il software di management gira esclusivamente su Windows in quanto a servizio. Ciò non dovrebbe essere determinante non fosse altro che, come ben sappiamo le macchine targate Microsoft non brillano per uptime dato che spesso, ad aggiornamento di sistema avvenuto è necessario il reboot.

vCenter.gif

vCenter: il centro di gestione di VMware, ulteriori migliorie previste per vSphere 4, di prossima realizzazione. 

Potrebbe sembrare un punto secondario ma il nodo di management è anche quello che consente di accedere in remoto alla console della propria VM e montare un CD in remoto. Queste operazioni vengono effettuate per interventi molto importanti e se il nodo di management va giù, il danno potrebbe essere ingente per il cliente finale. Non ultimo, per esperienza personale, ho visto il servizio andare down spontaneamente senza apparenti motivazioni e senza che vi fosse un messaggio di log comprensibile. Con l’aumentare di nodi e virtual machines il problema si acuiva sempre più, tanto da dover suddividere i cluster gestiti da più nodi di management (ognuno per un determinato numero macchine).

L’importanza della struttura di management di VMware e sua organizzazione

L’importanza della struttura di management di VMware e sua organizzazione

Il punto critico, oltre ai forti disagi, sta nel fatto che nel momento in cui il nodo di management “cade”, non esiste più l’agente che fa balancing migrando le VM “a caldo” ma, peggio ancora, si perde completamente l’high availability per cui se un nodo hardware dovesse avere problemi, le VM in esso contenute rimarrebbero down senza possibilità di intervenire dall’esterno.

Data questo “punto debole” è necessario evitare di sovraccaricare troppo il nodo di management non facendogli gestire troppi cluster virtuali. Se possibile, anzi, è meglio suddividere i carichi tra più nodi di management. Purtroppo questo fa salire i costi di infrastruttura poiché un intero nodo fisico viene dedicato “solamente” a funzioni di gestione ma non è davvero molto rischioso accentrare tutta l’infrastruttura su una sola macchina Windows.

Per esperienza diretta, durante il ciclo di vita di una struttura del genere (che dovrebbe essere di molti anni), è impensabile credere di poter mantenere il nodo (o i nodi) di management iniziale con una manutenzione minima. Anche se statisticamente improbabile, se molti utenti montano CD-ROM in remoto si può arrivare al blocco del servizio. Inoltre, essendo il protocollo di comunicazione con i clients basato su standard XML, le comunicazioni stesse risultano essere un po’ prolisse e facilmente manipolabili. Al momento in cui scrivo, tutte le vulnerabilità con cui avevo “giocato” in fase di test sono state fixate. Ma rimango dell’idea che l’intera struttura di management dovrebbe essere migliorata.

E’ importante, comunque, proteggere al massimo i nodi di management rispetto alla rete esterna perchè anche un solo nodo compromesso può avere effetti davvero disastrosi sulle virtual machines, come facilmente immaginabile.

Come vengono allocate le risorse in VMware ESX

Come vengono allocate le risorse in VMware ESX

Affrontato il discorso legato al management, diventa importante capire come una virtual machine lavora all’interno dell’ambiente stesso di virtualizzazione. Il primo punto è la CPU. Solitamente tutte le virtual machine vedono la CPU nella sua “interezza” credendo di poterne disporre a piacimento. In realtà, non sempre le cose stanno così.

In effetti la CPU è uno degli elementi più facilmente condivisibili poiché solitamente nell’arco del periodo di lavoro, un calcolatore ha soltanto dei picchi alternati ad un certo periodo di idle. Per questo motivo è statisticamente difficile che la cpu sia in parte impegnata da altre virtual machine o se lo è, la cosa è del tutto trascurabile. Se però una virtual machine appartenente allo stesso cluster è particolarmente CPU intensive, VMware deve decidere a chi dare precedenza e lo fa tramite i “cicli minimi garantiti” della Virtual Machine che sono espressi in percentuale rispetto alla CPU fisica.

In questo modo, viene garantito un “minimo vitale” anche in caso di forti carichi, ma, evidentemente, le virtual machine scon maggior tetto minimo risentiranno meno dei rallentamenti sul calcolo. Raramente questo diventa un punto critico e comunque il nodo di management è in grado di individuare VM piuttosto “esose” in termini di CPU e tende a spostarle su nodi relativamente scarichi ove possibile.

Il discorso riguardante la RAM è invece un po’ più complesso. Come accennavamo nella puntata precedente, la RAM delle virtual machine può corrispondere o meno a RAM fisica in base al minimo garantito (sempre espresso in percentuale). Il fatto è che settare al 100% la RAM come RAM fisica garantisce massime prestazioni per quanto riguarda la VM stessa ma rende molto dispendioso l’HA perchè parecchia memoria del cluster deve essere lasciata libera ed inutilizzata per coprire un eventuale failure. Inoltre, VMware utilizza un particolare sistema di allocazione della RAM per cui è possibile che usi registri che statisticamente non cambiano mai per alcuni sistemi operativi utilizzandoli contemporaneamente per VM differenti permettendo di risparmiare un piccola percentuale di memoria fisica.

Personalmente, ho scelto di settare la ram minima fisica all’80% per tutte le mie VM curandomi, però, di allocarle in modo che, di fatto, ci fosse sempre ram a sufficienza per tutti. Solo in caso, quindi, di una caduta di un nodo, potrebbe avvenire una passaggio sullo swap della RAM virtuale per un 20%, non causando disservizi ma al massimo brevi rallentamenti mentre il tecnico in questione correrà a sostituire il nodo in failure.

I/O, un punto critico per una struttura virtuale

I/O, un punto critico per una struttura virtuale

Un ulteriore punto critico nella stuttura delle virtual machines è rappresentato dall’I/O su disco, vera croce di qualsiasi ambiente di virtualizzazione basato su storage esterni. Il problema principale avviene quando molte vm basate sulla stessa LUN cominciano a far uso intensivo del disco rendendo lenta la comunicazione ed innalzando senza motivi apparenti per il gestore della VM, il valore di I/O wait.

Il problema della gestione dei flussi disco non è mai stato completamente risolto o gestito data la natura stessa dell’architettura che lo rende spesso il vero e proprio collo di bottiglia.

Fondamentalmente, VMware permette un accesso disco allocando un “pacchetto” di risorse di accesso per ogni disco virtuale. E’ possibile settare parametri particolari disco per disco, ma genericamente il procedimento è una allocazione sequenziale per ogni richiesta di accesso al disco ciclando su tutti i disci in LUN. Diventa evidente che in situazioni di alto carico tutti cominciano a soffrire di una certa lentezza che oltretutto è molto più avvertibile rispetto a problemi di CPU per il fatto che parliamo di wait time più alti e quindi avvertibili dall’occhio umano.

Purtroppo non c’è un vero e proprio toccasana poiché upgradare strutture in fibra ha costi nettamente superiori rispetto alla sostituzione di una CPU e per questo motivo si cerca sempre di distribuire al meglio le VM cercando di isolare il più possibile le VM con alto traffico verso lo storage su LUN differenti. Per situazioni davvero limite, è possibile impostare valori massimi e minimi per ogni disco virtuale in modo da fare un tuning più fine. Rimane un’ultima possibilità per VM che hanno problemi davvero gravi e che di “riflesso” li generano anche per i “vicini”.

Utilizzare una LUN in formato RAW come disco per la VM che fa uso intensivo del disco. E’ una soluzione davvero estrema e anche costosa perchè impegna comunque molto spazio sugli storage (o almeno richiede una gestione estremamente particolare) ed inoltre rende la VM difficilmente migrabile se necessitiamo di operazioni su storage, ma può “salvare” tutte le altre VM da problemi continui e dare le massime prestazioni alla VM incriminata.

Live Migration, migrare a caldo la nostra virtual machine

Live Migration, migrare a caldo la nostra virtual machine

Ora prendiamo in esame le “live migration” ovvero le migrazioni “a caldo” che VMware è in grado di fare durante l’attività della VM stessa.

Questo tipo di migrazioni possono essere forzate manualmente o fatte in automatico per questione di balancing dal nodo di management. Ovviamente devono essere fatte tra nodi che hanno in comune lo storage, diversamente non possono essere effettuate perchè prima la VM deve essere spenta e il disco migrato “a freddo” sul nuovo storage. Attenzione che, in questi casi, lo spostamento del disco, soprattutto se di dimensioni generose, può portare via parecchie ore, quindi schedulate un downtime in orari notturni per evitare grossi disagi.

Un video che dimostra molte delle funzioni di Virtual Infrastructure 3, utile per capire l’approccio utilizzato da VMware in questa soluzione: 

 

VMware Tools, perchè installarli su ogni VM

VMware Tools, perchè installarli su ogni VM 

Un ultimo punto da prendere in considerazione son i VMware Tools. Questi tools devono esser einstallati su tutte le VM per permettere a VMWare Infrastructure di operare ottimizzaizoni migliori e prendere il comando della VM in fase di manutenzione. Senza i Tools attivi, infatti, le Live Migrations spesso falliscono (senza generare downtime ma creando comunque forte overhead), l’ottimizzazione della memoria fisica diventa impossibile per il sistema host e, soprattutto, non è possibile “comandare” la VM dall’esterno senza accedervi via console (cosa che potrebbe essere impossibile perchè non sempre l’administrator host è lo stesso per le virtual machines).

Fondamentalmente i Tools permettono il riavvio o lo spegnimento della macchina interagendo col sistema operativo guest senza conoscere la password di root. In assenza di tools l’alternativa è l’hard reset della VM che può non essere salutare per i dischi virtuali e comunque è una pratica da sconsigliare sempre.

Un ultimo punto da tenere in considerazione è che, genericamente, le vm coi Tools installati tendono ad essere estremamente stabili, mentre, raramente, qualche VM senza Tools può dare qualche sporadico problema in più.

Questo articolo è offerto da Noamweb

La Noamweb nasce nel 2001 specializzandosi in soluzioni di hosting, housing e registrazione domini per professionisti del settore, quali programmatori, webmaster, SEO e rivenditori, mettendo a loro disposizione attrezzature di altissima qualità, e offrendo una vasta gamma di servizi studiati appositamente per le loro esigenze.