Risorse VMware vSphere: spiegazione di HotAdd/HotPlug
>In un ambiente VMware vSphere, le risorse fornite potrebbero non essere sufficienti per il livello di prestazioni richiesto quando si esegue un’applicazione potente su una VM. In questo caso, la soluzione ottimale è aggiungere più risorse di processore e memoria alla VM.
Quando sulle VM sono in esecuzione applicazioni critiche, non è possibile spegnere le VM e affrontare tempi di inattività. In questo scenario, la funzione di aggiunta a caldo di VMware vSphere risulta molto utile. Grazie alla flessibilità offerta dalla virtualizzazione di VMware, è possibile aggiungere CPU hardware virtuale e memoria RAM a una VM in esecuzione. Di seguito spiegheremo come abilitare l’aggiunta a caldo di VMware, i casi d’uso, la configurazione e le limitazioni di questa funzione.
Che cos’è l’aggiunta a caldo di VMware?
VMware Hot Add è una funzione che consente di aggiungere dispositivi virtuali a una VM mentre la VM è in esecuzione. Per impostazione predefinita, è possibile aggiungere dispositivi virtuali quali dischi rigidi virtuali (non IDE), adattatori di rete e dispositivi USB mentre la VM è accesa. VMware Aggiunta a caldo consente di aggiungere al volo una CPU virtuale (unità di elaborazione centrale) e RAM (memoria ad accesso casuale). Con VMware Aggiunta a caldo abilitata, non è necessario spegnere una VM per aggiungere dispositivi virtuali.
VMware Aggiunta a caldo vs Hot Plug
Si può notare che la funzione CPU Aggiunta a caldo è talvolta denominata CPU hot plug. La stessa logica si applica alla memoria hot add e alla memoria hot plug. Questi due termini si riferiscono alla stessa cosa e sono intercambiabili.
Nota: Non confondere la memoria dinamica VMware con la memoria VMware hot add, poiché si tratta di funzioni diverse. La memoria dinamica VMware è una tecnica per la gestione efficiente della memoria VMware per le VM. Questo nome non è ufficiale per questa funzione, ma gli utenti lo citano come l’analogo avanzato della memoria dinamica di Hyper-V. Le tecniche di gestione della memoria VMware includono la condivisione trasparente delle pagine, il ballooning della memoria, la compressione della memoria e lo swapping della memoria.
Requisiti e limitazioni
Esistono requisiti e limitazioni per l’aggiunta di vCPU (CPU virtuali) VMware e memoria alle VM in esecuzione:
- Il sistema operativo guest (OS) deve supportare l’aggiunta a caldo dei dispositivi.
- La compatibilità hardware della VM (versione hardware virtuale) è 7 o superiore.
- VMware Tools deve essere installato sul sistema operativo guest.
- La tolleranza ai guasti non deve essere abilitata per la VM.
- La VM deve essere spenta per abilitare la funzione di aggiunta a caldo.
- È necessario utilizzare una licenza VMware vSphere Advanced, Enterprise o Enterprise Plus. VMware vSphere Enterprise Plus supporta sia l’aggiunta a caldo della CPU che l’aggiunta a caldo della memoria. Per verificare le funzionalità disponibili per altre edizioni e sistemi operativi guest, consultare la guida alle licenze VMware .
Tenere conto delle
I sistemi operativi guest che supportano l’Aggiunta a caldo sono Windows Server 2003 e versioni successive e Linux con kernel 3.8 e versioni successive. Le edizioni superiori di Windows Server supportano sia l’Aggiunta a caldo della CPU che della memoria. Alcune edizioni inferiori di Windows Server supportano solo l’Aggiunta a caldo della memoria.
| Sistema operativo guest | Licenza/Edizione | Aggiunta a caldo di memoria | Hotplug CPU |
| Windows Server 2003 32-bit/64-bit | Standard, Enterprise | Sì | No |
| Windows Server 2008 32 bit | Standard, Enterprise, Datacenter | Sì | No |
| Windows Server 2008 64 bit | Standard, Enterprise | Sì | No |
| Windows Server 2008 64-bit | Datacenter | Sì | Sì |
| Windows Server 2008 R2 | Standard, Enterprise | Sì | No |
| Windows Server 2008 R2 | Datacenter | Sì | Sì |
| Windows Server 2012 | Standard, Datacenter | Sì | Sì |
| Windows Server 2012 R2 | Standard, Datacenter | Sì | Sì |
| Windows Server 2016 | Standard, Datacenter | Sì | Sì |
| Windows Server 2019 | Standard, Datacenter | Sì | Sì |
Pro e contro di VMware Aggiunta a caldo
VMware Aggiunta a caldo è una funzione utile in molti casi. Tuttavia, è importante notare che l’utilizzo di questa funzione presenta alcuni svantaggi quando l’Aggiunta a caldo non è realmente obbligatoria. VMware Hot Add è disabilitato per impostazione predefinita per diversi motivi. Scopriamo perché.
VMware vCPU Aggiunta a caldo e vNUMA
Quando si abilita VMware Hot Add, vNUMA viene automaticamente disabilitato per la VM. Per impostazione predefinita, vNUMA è abilitato per tutte le VM con 8 o più vCPU per migliorare le prestazioni. Diamo un’occhiata più da vicino al concetto di NUMA e vNUMA.
Che cos’è NUMA?
NUMA (non-uniform memory access) è l’architettura per sistemi multiprocessore che consente alle CPU di condividere la memoria a livello locale. Il tempo necessario a una CPU per accedere alla memoria dipende dall’ubicazione della memoria sulla scheda madre. Ogni processore ha la priorità di utilizzare la “propria” memoria locale piuttosto che quella installata negli slot vicini a un altro processore. In altre parole, NUMA è un metodo che determina come un processore interagisce con i moduli di memoria di un altro processore. I sistemi NUMA sono piattaforme con più di un bus di sistema in cui ogni processore può accedere a tutta la memoria sulla scheda madre. Un processore con memoria installata negli slot vicini a questo processore è chiamato nodo NUMA.
Se NUMA è disabilitato o, ad esempio, si dispone di due processori e la memoria è installata solo negli slot di uno di essi, è possibile che si verifichino un calo delle prestazioni e altri problemi hardware. Se non si dispone di moduli di memoria sufficienti a riempire tutti gli slot di una scheda madre con due processori, provare a distribuire i moduli di memoria tra gli slot di memoria del primo e del secondo processore.
NUMA aiuta a distribuire in modo razionale i processi di sistema in esecuzione in un sistema operativo compatibile con NUMA. Consente a ciascun processo di accedere alle aree di memoria più vicine ai processori utilizzati da tali processi.
Che cos’è vNUMA?
Virtuale NUMA (vNUMA) è un metodo di ottimizzazione in VMware vSphere. Garantisce prestazioni ottimali delle VM di grandi dimensioni tenendo conto della topologia NUMA ed evitando colli di bottiglia nella larghezza di banda della memoria. Una topologia NUMA fisica viene esposta a un sistema operativo guest con vNUMA. Di conseguenza, la topologia NUMA virtuale si basa sulla topologia NUMA dell’hardware fisico sottostante utilizzato dall’host ESXi. Le CPU virtuali della VM possono pianificare l’accesso alla memoria situata sugli stessi nodi NUMA.
vNUMA è disponibile per le VM che utilizzano hardware virtuale 8 o superiore. Quando si crea una VM, è possibile selezionare il numero di processori e il numero di core del processore. Il numero di socket CPU della VM viene calcolato automaticamente. Se il numero di CPU virtuali utilizzate da una VM è superiore al numero di core su ciascun nodo NUMA, la topologia vNUMA viene modificata e ottimizzata per l’utilizzo da parte di un sistema operativo guest. In questo caso, il sistema operativo guest può utilizzare più nodi NUMA. Questa VM è denominata macchina virtuale ampia o di grandi dimensioni.
Cosa succede quando vNUMA è disabilitato?
Quando l’Aggiunta a caldo è abilitata e vNUMA è disabilitata, una VM non è a conoscenza dei nodi NUMA sottostanti sull’host ESXi e aumenta l’accesso alla memoria sui nodi NUMA remoti. La pianificazione della CPU/memoria di un sistema operativo guest non è ottimale. Di conseguenza, le prestazioni della VM risultano compromesse. Il calo delle prestazioni è evidente per le VM di grandi dimensioni con un numero crescente di thread da parte di un’applicazione. Ad esempio, se si abilita l’Aggiunta a caldo su una VM il cui sistema operativo guest utilizzava due nodi NUMA, questo sistema operativo guest può rilevare solo un nodo NUMA dopo tale operazione, poiché non viene creata la topologia vNUMA ottimizzata.
Abilitare VMware Aggiunta a caldo solo se si prevede di utilizzare questa funzione durante il funzionamento della VM. In caso contrario, è preferibile disabilitare l’Aggiunta a caldo per le VM che si estendono su più di un nodo NUMA. Se non si è sicuri della necessità di aggiungere CPU e memoria a caldo, è possibile fornire più risorse di CPU e memoria alla VM da inizio.
Limitazioni di VMware Aggiunta a caldo
La rimozione a caldo non è possibile
Quando la funzione di aggiunta a caldo/hot plug è abilitata, non è possibile rimuovere a caldo le risorse CPU e memoria. Dopo aver aggiunto a caldo vCPU e memoria a una VM, le applicazioni consumano queste risorse aggiunte. Ecco il motivo per cui le applicazioni non supportano opzioni quali la rimozione della memoria e della capacità della CPU già in uso. Per questo motivo, l’unico modo possibile per ridurre le risorse della CPU e della memoria per una VM è spegnere la VM e modificare le impostazioni della VM spenta.
Limitazioni della scalabilità della memoria
La quantità massima di memoria aggiuntiva per l’aggiunta a caldo è pari a 16 volte la quantità iniziale di memoria provisionata per la VM. Ad esempio, se una VM ha 4 GB di RAM, questa quantità può essere aumentata fino a 64 GB.
Esiste anche una limitazione per le VM con 3 GB di RAM (esattamente 3072 MB) o meno. Potrebbe verificarsi un errore o il sistema operativo guest (Linux a 64 bit e Windows a 32 bit) potrebbe non essere in grado di determinare la memoria aggiunta. La soluzione consiste nello spegnere la VM, aumentare la quantità di memoria a più di 3072 MB. Quindi è possibile accendere la VM e utilizzare VMware Aggiunta a caldo della memoria.
Come configurare VMware Aggiunta a caldo della memoria
Esistono diversi metodi per abilitare VMware vCPUs Aggiunta a caldo e VMware Aggiunta a caldo della memoria. È possibile utilizzare l’interfaccia utente grafica o l’interfaccia utente della riga di comando.
Abilitazione dell’Aggiunta a caldo in vCenter
Per abilitare l’opzione VMware Hot Add utilizzando vCenter, accedere a VMware vSphere Client ed eseguire le seguenti operazioni:
- Vai a Host e cluster.
- Seleziona la VM necessaria nel riquadro di navigazione. La VM deve essere spenta.
- Fare clic sull’icona Modifica impostazioni . In alternativa, è possibile fare clic con il pulsante destro del mouse sul nome della VM e, nel menu che si apre, selezionare Modifica impostazioni.
Per abilitare l’aggiunta a caldo della CPU, procedere come segue:
- Nella finestra Modifica impostazioni espandere le impostazioni della CPU.
- Nella finestra Hot plug della CPU , selezionare la casella di controllo Abilita l’aggiunta a caldo della CPU .
Per abilitare l’aggiunta a caldo della memoria, procedere come segue:
- Nella finestra Modifica impostazioni espandere le impostazioni della memoria.
- Nella riga Hot plug della memoria selezionare la casella di controllo Abilita .

