Virtualizzazione server: Partizione, la chiave per il successo

Una posizione proattiva nei confronti della manutenzione dei server con il partizionamento hardware dinamico per bilanciare il carico di lavoro dei server.

William Stanek

La virtualizzazione dei server è una delle tecnologie più richieste nei moderni data center aziendali. Consente di creare più macchine virtuali che condividono lo stesso hardware fisico. Ogni macchina virtuale esegue un'istanza separata di un sistema operativo utilizzando le risorse hardware assegnate dall'hypervisor (VMM).

A livello ottimale, è possibile utilizzare macchine virtuali per consolidare server con utilizzo ridotto. Anziché disporre di diversi server sottoutilizzati, sarà possibile usufruire di un numero inferiore di server, ognuno con più macchine virtuali. Questo tipo di consolidamento di server consente di conseguire un risparmio in termini economici all'interno dell'organizzazione grazie alla riduzione dei costi relativi alle apparecchiature e al consumo energetico, nonché di ridurre il sovraccarico di gestione e semplificare la manutenzione dei server.

Seppure estremamente popolare in questo periodo, la virtualizzazione dei server non si rivela sempre la scelta ideale per gli scenari con utilizzo elevato. Dal momento che i carichi di lavoro dei server vengono scalati in modo così radicale, è necessario disporre di una soluzione server altrettanto scalabile. È a questo punto che entra in gioco il partizionamento hardware.

Il partizionamento hardware consente di creare più partizioni isolate in un unico server. Ogni partizione esegue un'istanza separata di un sistema operativo e dispone di risorse in termini di processore, memoria e bridge host I/O assegnate da un processore di servizio.

Un gestore partizioni comunica con il processore di servizio per consentire la gestione delle configurazioni delle partizioni hardware. Poiché tali partizioni sono reciprocamente isolate, gli errori hardware che si verificano in un server partizionato incidono solo sulla partizione contenente l'hardware con errori. In questo modo vengono migliorate la disponibilità e l'affidabilità generali.

Detto ciò, le partizioni hardware e le macchine virtuali non sono reciprocamente esclusive. È possibile utilizzare congiuntamente le due tecnologie installando VMM in una partizione hardware e creando macchine virtuali all'interno della partizione. Questa combinazione consente un notevole livello di scalabilità orizzontale e verticale con server professionali. La scalabilità verticale permette di soddisfare le esigenze di utilizzo elevato, quella orizzontale di soddisfare le esigenze di utilizzo ridotto. In questo modo viene garantito il massimo impatto da entrambi gli approcci di gestione hardware.

Approccio dinamico

Il partizionamento hardware può assumere un approccio statico o dinamico. In un ambiente di partizionamento hardware statico le allocazioni di risorse sono fisse mentre il sistema è in esecuzione. È possibile spegnere e riavviare un'istanza di sistema operativo per modificare la configurazione.

In un ambiente di partizionamento hardware dinamico le allocazioni di risorse sono regolabili mentre il sistema è in esecuzione. In questo modo è possibile aggiungere o sostituire risorse senza riavviare il sistema operativo in esecuzione nel partizionamento hardware e migliorare quindi in modo significativo i livelli di servizio e disponibilità.

Il partizionamento hardware dinamico richiede il supporto del sistema operativo per garantire risultati ottimali. In Windows Server 2008 R2 sono supportate le funzionalità di partizionamento hardware dinamico illustrate nella Figura 1, ma non la rimozione a caldo. La versione RTM di Windows Server 2008 dispone dello stesso livello di supporto, ad eccezione del fatto che viene supportata esclusivamente l'aggiunta a caldo di memoria e bridge host I/O nei sistemi Datacenter Edition basati su x86. Il supporto del sistema operativo nativo per PCI Express consente di collegare a caldo dispositivi PCIe, quali schede di rete e bus host.

  Aggiunta di memoria a caldo Aggiunta di processore a caldo Aggiunta di bridge host I/O a caldo Sostituzione di memoria a caldo Sostituzione di processore a caldo
Standard x64     X    
Enterprise x64   X   X  
Datacenter x64 X X X X X
Basato su Itanium X X X X X

 

Figura 1 Supporto per il partizionamento hardware dinamico in Windows Server 2008 Edition

Per supportare l'allocazione dinamica, in Windows Server 2008 vengono modellati bridge I/O, processori e memoria come dispositivi plug-and-play. In questo modo sarà possibile aggiungere o sostituire risorse. I driver dei dispositivi e le applicazioni in esecuzione potranno registrarsi per ricevere notifiche correlate e sarà possibile eseguire l'allocazione o la transizione delle risorse. Ogni risorsa (memoria, processore o bridge host I/O) viene gestita come unità separata, definita unità di partizionamento.

