In NSX 4.x environments, the native NSX Load Balancer (LB) may fail to function when deployed on Bare-Metal Edge (BME) nodes. The same configuration works when the Tier-1 gateway is hosted on Virtual Edge nodes, but fails when moved to BMEs.
Customers may observe that the LB configuration appears valid, but traffic is not processed by the load balancer.
Symptoms
not_found_in_db: LbCurrentMsgcfg: ha is not readyVMware NSX 4.x
Bare-Metal Edge Nodes
Native NSX Load Balancer
When service_corelist is configured on a Bare-Metal Edge, NSX reserves CPU cores for service-core processing (non-datapath services).
This setting is defined via the custom block on the BME config json:
"service_corelist": "1,5,9,7,3,13,17,19,15,11"This configuration automatically disables the native NSX Load Balancer on BME nodes.
This is by design and has existed since earlier NSX versions.
Although the LB configuration is successfully applied at the policy layer:
Because the LB service is disabled at runtime:
When service_corelist is populated on a Bare-Metal Edge, NSX reserves the specified CPU cores for service-core threads:
These cores are used for:
The service cores on the BME could be disabled, but the following features sets would be lost:
Configuration of service cores is documented here: