NVIDIA UFM Enterprise User Manual v6.22.1

Installing UFM Infra Using Docker Root

This section provides installation instructions for UFM Enterprise running in Docker root mode with UFM infra support and NFS or shared storage. The configuration uses versioned directories and soft links to enable seamless upgrades.

  • Docker installed and running

  • NFS or shared storage must be mounted at /opt/ufm/shared_files

  • UFM and FAST-API tar files available

  • Root or sudo privileges

  • rsync

  • Redis - if using an external Redis

  • NFS Mount Point: /opt/ufm/shared_files - Main shared storage location

  • Version Directory: /opt/ufm/shared_files/ufm-<version> - Version-specific directory

  • Soft Link: /opt/ufm/files/opt/ufm/shared_files/ufm-<version> - Points to current version

  • UFM Mode: Docker root + UFM infra (creates two services: ufm-enterprise.service and ufm-infra.service)

Step 1: Create UFM Base Directory

Copy
Copied!
            

mkdir -p /opt/ufm mkdir -p /opt/ufm/ufm_plugins_data

Step 2: Load UFM Image and Extract Version

Copy
Copied!
            

# Define the UFM image file path UFM_IMAGE_FILE="<path to ufm*-docker.img.gz>"   # Extract UFM version from filename (e.g., ufm_6.22.0-7.ubuntu24.x86_64-docker.img.gz -> 6_22_0_7) UFM_VERSION=$(basename "$UFM_IMAGE_FILE" | sed 's/ufm_\([0-9][^.]*\.[^.]*\.[^.]*-[^.]*\)\.ubuntu.*/\1/' | tr '.-' '_') echo "UFM Version: $UFM_VERSION"   # Load the UFM image docker load -i "$UFM_IMAGE_FILE"

Step 3: Create Version-Specific Directory and Soft Link

Copy
Copied!
            

# Create version-specific directory in shared storage mkdir -p /opt/ufm/shared_files/ufm-${UFM_VERSION}   # Remove existing files link if it exists rm -f /opt/ufm/files   # Create soft link to version-specific directory ln -s /opt/ufm/shared_files/ufm-${UFM_VERSION} /opt/ufm/files   # Verify the soft link ls -la /opt/ufm/files

Step 4: Run UFM Installer

Copy
Copied!
            

docker run --name=ufm_installer --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/systemd/system/:/etc/systemd_files/ \ -v /opt/ufm/files/:/installation/ufm_files/ \ -v [LICENSE_DIRECTORY]:/installation/ufm_licenses/ \ mellanox/ufm-enterprise:latest \ --install \ --fabric-interface ib0 \ --ufm-infra

Note
  • Replace ib0 with your actual InfiniBand interface name, if it is not the default ib0.

  • All other UFM install flags are supported and can be added to the command.


Step 5: Load Redis Image

Load the given Redis image (in case you are not using external Redis) docker load -i ""

Step 6: Load Fast API Plugin Image

Copy
Copied!
            

# Define the Fast API plugin image file path FAST_API_IMAGE="<PATH TO FAST API.img.gz file>"   # Load the Fast API plugin image docker load -i "$FAST_API_IMAGE"   # Extract Fast API version from Docker image tag (exclude latest tag) FAST_API_VERSION=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep "mellanox/ufm-plugin-fast_api" | grep -v ":latest" | head -1 | cut -d':' -f2) echo "Fast API Version: $FAST_API_VERSION"

Step 7: Install Fast API Plugin

Copy
Copied!
            

docker run --hostname $HOSTNAME --rm --name=ufm_plugin_mgmt --entrypoint="" \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /opt/ufm/files:/opt/ufm/shared_config_files \ -v /dev/log:/dev/log \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v /lib/modules:/lib/modules:ro \ -v /opt/ufm/ufm_plugins_data:/opt/ufm/ufm_plugins_data \ -e UFM_CONTEXT=ufm-infra \ mellanox/ufm-enterprise:latest \ /opt/ufm/scripts/manage_ufm_plugins.sh add -p fast_api -t ${FAST_API_VERSION} -c ufm-infra

Step 8: Reload systemd and Start Services (if not running HA)

Copy
Copied!
            

# Reload systemd daemon systemctl daemon-reload   # Start UFM infra service (starts first) systemctl start ufm-infra systemctl start ufm-enterprise

© Copyright 2025, NVIDIA. Last updated on Aug 7, 2025.