Se si verificano problemi in un componente hardware, gli errori verranno registrati nel log eventi. Se un server viene utilizzato in modo eccessivo, il problema verrà segnalato nei contatori delle prestazioni o in una metrica analoga di monitoraggio delle risorse. In entrambi i casi è possibile eseguire la manutenzione proattiva del server aggiungendo risorse o sostituendo una risorsa difettosa in modo dinamico. A tale scopo, procedere in uno dei modi seguenti:

  • Manualmente: utilizzare il gestore partizioni distribuito dal fornitore per comunicare le modifiche al processore di servizio.
  • Automaticamente: configurare un'applicazione di gestione del sistema distribuita dal fornitore con condizioni di trigger per le partizioni hardware. Se i server soddisfano qualsiasi condizione tra quelle indicate, l'applicazione avvierà automaticamente la modifica con il processore di servizio.

In entrambi i casi, il processore di servizio gestisce la richiesta di aggiunta o sostituzione come singola azione atomica. Ciò significa che la sostituzione non coincide con la rimozione di una risorsa (mediante rimozione a caldo) e l'aggiunta di una nuova risorsa dello stesso tipo (mediante aggiunta a caldo). Il processore del servizio gestirà un'operazione di aggiunta dinamica:

  1. Selezionando le risorse di riserva disponibili e necessarie
  2. Accendendo e avviando le risorse
  3. Aggiungendo le risorse selezionate alla partizione hardware designata
  4. Segnalando a Windows Server 2008 la disponibilità delle nuove risorse

Se Windows Server 2008 riceve notifica dell'aggiunta dinamica:

  1. Avvierà le risorse e le aggiungerà al pool delle risorse disponibili
  2. Segnalerà le risorse alle applicazioni e ai dispositivi registrati per consentire di regolare le allocazioni di risorse
  3. Con i processori: avvierà un nuovo bilanciamento di risorse a livello di sistema dei driver dei dispositivi interessati per consentire la disconnessione e riconnessione dei gestori di interrupt dell'hardware e l'utilizzo delle nuove risorse. I driver dei dispositivi non interessati vengono esclusi per evitare che la riallocazione interrompa i relativi servizi.
  4. Con i bridge host I/O: eseguirà una ricerca dei dispositivi associati al nuovo bus I/O ed eventualmente avvierà un nuovo bilanciamento delle risorse.
  5. Una volta eseguiti questi passaggi, segnalare al processore di servizio il completamento dell'operazione di aggiunta a caldo

L'aggiunta a caldo è disponibile solo per la memoria e i processori (e solo se la risorsa di sostituzione è identica alla risorsa originale). Il processore di servizio gestisce un'operazione di sostituzione:

  1. Selezionando le risorse di riserva disponibili e necessarie
  2. Accendendo e avviando le risorse. Con la memoria, lo stato del modulo della memoria precedente viene copiato nel modulo della nuova memoria.
  3. Segnalando a Windows Server 2008 l'operazione di sostituzione imminente. Il sistema operativo passa a uno stato di sospensione pseudo-S4. Con i processori, il sistema operativo e il firmware del sistema copiano lo stato del processore precedente nel nuovo processore. Con la memoria, qualsiasi modifica di stato viene copiata nel modulo della nuova memoria.
  4. Eseguendo il mapping delle risorse di sostituzione alla partizione hardware e rimuovendo le risorse precedenti
  5. Segnalando a Windows Server 2008 il completamento dell'operazione di sostituzione. Il sistema operativo torna allo stato attivo e riprende l'esecuzione delle normali operazioni.
  6. Disconnettendo le risorse precedenti e segnalando il completamento dell'operazione di sostituzione al gestore del servizio e all'applicazione di gestione del sistema

La sostituzione a caldo è progettata per essere trasparente per le applicazioni in esecuzione nel sistema operativo della partizione. Lo stato di sospensione pseudo-S4 è simile allo stato di sospensione S4, ma il sistema operativo non salva un file di sospensione e non viene disconnesso. Nello stato di sospensione il sistema operativo termina tutte le operazioni di elaborazione e I/O e i dispositivi nella partizione vengono posizionati in uno stato a basso consumo. Se il sistema operativo viene utilizzato in modo eccessivo, potrebbe verificarsi il timeout delle connessioni di rete al sistema operativo durante la sostituzione a caldo. A quel punto, sarà necessario riconnetterle.

Ecco cosa accade durante il partizionamento dinamico e come utilizzare le relative funzionalità negli ambienti di data center per eseguire una manutenzione proattiva. Tenere presente che, così come non è opportuno utilizzare il RAID software in un server con utilizzo elevato, non è consigliabile utilizzare macchine virtuali in un server di questo tipo se è disponibile il partizionamento hardware dinamico.

A ogni modo, mai dire mai. In alcuni casi è possibile combinare varie tecniche per poter eseguire in modo rapido la scalabilità orizzontale e verticale.

Joshua Hoffman

**William R. Stanek**è esperto di tecnologie, istruttore e autore pluripremiato di oltre 100 libri. È possibile seguire Stanek su Twitter all'indirizzo https://twitter.com/williamstanek.

 

Contenuto correlato