A. Installing Software on Air-Gapped NVIDIA DGX Systems

When installing Red Hat Enterprise Linux on DGX systems, many of the packages that the DGX system requires are downloaded over the internet from both Red Hat and NVIDIA servers. This is not suitable for tightly secured systems which must be "Air-Gapped"; isolated from the internet or outside networks.

For air-gapped systems, Red Hat provides tools (createrepo and reposync) to make local mirrors of the internet available repositories. These repository mirrors can then be copied into the air-gapped environment and activated on the DGX system for installation.

This document assumes that you have created a mirror of the Red Hat repositories. For the NVIDIA repositories, it provides steps for mirroring NVIDIA repositories on a "low-side" system that has public internet access, and then copying and activating the repositories to an air-gapped DGX system. It also includes a process for installing Docker containers.

A.2. Creating a Local Mirror of the NVIDIA Repository

This section presents both a general procedure for copying repositories, and also an example of copying the NVIDIA provided software repository for DGX-specific software.

The repo-id for the DGX Software repository is nvidia-dgx-7. The instructions assume that you have the repositories enabled on the local machine. See Enabling the DGX Software Repository for instructions on enabling the NVIDIA DGX EL7 repository as well as information on other NVIDIA DGX repositories you might need to enable and mirror.

General Process for Red Hat Repository Mirroring

This section describes the general process for setting up a mirror on Red Hat Enterprise Linux. These steps must be preformed for each repository that you want to mirror.

Actions on the Low-Side Red Hat System

  1. Install the utilities needed for the mirroring steps.
    sudo yum install -y yum-utils createrepo
  2. Download a local copy of the repository, including all metadata.

    Repository files are stored in /etc/yum.repos.d/. The files are in the form repoID.repo

    sudo reposync -n --gpgcheck -l --repoid=<repoID> --download_path=<path-to-substantial-storage> --downloadcomps --download-metadata
  3. Change to the new directory containing the Red Hat package managers (RPMs).
    cd /<path-to-substantial-storage/<repoID>
  4. Build the local repo, including groupinstall files:
    sudo createrepo -v /<path-to-substantial-storage>/<repoID> -g comps.xml
  5. Copy the repoID.repo file.
    cp /etc/yum.repos.d/<repoID>.repo /<path-to-substantial-storage>/<repoID>/
  6. Copy any GPG keys. You can find these by looking at the gpgkey= part of the repoID.repo file.
    cp /etc/pki/rpm-gpg/RPM-GPG-KEY-repo-key /<path-to-substantial-storage>/<repoID>/
  7. Move all files from your new directory to the air-gapped system using your preferred transport method.

Actions on the Air-Gapped Red Hat System

  1. Copy the repoID.repo file to your system:
    sudo cp /<path-to-repoID>/<repoID>.repo /etc/yum.repos.d/
  2. Copy the GPG key file to your system:
    sudo cp /<path-to-repoID>/RPM-GPG-KEY-repo-key /etc/pki/rpm-gpg/
  3. Edit the /etc/yum.repos.d/<repoID>.repo file to point to your directory instead of the Internet by changing the line baseurl=https... to baseurl=file:///<path-to-repoID>/.
  4. Update YUM repo list.
    sudo yum repolist
  5. Follow instructions in this document for installing the files.

Example Red Hat Repository Mirroring

This section describes the process for mirroring the NVIDIA DGX repository nvidia-dgx-7 on Red Hat Enterprise Linux, using actual values. For more information on each command, see the section General Process for Red Hat Repository Mirroring.

Actions on the Low-Side Red Hat System

  1. Install utilities needed for mirroring steps.
    sudo yum install -y yum-utils createrepo
    sudo mkdir -p /var/www/html/  
    sudo reposync --gpgcheck -l --repoid=nvidia-dgx-7 --download_path=/var/www/html/ --downloadcomps --download-metadata  
    cd /var/www/html/nvidia-dgx-7/  
    sudo createrepo -v /var/www/html/nvidia-dgx-7/ -g comps.xml  
    sudo cp /etc/yum.repo.d/nvidia-dgx-7.repo . 
    sudo cp /etc/pki/rpm-gpg/RPM-GPG-KEY-dgx-cosmos-support . 
  2. Copy /var/www/html/nvidia-dgx-7/ directory over to the air-gapped DGX system.

Actions on the Air-Gapped Red Hat System

  1. Copy the nvidia-dgx-7.repo file and GPG key to your system:
    sudo cd /var/www/html/nvidia-dgx-7
    sudo cp nvidia-dgx-7.repo /etc/yum.repos.d/
    sudo cp RPM-GPG-KEY-dgx-cosmos-support /etc/pki/rpm-gpg/
  2. Edit /etc/yum.repos.d/nvidia-dgx-7.repo file to point to file:///var/www/html/nvidia-dgx-7/
  3. Update the YUM repo list.
    sudo yum repolist
  4. Follow instructions in this document for Group Install of the new local air-gapped repository.

A.3. Installing Docker Containers

This method applies to Docker containers hosted on the NGC Container Registry. Most container images are freely available, but some are locked and require that you have an NGC account to access. See the NGC Registry for DGX User Guide for instructions on accessing locked container images.
  1. Enter the docker pull command, specifying the image registry, image repository, and tag.
    docker pull nvcr.io/nvidia/repository:tag
  2. Verify the image is on your system using docker images.
    docker images
  3. Save the Docker image as an archive.
    docker save nvcr.io/nvidia/repository:tag > framework.tar
  4. Transfer the image to the air-gapped system using removable media such as a USB flash drive.
  5. Load the NVIDIA Docker image.
    docker load -i framework.tar
  6. Verify the image is on your system.
    docker images