Use this information to configure huge pages, assign IP addresses and install the SPDK
on the target server.
Before you begin
Make sure that you have:
About this task
Note: The following prompt is used to indicate which part of the system to run the provided
commands on.
- target#: The remote server with storage disks.
Procedure
-
On the target server, allow traffic over specified ports or stop
firewalld on the target server.
To stop
firewalld, run the following
command.
target# systemctl stop firewalld
-
Configure huge pages.
target# grubby --update-kernel=ALL --args=default_hugepagesz=2M
target# grubby --update-kernel=ALL --args=hugepagesz=2M
target# grubby --update-kernel=ALL --args=hugepages=10240
target# grubby --info=ALL
target# reboot
This
require a system restart to take effect, and the configuration is persistent across system
restarts.
For further information about configuring huge pages on Linux hosts, refer
to the Linux hugetlbfs guide.
For more
information on DPDK huge pages, refer to the documentation at: https://dpdk-guide.gitlab.io/dpdk-guide/setup/hugepages.html
-
Verify the allocated huge pages memory.
/proc/meminfo provides information about huge pages usage in the
system.
target# cat /proc/meminfo |grep Huge
An output
example:
AnonHugePages: 552960 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 10240
HugePages_Free: 10240
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 20971520 kB
In
this output example,
Hugepagesize indicates that each huge page size is
2048 kB (2 MB), and
HugePages_Total indicates that there are a total of
10240 huge pages available.
-
On the target server, assign IP addresses.
For
example:
target# ip link set down dev enp2s0f0np0
target# ip addr add 172.168.1.2/24 dev enp2s0f0np0
target# ip link set up dev enp2s0f0np0
target# ip link set down dev enp2s0f1np1
target# ip addr add 172.168.2.2/24 dev enp2s0f1np1
target# ip link set up dev enp2s0f1np1
-
On the target server, build the SPDK.
For
example:
target# cd /opt/
target# git clone https://github.com/spdk/spdk -b v24.09
target# cd spdk
target# git submodule update --init
target# scripts/pkgdep.sh
target# ./configure
target# make
Note: The following error may occur when executing
scripts/pkgdep.sh on Red Hat
Enterprise Linux-based
distributions.
…
Error: No matching repo to modify: extras.
Error!
To
resolve this issue, locate the following line in the
scripts/pkgdep/rhel.sh
script.
[[ $ID == centos || $ID == rocky ]] && enable+=("extras")
Replace
extras with
extras-common as
follows:
[[ $ID == centos || $ID == rocky ]] && enable+=("extras-common")