Use this information to configure huge pages, assign IP addresses and install the SPDK
on the target server.
About this task
Note: The following prompts are used to indicate which part of the system to run the
provided commands on.
- soc#: The SoC on the IPU.
- host#: The server where the IPU is installed.
- 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.
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 enp13s0f0
target# ip addr add 172.168.1.2/24 enp13s0f0
target# ip link set up dev enp13s0f0
target# ip link set down dev enp13s0f0
target# ip addr add 172.168.2.2/24 enp13s0f1
target# ip link set up dev enp13s0f1
-
On the target server, build the SPDK.
For
example:
target# git clone https://github.com/spdk/spdk
target# cd spdk
target# git submodule update --init
target# scripts/pkgdep.sh
target# ./configure
target# make
target# ./test/unit/unittest.sh