I run a VMWare lab at home, because I have a forgiving wife and a tendency to over-complicate everything.
My VMUG Advantage subscription gives me a license for NSX, which is something I’ve been wanting to play with for a while.
Unfortunately, the resource requirements for a minimal installation of NSX is 16 vCPUs and 28GB RAM.
In my setup, this is a significant chunk of my resources, not leaving much for any actual VMs
Resizing the NSX Manager VM is easy, you can just edit the resources in vSphere. But the NSX Controllers have their “Edit Settings…” Link grayed out.
Here’s how you can re-enable that link, and thus edit the resource allocation.
- Enable SSH on your vCenter server
- Enable BASH on your vCenter server
- SSH to vCenter server
- type ‘shell’ to get a BASH shell
- Launch Postgres shell
/opt/vmware/vpostgres/current/bin/psql -U postgres
- Connect to the VMDB
- Find the Object IDs for the VMs
select * from VPX_DISABLED_METHODS;
- Delete the entry that locks the editing in vSphere
delete from VPX_DISABLED_METHODS where entity_mo_id_val = 'Object ID';
- exit Postgres shell
- exit bash shell
- Restart vCenter Server Service
service-control --stop vmware-vpxd service-control --start vmware-vpxd
- Edit your resource allocations in vSphere
I’ve been able to get away with halving the allocations for each VM. But your mileage may vary.
DO NOT DO THIS IN A PRODUCTION ENVIRONMENT. This is not supported by VMWare, so don’t go opening support tickets if your NSX environment goes flaky.