Cosa contiene il database di vCenter Server

In questo articolo verrà esaminato il database utilizzato da vCenter Server, per informare coloro che si chiedono quali dati memorizza o che non hanno mai controllato il suo contenuto ;-). Il database crea principalmente alcune tabelle per memorizzare dati relativi ad eventi, allarmi, informazioni su HA, DRS, sui nodi ESX/ESXi (statistiche, capacità dello storage, spazio libero, …), informazioni sulle VM e sui processi schedulati. […]

In questo articolo verrà esaminato il database utilizzato da vCenter Server, per informare coloro che si chiedono quali dati memorizza o che non hanno mai controllato il suo contenuto ;-). Il database crea principalmente alcune tabelle per memorizzare dati relativi ad eventi, allarmi, informazioni su HA, DRS, sui nodi ESX/ESXi (statistiche, capacità dello storage, spazio libero, …), informazioni sulle VM e sui processi schedulati.

what-is-database

Da notare che le configurazioni dei nodi e delle VM sono invece memorizzate sui singoli nodi, e sono solamente mostrate da vSphere Client al momento della connessione al vCenter Server. Infatti è possibile collegarsi direttamente ad uno dei nodi ESX/ESXi senza vCenter Center, e modificare le configurazioni. Al momento che un nodo viene aggiunto ad un datacenter, vengono lette tutte le informazioni dal nodo e aggiunte al database del vCenter Server. E’ importante ricordare che il database non è essenziale per il funzionamento dei nodi o delle VM, infatti continueranno a funzionare tranquillamente anche se vCenter Server o il suo database non dovessero essere più disponibili: non sarebbero più funzionanti DRS e vMotion, mentre HA continuerebbe a funzionare senza alcun problema. Qualora il database avesse un crash si potrebbe creare una sua nuova istanza, aggiungendo nuovamente gli ESX/ESXi al vCenter Server in modo da ripopolare le informazioni del database. In quest’ultimo caso gli unici dati persi sarebbero le varie statistiche, eventi, allarmi, resource pool, i processi schedulati, e poche altre informazioni non essenziali.

Per ulteriori informazioni consultare i seguenti link (è stato preso spunto dal primo link per questo articolo):

roghan

Cluster VMware vs cluster Microsoft

In questo post verranno trattati i vantaggi di implementare un cluster Microsoft e quelli invece di un cluster VMware vSphere. Un cluster Microsoft ha il vantaggio che sono monitorate le applicazioni all’interno del sistema operativo, ad esempio SQL Server: se l’applicazione su uno dei nodi del cluster ha un crash, subentra immediatamente l’istanza sull’altro nodo in modo da garantire continuità di servizio. Nel caso di VMware invece può essere configurato un cluster con la Fault Tolerance (FT), la funzionalità che meglio si avvicina a MSCS. […]

In questo post verranno trattati i vantaggi di implementare un cluster Microsoft e quelli invece di un cluster VMware vSphere.

cluster

Un cluster Microsoft ha il vantaggio che sono monitorate le applicazioni all’interno del sistema operativo, ad esempio SQL Server: se l’applicazione su uno dei nodi del cluster ha un crash, subentra immediatamente l’istanza sull’altro nodo in modo da garantire continuità di servizio. Nel caso di VMware invece può essere configurato un cluster con la Fault Tolerance (FT), la funzionalità che meglio si avvicina a MSCS. Con la FT attiva VMware garantisce la continuità di esecuzione di una VM, ma non delle singole applicazioni all’intero della VM:

  1. se il nodo che ospita la VM ha un malfunzionamento, una VM identica già attiva e avviata entrerà in funzione, garantendo zero disservizio;
  2. se il nodo che ospita la VM funziona correttamente ma ha un crash un’applicazione interna alla VM (un database, un server web, …), la FT non è in grado di effettuare alcun azione e il servizio non verrà più erogato.

Dunque nella scelta tra MSCS e VMware deve essere tenuto in considerazione il livello di protezione garantito, che è maggiore con MSCS ma con lo svantaggio di costi maggiori e di un maggior livello di complessità. Con MSCS infatti devono essere configurati singolarmente i nodi del cluster, così come devono essere configurati disco di quorum e RDM. In VMware invece la configurazione del cluster è molto più semplice ed intuitiva, e viene fatta interamente attraverso vCenter Server, il quale si occuperà sia di monitorare le VM sia di eseguire le azioni opportune in caso di crash. In definitiva, MSCS è da preferire per applicazioni mission-critical, come un database, in cui un disservizio anche minimo può causare notevoli problemi, mentre per altri tipi di servizi, come server DHCP, DNS, o anche server web, un cluster con VMware FT (o eventualmente HA se può essere tollerato un disservizio di alcuni minuti) offre una protezione più che adeguata.

