Quando la capacità disponibile non soddisfa le esigenze dei consumatori delle risorse (e dell'overhead della virtualizzazione), gli amministratori potrebbero dover personalizzare la quantità di risorse allocate alle macchine virtuali o ai pool di risorse in vSphere.

Utilizzare le impostazioni di allocazione delle risorse (condivisioni, prenotazione e limite) per determinare la quantità di CPU, memoria e risorse di storage fornite per una macchina virtuale. In particolare, gli amministratori dispongono di diverse opzioni per l'allocazione delle risorse.

  • Riservare le risorse fisiche dell'host o del cluster.
  • Impostare un limite superiore sulle risorse che è possibile allocare a una macchina virtuale.
  • Assicurarsi che a una determinata macchina virtuale sia sempre allocata una percentuale più elevata di risorse fisiche rispetto ad altre macchine virtuali.
Nota: In questo capitolo, "Memoria" si riferisce alla RAM fisica.

Condivisioni dell'allocazione di risorse

Le condivisioni specificano l'importanza relativa di una macchina virtuale (o del pool di risorse). Se una macchina virtuale dispone di una quantità doppia di condivisioni di una risorsa rispetto a un'altra macchina virtuale, può consumare una quantità doppia di tale risorsa nel caso in cui queste due macchine virtuali competano per le risorse.

In genere, le condivisioni sono specificate come Alta, Normale o Bassa e questi valori specificano i valori della condivisione con un rapporto 4:2:1 rispettivamente. È inoltre possibile selezionare Personalizzato per assegnare un numero specifico di condivisioni (che esprime un peso proporzionale) a ogni macchina virtuale.

La definizione delle condivisioni ha senso solo per quanto riguarda le macchine virtuali o i pool di risorse di pari livello, ovvero le macchine virtuali o i pool di risorse con lo stesso elemento principale nella gerarchia del pool di risorse. Gli elementi di pari livello condividono le risorse in base ai rispettivi valori di condivisione dipendenti dalla prenotazione e dal limite. Quando si assegnano condivisioni a una macchina virtuale, si specifica sempre la priorità per tale macchina virtuale rispetto alle altre macchine virtuali accese.

La seguente tabella include i valori di condivisione di memoria e CPU di una macchina virtuale. Per i pool di risorse, i valori predefiniti di condivisione di memoria ei CPU sono gli stessi, ma devono essere moltiplicati come se il pool di risorse fosse una macchina virtuale con quattro CPU virtuali e 16 GB di memoria.

Tabella 1. Valori della condivisione
Impostazione Valore condivisioni CPU Valore condivisioni memoria
Alta 2000 condivisioni per CPU virtuale 20 condivisioni per megabyte di memoria configurata della macchina virtuale.
Normale 1000 condivisioni per CPU virtuale 10 condivisioni per megabyte di memoria configurata della macchina virtuale.
Bassa 500 condivisioni per CPU virtuale 5 condivisioni per megabyte di memoria configurata della macchina virtuale.

Ad esempio, una macchina virtuale SMP con due CPU virtuali e 1 GB di RAM con condivisioni di CPU e di memoria impostate su Normale ha 2 x 1000 = 2000 condivisioni di CPU e 10 x 1024 = 10240 condivisioni di memoria.

Le macchine virtuali con più CPU virtuali sono denominate macchine virtuali SMP (Symmetric Multiprocessing).

La priorità relativa rappresentata da ogni condivisione cambia quando viene accesa una nuova macchina virtuale. Questo influisce su tutte le macchine virtuali presenti nello stesso pool di risorse. Tutte le macchine virtuali hanno lo stesso numero di CPU virtuali. Si considerino gli esempi seguenti.

  • Due macchine virtuali associate alla CPU vengono eseguite in un host con 8 GHz di capacità CPU aggregata. Le loro condivisioni della CPU sono impostate su Normale e ottengono ciascuna 4 GHz.
  • Viene accesa una terza macchina virtuale associata alla CPU. Il valore delle condivisioni della CPU è impostato su Alto, il che significa che il numero di condivisioni deve essere doppio rispetto a quello delle macchine impostate su Normale. La nuova macchina virtuale riceve 4 GHz e le altre due macchine ottengono solo 2 GHz ciascuna. Lo stesso risultato si verifica se l'utente specifica un valore di condivisione personalizzato pari a 2000 per la terza macchina virtuale.

Prenotazione dell'allocazione di risorse

Una prenotazione specifica l'allocazione minima garantita per una macchina virtuale.

vCenter Server o ESXi consente di attivare una macchina virtuale solo se è disponibile una risorsa non riservata sufficiente a soddisfare la prenotazione della macchina virtuale. Il server garantisce questa quantità anche quando il server fisico è fortemente sovraccarico. La prenotazione viene espressa in unità misurate (megahertz o megabyte).

Ad esempio, si supponga di disporre di 2 GHz e di specificare una prenotazione di 1 GHz per VM1 e 1 GHz per VM2. Ora, è garantito che ogni macchina virtuale ottenga 1GHz se ne ha bisogno. Tuttavia, se la VM1 utilizza solo 500 MHz, la VM2 può utilizzare 1,5 GHz.

Il valore predefinito della prenotazione è 0. È possibile specificare una prenotazione se è necessario garantire che le quantità minime richieste di CPU o memoria siano sempre disponibili per la macchina virtuale.

Limite dell'allocazione di risorse

Il limite specifica un limite superiore per le risorse di I/O di CPU, memoria o storage che possono essere allocate a una macchina virtuale.

Un server può allocare a una macchina virtuale una quantità di risorse superiore alla prenotazione, ma non supera mai il limite, anche se nel sistema sono presenti risorse inutilizzate. Il limite viene espresso in unità misurate (megahertz, megabyte o operazioni di I/O al secondo).

Per impostazione predefinita, i limiti delle risorse di I/O di CPU, memoria e storage sono illimitati. Quando il limite di memoria è illimitato, la quantità di memoria configurata per la macchina virtuale al momento della creazione diventa il limite effettivo.

Nella maggior parte dei casi, non è necessario specificare un limite. Ci sono vantaggi e svantaggi:

  • Vantaggi : l'assegnazione di un limite è utile se si inizia con un numero ridotto di macchine virtuali e si desidera gestire le aspettative degli utenti. Le prestazioni si deteriorano man mano che si aggiungono altre macchine virtuali. È possibile simulare la quantità di risorse disponibili specificando un limite.
  • Svantaggi: se viene specificato un limite, si potrebbero perdere risorse inattive. Il sistema non consente alle macchine virtuali di utilizzare una quantità di risorse superiore rispetto al limite, anche quando non viene completamente utilizzato e sono disponibili risorse inattive. Specificare il limite solo se è opportuno farlo.

Suggerimenti per le impostazioni di allocazione delle risorse

Selezionare le impostazioni di allocazione delle risorse (prenotazione, limite e condivisioni) appropriate per l'ambiente ESXi.

Le seguenti linee guida consentono di ottenere prestazioni migliori per le macchine virtuali.

  • Utilizza Prenotazione per specificare la quantità minima accettabile di CPU o memoria, non la quantità che si desidera avere disponibile. La quantità di risorse concreta rappresentate da una prenotazione non cambia quando si modifica l'ambiente, ad esempio aggiungendo o rimuovendo macchine virtuali. L'host assegna le risorse aggiuntive come disponibili in base al limite della macchina virtuale, al numero di condivisioni e alla richiesta stimata.
  • Quando si specificano le prenotazioni per le macchine virtuali, non eseguire il commit di tutte le risorse (si prevede di lasciarne non prenotate almeno il 10%). Man mano che ci si avvicina all'utilizzo completo di tutta la capacità disponibile nel sistema, diventa sempre più difficile apportare modifiche alle prenotazioni e alla gerarchia dei pool di risorse senza violare il controllo ammissione. In un cluster abilitato per DRS, le prenotazioni che confermano completamente la capacità del cluster o dei singoli host del cluster possono impedire a DRS di migrare le macchine virtuali tra host.
  • Se si prevede di apportare modifiche frequenti alle risorse totali disponibili, utilizzare Condivisioni per allocare equamente le risorse tra le macchine virtuali. Se si utilizza Condivisioni e si aggiorna l'host, ad esempio, ogni macchina virtuale rimane alla stessa priorità (mantiene lo stesso numero di condivisioni) anche se ciascuna condivisione rappresenta una quantità maggiore di memoria, CPU o risorse di I/O di storage.

Modifica impostazioni in vSphere

Utilizzare la finestra di dialogo Modifica impostazioni per modificare le allocazioni per le risorse della memoria e della CPU.

Procedura

  1. Passare alla macchina virtuale in vSphere Client.
  2. Fare clic con il tasto destro e selezionare Modifica impostazioni.
  3. Modificare le risorse della CPU.
    Opzione Descrizione
    Quote Quote della CPU per questo pool di risorse rispetto al totale del gruppo principale. I pool di risorse di pari livello condividono le risorse in base ai rispettivi valori di condivisione dipendenti dalla riserva e dal limite. Selezionare Bassa, Normale o Alta per specificare i valori della condivisione secondo un rapporto di 1:2:4, rispettivamente. Selezionare Personalizzato per assegnare a ciascuna macchina virtuale un numero specifico di condivisioni, che esprime un peso proporzionale.
    Prenotazione Allocazione della CPU garantita per questo pool di risorse.
    Limite Limite superiore per l'allocazione della CPU di questo pool di risorse. Selezionare Illimitato per non specificare alcun limite superiore.
  4. Modificare le risorse di memoria.
    Opzione Descrizione
    Quote Quote della memoria per questo pool di risorse rispetto al totale del gruppo principale. I pool di risorse di pari livello condividono le risorse in base ai rispettivi valori di condivisione dipendenti dalla riserva e dal limite. Selezionare Bassa, Normale o Alta per specificare i valori della condivisione secondo un rapporto di 1:2:4, rispettivamente. Selezionare Personalizzato per assegnare a ciascuna macchina virtuale un numero specifico di condivisioni, che esprime un peso proporzionale.
    Prenotazione Allocazione di memoria garantita per questo pool di risorse.
    Limite Limite superiore per questa allocazione di memoria di questo pool di risorse. Selezionare Illimitato per non specificare alcun limite superiore.
  5. Fare clic su OK.

Modifica delle impostazioni di allocazione delle risorse: Esempio

L'esempio seguente illustra come è possibile modificare le impostazioni di allocazione delle risorse per migliorare le prestazioni delle macchine virtuali.

Supponiamo che in un host ESXi siano state create due nuove macchine virtuali, una per ogni reparto del controllo di qualità (VM-QA) e del marketing (marketing delle macchine virtuali).

Figura 1. Singolo host con due macchine virtuali

In questo esempio, un singolo host dispone di due macchine virtuali.

Nell'esempio seguente supponiamo che VM-QA stia facendo un uso intensivo della memoria e, di conseguenza, si desideri modificare le impostazioni di allocazione delle risorse per le due macchine virtuali in:

  • Specificare che, quando la memoria di sistema è overcommit, la macchina virtuale VM-QA può utilizzare una quantità doppia di risorse di CPU e memoria rispetto alla macchina virtuale di marketing. Impostare le condivisioni della CPU e le condivisioni di memoria per VM-QA su Alto e per Marketing della macchina virtuale impostarle su Normale.
  • Assicurarsi che la macchina virtuale di marketing disponga di una determinata quantità di risorse CPU garantite. È possibile farlo utilizzando un'impostazione di prenotazione.

Procedura

  1. Individuare le macchine virtuali in vSphere Client.
  2. Fare clic con il pulsante destro del mouse su VM-QA, la macchina virtuale per cui si desidera modificare le condivisioni e scegliere Modifica impostazioni.
  3. In Hardware virtuale, espandere la CPU e selezionare Alto dal menu a discesa Condivisioni .
  4. In Hardware virtuale, espandere la Memoria e selezionare Alto dal menu a discesa Condivisioni .
  5. Fare clic su OK.
  6. Fare clic con il pulsante destro del mouse sulla macchina virtuale di marketing (Macchina virtuale Marketing) e scegliere Modifica impostazioni.
  7. In Hardware virtuale, espandere la CPU e modificare il valore Prenotazione nel numero desiderato.
  8. Fare clic su OK.

Controllo dell'ammissione in vSphere

Quando si accende una macchina virtuale, il sistema verifica la quantità di CPU e risorse di memoria che non sono ancora state riservate. In base alle risorse non riservate disponibili, il sistema determina se può garantire la prenotazione per cui è configurata la macchina virtuale (se presente). Questo processo è denominato controllo dell'ammissione.

Se CPU e memoria non riservate sono sufficienti o se non ci sono prenotazioni, la macchina virtuale viene accesa. In caso contrario, viene visualizzato l'avviso Risorse insufficienti.

Nota: Oltre alla prenotazione della memoria specificata dall'utente, per ogni macchina virtuale è presente anche una quantità di memoria in più. Questa quantità di memoria supplementare viene inclusa nel calcolo del controllo dell'ammissione.

Quando la funzionalità vSphere DPM è abilitata, è possibile che gli host vengano posizionati in modalità standby (ovvero spenti) per ridurre il consumo di energia. Le risorse non riservate fornite da questi host sono considerate disponibili per il controllo dell'ammissione. Se non è possibile accendere una macchina virtuale senza queste risorse, è consigliabile accendere un quantità sufficiente di host di standby. Per ulteriori informazioni, vedere Gestione delle risorse di alimentazione.