NSX Data Center for vSphere uses vSphere resource allocation to reserve resources for NSX Edge appliances. Reserving CPU and memory resources for NSX Edge ensures that the appliance has enough resources to function correctly.

There are three methods of resource reservation: System Managed, Custom, or No Reservation

Important: If you are using NSX 6.4.3 or earlier, and you select Custom or No Reservation reservations for an NSX Edge appliance, you cannot switch back to System Managed.

System Managed Resource Reservation

If you select System Managed, the system reserves CPU and memory resources for the new NSX Edge appliance. The reserved resources are equal to the system requirements for the appliance size, modified by any percentages that are specified using the tuning configuration API.

When you install, upgrade, or redeploy an NSX Edge instance, the associated NSX Edge appliances are deployed. If an appliance has System Managed resource reservation, the reservation is applied on the resource pool after the appliance is powered on. If there are insufficient resources, the reservation fails and generates a system event, but the appliance deployment succeeds. The reservation is attempted the next time the appliance is deployed (during upgrade or redeploy).

With System Managed resource reservations, if you change the appliance size, the system updates the resource reservation to match the system requirements of the new appliance size.

Custom Resource Reservation

If you select Custom, you determine the resource reservations for the NSX Edge appliance.

When you install, upgrade, or redeploy an NSX Edge, the associated NSX Edge appliances are deployed. If an appliance has Custom resource reservation, the reservation is applied on the resource pool before the appliance is powered on. If there are insufficient resources, the appliance fails to power on and the appliance deployment fails.

You can apply Custom reservations to an existing NSX Edge appliance. If the resource pool does not have sufficient resources, the configuration change fails.

With Custom resource reservations, the system does not manage resource reservations for the appliance. If you change the appliance size, the appliance system requirements change, but the system does not update the resource reservation. You should change the resource reservation to reflect the system requirements of the new appliance size.

No Resource Reservation

If you select No reservation, no resources are reserved for the NSX Edge appliance. You can deploy NSX Edge appliances on hosts that do not have sufficient resources, but if there is a resource contention the appliances might not operate correctly.

Configuring NSX Edge Appliance Resource Reservations

You set the resource reservation during the creation of an NSX Edge appliance. You can also update the reservation on an existing NSX Edge appliance. You can use the vSphere Web Client or the API for these tasks. See the NSX API Guide for more information about using the API.

Operation vSphere Web Client API
Create a new NSX Edge Navigate to Networking & Security > NSX Edges and click Add. The wizard guides you through the steps of creating an NSX Edge. You can add an NSX Edge appliance in the Configure Deployment step. You select the reservation method from the Resource Reservation drop-down menu. Use POST /api/4.0/edges
Update an existing NSX Edge Navigate to Networking & Security > NSX Edges > NSX Edge Instance > Manage > Settings and edit the appliance VM to select a different value for Resource Reservation. Use PUT /api/4.0/edges/{edgeId}/appliances
Use the cpuReservation > reservation and memoryReservation > reservation parameters to configure the NSX Edge Appliance Resource Reservation using the API.
Resource Reservation Method Values for Reservation Parameters
System Managed Do not specifiy values for cpuReservation > reservation and memoryReservation > reservation.
Custom Specify the values you want in cpuReservation > reservation and memoryReservation > reservation.
No Reservation Set cpuReservation > reservation and memoryReservation > reservation to 0.

The system requirements for NSX Edge appliances depend on the appliance size: Compact, Large, Quad Large, or X-Large. These values are used for the default System Managed resource reservation.

Appliance Size CPU Reservation Memory Reservation
Compact 1000 MHz 512 MB
Large 2000 MHz 1 GB
Quad Large 4000 MHz 2 GB
X-Large 6000 MHz 8 GB

Modifying the System Managed Resource Reservation Using Tuning Configuration

When facing lack of resources, you can temporarily disable the System Managed resource reservations or decrease the default value. You can change the reservation percentage by configuring values for the edgeVCpuReservationPercentage and edgeMemoryReservationPercentage parameters in the tuning configuration API, PUT /api/4.0/edgePublish/tuningConfiguration. The default value for both parameters is 100. This change affects new NSX Edge appliance deployments, but not existing appliances. The percentages modify the default CPU and memory reserved for the relevant NSX Edge appliance size. To disable the resource reservation, set the values to 0. See the NSX API Guide for details.

Changing Resource Reservation Method from Custom or No Reservation to System Managed

If you are using NSX 6.4.3 or earlier, and you select Custom or No Reservation reservations for an NSX Edge appliance, you cannot switch back to System Managed reservations.

Starting in NSX 6.4.4 you can use the API to switch back to System Managed reservations using POST /api/4.0/edges/{edgeId}/appliances?action=applySystemResourceReservation. See the NSX API Guide for details.

Starting in NSX 6.4.6, you can use the vSphere Web Client to edit the NSX Edge appliance VM and switch back to System Managed reservations.