L’alternativa è quella di ricorrere ad un cluster Microsoft direttamente all’interno di un cluster VMware, in modo da unire i benefici della virtualizzazione ad una continuità di servizio 24h/24 per le applicazioni più critiche. Inoltre, si ha un ulteriore vantaggio, che consiste nella possibilità di “spostare” un’applicazione da una VM ad un’altra senza alcun disservizio, ad esempio se si deve effettuare qualche operazione di manutenzione. E’ da notare però che in questo caso sono supportati cluster solo di alcune versioni di Windows. Per maggiori dettagli consultare i collegamenti seguenti:

roghan

VMware HA e nodi isolati

Vedremo in questo post il comportamento di un cluster virtualizzato in cui è stata abilitata la funzionalità HA. Da ricordare che un cluster può essere configurato unicamente tramite un vCenter Server, che resta necessario per il corretto funzionamento di funzionalità quali vMotion e DRS, ma non per l’HA: se il vCenter Server si blocca o ha un guasto, l’HA è comunque garantita per tutti i nodi del cluster. […]

Vedremo in questo post il comportamento di un cluster virtualizzato con VMware in cui è stata abilitata la funzionalità HA. Da ricordare che un cluster può essere configurato unicamente tramite un vCenter Server, che resta necessario per il corretto funzionamento di funzionalità quali vMotion e DRS, ma non per l’HA: se il vCenter Server si blocca o ha un guasto, l’HA è comunque garantita per tutti i nodi del cluster.

ha_p2p
Interrogazione dei nodi in un cluster con HA

L’architettura di funzionamento su cui è basata l’HA è di tipo p2p, ossia ogni nodo effettua a intervalli regolari un ping verso ogni altro nodo del cluster e anche verso il gateway. I ping vengono effettuati dalla scheda di management di un nodo e verso la management di ogni altro nodo (Service Console nel caso di ESX e CLI di management per ESXi). Il funzionamento dell’HA è quindi strettamente legato al networking e alle schede di rete, e qualora la scheda di rete della management di un nodo si guasti il nodo stesso diventa isolato. Studiamo questo caso:

  1. ogni nodo controlla se ogni altro nodo è raggiungibile;
  2. se in un nodo si guasta la scheda di rete di management questo diventa isolato;
  3. di default, un nodo isolato spegne tutte le sua macchine virtuali.

Il comportamento di default potrebbe essere ragionevole nel caso in cui un nodo abbia schede di rete ridondate per la management, ma è in generale altamente consigliato cambiare l’impostazione default. Proviamo a immaginare cosa succederebbe se si guastasse uno switch fisico a cui sono collegati tutti i nodi e pure il gateway? Tutti i nodi risulterebbero isolati, con la conseguenza che ogni nodo spegnerebbe tutte le sue macchine virtuali! E’ una situazione assolutamente da evitare. Pertanto è necessario modificare l’impostazione host isolation response durante la configurazione del cluster, visibile alla schermata seguente:

ha_vcenter
Modificare impostazioni default

Riepilogando, è buona norma modificare il comportamento default di un cluster HA per quanto riguarda l’isolamento del nodo, ed inoltre è buona cosa ridondare la NIC di management.

roghan

[Virtualizzazione] Cluster in HA e Disaster Recovery

Sempre più diffusi sono i sistemi cluster, costituiti da gruppi di computer (tipicamente server) collegati tra loro ed in grado di lavorare insieme. Il sistema cluster minimo prevede l’utilizzo di due nodi collegati tra loro. Nello specifico esistono tre tipi di cluster:

* attivo/passivo, detto anche cluster in HA (High Availability), o anche cluster failover;
* attivo/attivo ad alte performance, o cluster di nodi che lavorano in parallelo;
* attivo/attivo con bilanciatore di carico (NLB, Network Load Balancing).

Il primo tipo di cluster viene anche definito HA (High Availability), e la sua funzionalità è quella di garantire sempre un determinato servizio. Tale servizio viene erogato dal computer attivo, ma qualora dovesse verificarsi un malfunzionamento, il sistema cluster provvederebbe ad avviare immediatamente uno degli altri nodi, che entrerebbe in sostituzione di quello appena guastato. Generalmente questo tipo di cluster adotta il supporto dei dischi di Quorum per condividere con tutti i nodi i dati precedentemente utilizzati dalla macchina che è andata in failure. Il secondo tipo di cluster è costituito da nodi che lavorano in parallelo per garantire elevate prestazioni. Ogni processo sottomesso al sistema cluster viene suddiviso tra le macchine che compongono il sistema. L’ultimo tipo di cluster è quello attivo/attivo, in cui tutti i nodi che lo compongono sono sempre attivi, e vi è un bilanciatore di carico che distribuisce le richieste al nodo meno occupato. […]

Sempre più diffusi sono i sistemi cluster, costituiti da gruppi di computer (tipicamente server) collegati tra loro ed in grado di lavorare insieme. Il sistema cluster minimo prevede l’utilizzo di due nodi collegati tra loro. Nello specifico esistono tre tipi di cluster:

  • attivo/passivo, detto anche cluster in HA (High Availability), o anche cluster failover;
  • attivo/attivo ad alte performance, o cluster di nodi che lavorano in parallelo;
  • attivo/attivo con bilanciatore di carico (NLB, Network Load Balancing).

Il primo tipo di cluster viene anche definito HA (High Availability), e la sua funzionalità è quella di garantire sempre un determinato servizio. Tale servizio viene erogato dal computer attivo, ma qualora dovesse verificarsi un malfunzionamento, il sistema cluster provvederebbe ad avviare immediatamente uno degli altri nodi, che entrerebbe in sostituzione di quello appena guastato. Generalmente questo tipo di cluster adotta il supporto dei dischi di Quorum per condividere con tutti i nodi i dati precedentemente utilizzati dalla macchina che è andata in failure. Il secondo tipo di cluster è costituito da nodi che lavorano in parallelo per garantire elevate prestazioni. Ogni processo sottomesso al sistema cluster viene suddiviso tra le macchine che compongono il sistema. L’ultimo tipo di cluster è quello attivo/attivo, in cui tutti i nodi che lo compongono sono sempre attivi, e vi è un bilanciatore di carico che distribuisce le richieste al nodo meno occupato.

I sistemi cluster sono fondamentali in un mondo in cui le persone vogliono sempre tutto e subito; sono fondamentali per molte aziende che devono rendere costantemente disponibili i propri servizi, e dove per costantemente si intende 24h su 24, tutti i giorni dell’anno! Ecco che entra in gioco il ruolo del cluster HA appena descritto, o meglio un insieme di più nodi organizzati in modo tale da offrire un servizio quanto più possibile continuo.laptop-fire L’errore che molto spesso viene fatto nelle aziende (ho saputo di casi reali avvenuti a clienti dell’azienda in cui lavoro :-(!), è quello di acquistare come nodo primario un sistema ultra-veloce, come potrebbe essere una Ferrari, ed adoperare invece come nodo secondario un vecchio computer, paragonabile ad una memorabile Panda. Mai commettere questo errore! In caso di disaster recovery il sistema super-veloce smetterebbe di funzionare, e tutte le richieste verrebbero dunque inoltrate al secondo nodo, la vecchia Panda: siamo sicuri che la Pandina una volta entrata in funzione sia in grado di gestire tutto il carico in arrivo? Molto spesso infatti il secondo nodo non è in grado di supportare neppure metà dei servizi di quello principale, con il risultato che tutto il sistema si potrebbe bloccare dopo non molto.

Pertanto, la soluzione migliore è di configurare il cluster con nodi tutti identici. Nel caso dell’esempio precedente la soluzione è di usare due belle BMW in grado di raggiungere buone prestazioni, anche se inferiori alla Ferrari, ma prestazioni sicuramente costanti (con e senza failover)!

Inoltre, un altro errore molto diffuso nelle aziende è quello di non simulare mai un disaster recovery, un po’ come avviene per i dati di backup. Quanti di voi controllano che i dati appena salvati sia coerenti e privi di errori?? Quindi, prevenire piuttosto che curare, e pianificare con attenzione ogni scelta da fare!

Alla prossima…

Matteo