NSX on a VMWare Homelab with limited resources

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.

  1. Enable SSH on your vCenter server
  2. Enable BASH on your vCenter server
  3. SSH to vCenter server
  4. type ‘shell’ to get a BASH shell
  5. Launch Postgres shell
    /opt/vmware/vpostgres/current/bin/psql -U postgres
  6. Connect to the VMDB
    \connect VCDB;
  7. Find the Object IDs for the VMs
    select * from VPX_DISABLED_METHODS;
  8. Delete the entry that locks the editing in vSphere
    delete from VPX_DISABLED_METHODS where entity_mo_id_val = 'Object ID';
  9. exit Postgres shell
  10. exit bash shell
  11. Restart vCenter Server Service
    service-control --stop vmware-vpxd
    service-control --start vmware-vpxd
  12. 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.