martedì 2 aprile 2019

How to shrink VMware NSX Controllers for small environment...

Disclaimer: Don't try this on NSX production environment.

Essendo il mio Home Lab "temporarily out of service" ... quale migliore occasione per utilizzare gli Hands-On Lab di VMware?
Tutti conosciamo gli "Hands-on Labs", sono dei laboratori pre-configurati che VMware mette a disposizione degli utenti per testare/verificare ed/o imparare le nuove funzionalità messe a disposizione dei propri prodotti.

Problema
Ho la necessità di verificare delle procedure di migrazione in un ambiente di sviluppo NSX prima di replicarlo in produzione, ma le risorse degli HOL sono limitate. Per questo motivo mi trovo costretto a dover rivedere/risparmiare su risorse come CPU e RAM da assegnare alle varie componenti della soluzione. Nello specifico mostrerò come ridurre le risorse (CPU e RAM) delle VMware NSX Controller, che di Default sono rispettivamente di 4GB di Memoria e 4 vCPU come indicato negli "Hardware Requirement for Appliances".


Come possiamo vedere sotto, le risorse messe a disposizione dagli Host ESXi dell'ambiente di LAB sono rispettivamente di 5.60GHz per la CPU e di 5.00GB di RAM.


Se provassimo ad installare una Controller NSX su questo Host, otterremo un errore relativamente alla Memoria non sufficiente per far avviare la Virtual Appliance.


Soluzione
Accediamo in modalità "Tech Support Mode" alla console NSX Manager di riferimento tramite un SSH client come indicato nel mio precedente post.


muoviamoci nella cartella "/common/em/components/vdn/controller/ovf/"


Facciamo una copia del file ".ovf" originale che andremo a modificare -> "#cp nsx-controller-6.4.1-build8409915.ovf nsx-controller-6.4.1-build8409915.ovf.orig"


Tramite editor "vi" andiamo modificare le righe del file "nsx-controller-6.4.1-build8409915.ovf" come indicato di seguito:

vCPU
Per quello che riguarda le vCPU, andiamo a ridurre da 4 vCPU (default) a 2 vCPU. Di seguito le impostazioni originali del file "nsx-controller-6.4.1-build8409915.ovf".


Di seguito le righe modificate.

  1. Sostituito il '4' con il '2' nella riga:
    '<rasd:ElementName xmls:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData>"2 virtual CPUs</rasd:ElementName>'
    Questa entry in realtà poteva anche non essere cambiata in quanto si tratta di una descrizione e non di una impostazione di sistema.
  2. Rimuovere la riga "<rasd:Reservation>2</rasd:Reservation>" relativa alle reservation.
  3. La riga "<rasd:VirtualQuantity>4</rasd:VirtualQuantity>" è stata sostituita con "<rasd:VirtualQuantity>2</rasd:VirtualQuantity>"


Memory
Per quello che riguarda la Memoria da utilizzare, andiamo a ridurre le impostazioni da 4GB (4096 di default) a 1GB (1024). Di seguito le impostazioni originali del file "nsx-controller-6.4.1-build8409915.ovf".


Di seguito le righe modificate.

  1. Sostituito il valore '4096' con '1024' nella riga:
    '<rasd:ElementName xmls:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData>"1024 MB of memory</rasd:ElementName>'
    Questa entry in realtà poteva anche non essere cambiata in quanto si tratta di una descrizione e non di una impostazione di sistema.
  2. Rimuovere la riga "<rasd:Reservation>4096</rasd:Reservation>" relativa alle reservation.
  3. La riga "<rasd:VirtualQuantity>4096</rasd:VirtualQuantity>" è stata sostituita con "<rasd:VirtualQuantity>1024</rasd:VirtualQuantity>"

Salvare le modifiche ed eseguire il deploy delle controller da interfaccia grafica GUI nell'area dedicata NSX.


Vediamo le impostazioni Hardware della VM ...


Perfettamente funzionante :-)


Nessun commento:

Posta un commento