ON THIS PAGE
Configuring Enhanced Orchestration and Hugepages
Enhanced Orchestration
Enhanced orchestration mode enables you to easily manage VNFs and service chains without requiring the VNF XML descriptor files. By default, this mode is ON and this is the recommended mode.
To enable enhanced orchestration:
[edit system services] user@jdm# set enhanced-orchestration
Ensure that you reboot the system after enabling the enhanced orchestration mode.
Hugepages
Hugepages in NFX250 devices are contiguous memory blocks of 2 MB and 1 GB sizes, which are used for virtual memory management. Due to memory fragmentation, the system might not have sufficient memory to assign the required amount of hugepages when a new VNF is launched. This might result in the VNF either failing to launch or switching to the shutdown state during configuration. Hence, to launch VNFs on NFX250 devices, you must pre-allocate memory using hugepages before configuring the VNFs.
Hugepages must be enabled for all VNFs that use OVS for service chaining.
When pre-allocating hugepages, ensure that there is sufficient memory for system use as insufficient memory might cause the system to become unresponsive. The system, which consists of the JCP, JDM, and Hypervisor, requires around 6 to 7 GB of memory. Only the remaining memory can be used by the VNFs.
To view the current state of memory and hugepages available, issue the following command at the JDM CLI prompt:
user@jdm> show system visibility memory
The default configuration comes with one hugepage of 1 GB size that is used by the OVS, and hugepages of 2 MB size for system use.
Table 1 lists the maximum hugepage memory that can be reserved for the various NFX250 models.
Model |
Memory |
Maximum Hugepage Memory (GB) |
Maximum Hugepage Memory (GB) for CSO-SDWAN |
---|---|---|---|
NFX250-S1 |
16 GB |
8 |
- |
NFX250-S1E |
16 GB |
8 |
13 |
NFX250-S2 |
32 GB |
24 |
13 |
NFX250-LS1 |
16 GB |
8 |
- |
Pre-allocating Hugepages
To pre-allocate hugepages, issue the following command at the JDM CLI prompt:
user@jdm# set system memory hugepages page-size page-size page-count page-count
where:
page-size
can be one of the following values:1024 for 1 GB hugepage
2 for 2 MB hugepage
page-count
is the number of hugepages
The page-size
and page-count
values depend
on the size and total number of hugepages required by all the VNFs
that will be launched in the system. The values are also limited by
the available memory on the device.
We recommend that you reboot the system after configuring hugepages to pre-allocate hugepages during bootup.
By default, OVS uses 1 GB hugepage from the allocated set of hugepages.
The following sample output shows a configuration with both 1 GB and 2 MB hugepages configured. A total of 8 hugepages of 1 GB size are configured, in which one hugepage is used by the OVS and the remaining seven hugepages can be used for the VNFs. There are 376 hugepages of 2 MB size that can be used for VNFs. The remaining hugepages (500-376=124) are reserved for system use.
------------------ Virtual Memory: --------------- Total (KiB): 15949136 Used (KiB): 12690344 Available (KiB): 4687452 Free (KiB): 3258792 Percent Used : 70.60 Swap Memory: ------------ Total (KiB): 0 Used (KiB): 0 Free (KiB): 0 Percent Used: 0.00 Memory Limits: -------------- User VNFs Total Memory Limit (KiB): 9437184 Huge Pages: ------------ Total 1GiB Huge Pages: 8 Free 1GiB Huge Pages: 7 Configured 1GiB Huge Pages: 8 Total 2MiB Huge Pages: 500 Free 2MiB Huge Pages: 376 Configured 2MiB Huge Pages: 500
Note that the value of Configured 1 GB Huge Pages
includes the hugepage that the system allocates for the OVS.
On NFX250 NG devices, the value of the Total 1GiB Huge
Pages
will be one more than the total hugepages reserved through
the CLI (Configured 1GiB Huge Pages
).
Allocating Hugepages for a VNF
To allocate hugepages for a VNF, issue the following command:
user@jdm# set virtual-network-functions vnf-name memory features hugepages [page-size page-size]
Troubleshooting Hugepages
If the number of hugepages configured results in insufficient memory for system use, the following error message appears when you access the JDM CLI after rebooting the device:
fatal error - could not reserve address space
in "getmem.c"
To reconfigure the hugepages:
Establish an SSH connection to the hypervisor:
user@jdm# ssh hypervisor
Determine the number of hugepages configured:
cat /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
Reset the number of hugepages to 0:
echo 0 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
Reboot the device.
Access the JDM CLI and reconfigure the number of hugepages.