- Fare clic su OK per salvare le impostazioni della VM e Chiudi la finestra.
Ora è possibile avviare la VM e aggiungere a caldo vCPU e memoria VMware alla VM.
Abilitazione di VMware Aggiunta a caldo in PowerCLI
VMware PowerCLI è il potente strumento da riga di comando per la gestione di VMware vSphere. Vediamo come abilitare l’Aggiunta a caldo di VMware in PowerCLI.
- Connettiti al tuo VMware vCenter oppure al tuo host ESXi utilizzando il seguente comando e inserendo l’indirizzo IP appropriato (192.168.101.205 in questo esempio) o il nome host:
Connect-VIServer 192.168.101.205 - Immettere le credenziali quando richiesto.
- Elencare le VM sull’host ESXi a cui ci si è connessi.
Get-VM - Assicurarsi che la VM per cui si desidera abilitare l’Aggiunta a caldo sia spenta.
- Esegui questi comandi per abilitare l’Aggiunta a caldo della memoria e della CPU per la VM selezionata.
$VM = Get-VM Windows-VM
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.memoryHotAddEnabled = $true
$spec.cpuHotAddEnabled = $true
Dove:$VM.ExtensionData.ReconfigVM_Task($spec)
Windows-VM è il nome della VM necessaria
$spec.memoryHotAddEnabled = $true è il comando per abilitare l’aggiunta a caldo della memoria
$spec.cpuHotAddEnabled = $true è il comando per abilitare l’aggiunta a caldo della CPU - Verificare su quali VM sono abilitate le funzioni di aggiunta a caldo della CPU e della memoria:
Get-VM | Get-View | Select Name, `
@{N="CpuHotAddEnabled";E={$_.Config.CpuHotAddEnabled}}, `
@{N="CpuHotRemoveEnabled";E={$_.Config.CpuHotRemoveEnabled}}, `
@{N="MemoryHotAddEnabled";E={$_.Config.MemoryHotAddEnabled}}
Abilitazione dell’aggiunta a caldo in un file di configurazione della VM
Un altro metodo per abilitare VMware Aggiunta a caldo consiste nell’utilizzare l’interfaccia della riga di comando ESXi e modificare il file di configurazione VMX della VM. Aprire la shell ESXi o connettersi all’host VMware ESXi tramite SSH. Quindi eseguire i seguenti comandi nella riga di comando per abilitare l’Aggiunta a caldo:
- Vai alla directory della VM:
cd /vmfs/volumes/datastore10a/Windows-VM/
- Assicurati che la VM sia spenta.
- Apri il file di configurazione VMX della VM in un editor di testo:
vi Windows-VM.vmx - Aggiungere questa riga al file di configurazione per abilitare l’aggiunta a caldo della vCPU:
vcpu.hotadd = "TRUE" - Aggiungere questa riga al file di configurazione per abilitare l’aggiunta a caldo della memoria:
mem.hotadd = "TRUE" - Salvare il file di configurazione VMX e uscire dall’editor di testo.
È possibile disabilitare le funzionalità hot plug in una VM per dispositivi quali adattatori di rete, controller disco, ecc. (abilitati per impostazione predefinita).
devices.hotplug = “false”
Questa impostazione non influisce sulla configurazione VMware hotplug della CPU e di aggiunta a caldo della memoria per la VM.
Modifica della configurazione VMX in VMware vSphere Client
È anche possibile modificare la configurazione VMX in VMware vSphere Client:
- Selezionare la VM desiderata in VMware vSphere Client.
- Spegnere la VM se è in esecuzione.
- Fare clic su Modifica le impostazioni.
- Selezionare la scheda Opzioni VM nella finestra Impostazioni VM .
- Fare clic su Avanzate per espandere le opzioni e fare clic su Modifica configurazione.

- Fare clic su Aggiungi parametri di configurazione nella finestra Parametri di configurazione .
- Nella sezione Aggiungi nuovi parametri di configurazione sezione inserisci i valori per abilitare VMware Aggiunta a caldo memory e VMware vCPUs di conseguenza. Nome: mem.hotaddValore: TRUE
Nome: vcpu.hotaddValore: TRUE
- Premere OK per salvare le impostazioni e chiudere la finestra.
Conclusione
Abilitare VMware Aggiunta a caldo solo quando si prevede di utilizzare questa funzione per aggiungere processori virtuali e memoria a una VM in esecuzione. Se si abilita VMware Hot Add ma non si utilizza questa funzione, le prestazioni delle macchine virtuali di grandi dimensioni potrebbero diminuire, poiché non verrà utilizzata la topologia con più nodi NUMA. Utilizzare il monitoraggio delle macchine virtuali VMware per monitorare le prestazioni delle macchine virtuali e l’utilizzo delle risorse in VMware vSphere. Questo approccio consente di identificare se una macchina virtuale necessita dell’abilitazione della funzione di Aggiunta a caldo.

