Installing the SPDK on the Target Server

Getting Started with Napatech Link-Storage™ Software

Platform
Napatech IPU
Content Type
Getting Started
Capture Software Version
Link-Storage™ Software 1.0

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

  1. 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
  2. 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

  3. 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.
  4. 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
  5. 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")