气隙安装#
出于安全目的,某些安装需要系统与互联网或外部网络隔离。
气隙系统未连接到不安全的网络,例如公共互联网、不安全的 LAN 或连接到不安全网络的其他计算机。DGX 系统上更新软件和从 NGC 容器注册表加载容器镜像的默认机制需要互联网连接。在与互联网隔离的气隙系统中,您必须提供替代机制来更新软件和加载容器镜像。
由于大多数 DGX 软件更新都通过与 NVIDIA 服务器的网络过程完成,因此本节介绍在使用网络方法不可行时如何进行更新。它还包括安装 Docker 容器的流程。
以下是您可以使用的方法
下载 ISO 镜像,将其复制到可移动介质,然后从介质重置 DGX 系统镜像。
此方法仅适用于可作为 ISO 镜像下载的软件版本。有关详细信息,请参阅重置系统镜像。本节提供有关如何安装 DGX OS 的信息。
通过从本地存储库执行网络更新来更新 DGX 软件。
此方法仅适用于可用于网络更新的软件版本。
注意
如果您使用的是 apt-mirror
版本 0.5.4-1 或更高版本,则本主题中描述的以下方法无法成功更新存储库。要解决此问题,请参阅在气隙系统上加载镜像存储库时发生错误中已知问题部分,了解替代方法。
创建 NVIDIA 和 Canonical 存储库的本地镜像#
以下是下载必要软件包以创建更新 NVIDIA DGX 系统所需的存储库镜像的步骤。有关 DGX OS 版本和可用发行说明的更多信息,请参阅发行说明
注意
这些步骤仅适用于同一主版本中的升级,例如从 5.x 到 5.y。这些步骤不支持跨主版本的升级,例如从 DGX OS 5 到 DGX OS 6。
确定与公共 NVIDIA 和 Canonical 存储库对应的源,这些源提供 DGX OS 的更新。
您可以从
/etc/apt/sources.list
文件和/etc/apt.sources.list.d/
目录的内容中识别这些源,或者使用[系统设置,软件和更新]。创建并维护您在上一步中确定的存储库源的私有镜像。
更新提供 DGX 系统更新的源,以使用您的私有存储库镜像而不是公共存储库。
要更新这些源,请修改 /etc/apt/sources.list
文件和 /etc/apt.sources.list.d/
目录的内容。
创建存储库的镜像#
本节中的说明需要在具有互联网访问权限的系统上执行。
需要安装 Ubuntu OS 的系统来创建镜像,因为需要使用多个 Ubuntu 工具。
您必须以管理员用户身份登录到安装了 Ubuntu OS 的系统,因为此过程需要
sudo
权限。系统必须包含足够的存储空间,以便将存储库复制到文件系统。空间要求可能高达 250 GB。
需要一种有效的方式来移动大量数据,例如,DMZ 中的共享存储,或可以带入气隙区域的便携式 USB 驱动器。
数据将需要移动到需要更新的系统。确保任何便携式驱动器都使用 ext4 或 FAT32 格式化。
要创建镜像
确保存储设备已连接到具有网络访问权限的系统,并确定设备的挂载点。
以下是这些说明中使用的示例挂载点
/media/usb/repository
安装
apt-mirror
软件包。sudo apt update
sudo apt install apt-mirror
将目标目录的所有权更改为
apt-mirror
组中的apt-mirror
用户。sudo chown apt-mirror:apt-mirror /media/usb/repository
目标目录必须归用户
apt-mirror
所有,否则复制将无法工作。在
/etc/apt/mirror.list
中配置目标目录的路径,并使用下面包含的存储库列表来检索 Ubuntu 基础操作系统和 NVIDIA DGX OS 软件包的软件包。############# config ################## # set base_path /media/usb/repository #/your/path/here # # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # set cleanscript $var_path/clean.sh # set defaultarch <running host architecture> # set postmirror_script $var_path/postmirror.sh set run_postmirror 0 set nthreads 20 set _tilde 0 # ############# end config ############## # Standard Canonical package repositories: deb http://security.ubuntu.com/ubuntu jammy-security main multiverse universe restricted deb http://archive.ubuntu.com/ubuntu/ jammy main multiverse universe restricted deb http://archive.ubuntu.com/ubuntu/ jammy-updates main multiverse universe restricted # deb-i386 http://security.ubuntu.com/ubuntu jammy-security main multiverse universe restricted deb-i386 http://archive.ubuntu.com/ubuntu/ jammy main multiverse universe restricted deb-i386 http://archive.ubuntu.com/ubuntu/ jammy-updates main multiverse universe restricted # # CUDA specific repositories: deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ / # # DGX specific repositories: deb http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy common dgx deb http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates common dgx # deb-i386 http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy common dgx deb-i386 http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates common dgx # Clean unused items clean http://archive.ubuntu.com/ubuntu clean http://security.ubuntu.com/ubuntu
运行
apt-mirror
并等待其完成下载内容。这将花费很长时间,具体取决于网络连接速度。
sudo apt-mirror
弹出包含所有软件包的可移动存储设备。
sudo eject /media/usb/repository
配置目标气隙系统#
以下步骤说明如何配置目标气隙 DGX OS 6 系统。
本节中的说明需要在目标气隙 DGX 系统上执行。
目标气隙 DGX 系统已安装,已完成首次启动过程,并准备好使用最新的软件包进行更新。
创建镜像的 USB 存储设备已连接到目标 DGX 系统。
还有其他数据传输方式,本文档未涵盖这些方式,因为它们将取决于气隙环境的数据中心策略。
将存储设备挂载到气隙系统上的
/media/usb/repository
以保持一致性2。 配置 apt 命令以使用文件系统作为/etc/apt/sources.list
文件中的存储库,方法是修改以下行。deb file:///media/usb/repository/mirror/security.ubuntu.com/ubuntu jammy-security main multiverse universe restricted deb file:///media/usb/repository/mirror/archive.ubuntu.com/ubuntu/ jammy main multiverse universe restricted deb file:///media/usb/repository/mirror/archive.ubuntu.com/ubuntu/ jammy-updates main multiverse universe restricted
配置 apt 以使用
/etc/apt/sources.list.d/dgx.list
文件中的 NVIDIA DGX OS 软件包。deb file:///media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy main dgx deb file:///media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates main dgx
配置 [apt] 以使用
/etc/apt/sources.list.d/cuda-compute-repo.list
文件中的 NVIDIA CUDA 软件包。deb file:///media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /
更新 apt 存储库。
sudo apt update
此命令的输出类似于以下示例。
Get:1 file:/media/usb/repository/mirror/security.ubuntu.com/ubuntu jammy-security InRelease [107 kB] Get:2 file:/media/usb/repository/mirror/archive.ubuntu.com/ubuntu jammy InRelease [265 kB] Get:3 file:/media/usb/repository/mirror/archive.ubuntu.com/ubuntu jammy-updates InRelease [111 kB] Get:4 file:/media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease Get:5 file:/media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64 jammy InRelease [12.5 kB] Get:6 file:/media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64 jammy-updates InRelease [12.4 kB] Get:7 file:/media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Release [697 B] Get:8 file:/media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Release.gpg [836 B] Reading package lists... Done
使用新配置的本地存储库升级系统。
sudo apt full-upgrade