升级

本节提供关于升级现有 DGX OS 安装的信息。

如果您想使用 DGX OS 将系统重置为默认状态,请参阅 重置映像 以获取更多信息。

重要提示

在升级系统或任何已安装的软件之前,请务必查阅发行说明,以获取关于可用升级的最新信息。您可以在发行指南中了解更多关于 DGX OS 的发布节奏和发布方法的信息

此版本包含以下更新

  • Ubuntu ConnectX 驱动程序和 OFED 堆栈

  • 建议客户考虑这些更新以及它们可能对其应用程序产生的任何影响。例如,某些依赖 MOFED 的应用程序可能会受到影响。

  • 最佳实践支持升级选定的系统,并验证您的应用程序是否按预期工作,然后再部署到其他系统上。

以下是一些描述不同类型升级之间差异的信息

  • 当您执行版本升级时,您当前安装了 DGX OS 5,并且想要迁移到 DGX OS 6。

    您只能从最新的 DGX OS 5.x 版本升级到 DGX OS 6。请参阅从 DGX OS 5 执行版本升级以获取升级说明。这些说明还提供了关于完成互联网升级的信息。

  • 当您执行 软件包升级 时,您想要安装自 DGX OS 6 初始版本以来在存储库中提供的升级。存储库会定期更新软件包,其中包括错误修复和安全更新。NVIDIA 存储库还包括包含最新 DGX OS 次要版本发布的新功能的软件包。请参阅执行软件包升级以获取说明。

注意

如果您想更改驱动程序或 CUDA Toolkit 的分支,请参阅其他软件以获取说明。

升级是累积的,这意味着您的系统将安装所有可用的升级,包括来自 Ubuntu 的升级,例如内核。执行升级将安装在执行升级时可用的最新版本。这些版本可能比当前的 DGX OS 版本更新

重要提示

本章中的说明升级了所有可以从您配置的软件源获得更新的软件,包括您自己安装的应用程序。如果您想阻止应用程序被升级,您可以指示 Ubuntu 软件包管理器保留当前版本。

有关更多信息,请参阅 Ubuntu 社区帮助 Wiki:软件包保持入门。通常不建议保持软件包,因为它可能会破坏软件包依赖关系。

重要提示

当您升级 DGX OS 时,系统将保留在已安装的 GPU 驱动程序分支上,除非已安装的 GPU 驱动程序分支已停止支持。当 GPU 驱动程序分支达到停止支持时,您将自动过渡到下一个受支持的分支。请参阅更改您的 GPU 分支以获取关于手动切换 GPU 驱动程序分支的说明。

DGX OS 6 版本升级建议

以下是当您打算从 DGX OS 5 执行版本升级时的一些附加信息

  • NGC 容器

    对于 DGX OS 6,如果客户使用多节点训练,则应将其 NGC 容器更新到容器版本 20.10.17 或更高版本。对于所有其他用例,请参阅 NCG 框架容器支持矩阵。请参阅NVIDIA 深度学习框架文档,以获取关于最新容器版本以及如何访问这些版本的信息。

  • Ubuntu ConnectX 驱动程序和 OFED 堆栈

    对于从 DGX OS 5 进行的版本升级,Mellanox OFED (MOFED) 驱动程序将被 DGX OS 6 中的 OFED 驱动程序替换。

    建议客户考虑这些更新以及它们可能对其应用程序产生的任何影响。例如,某些依赖 MOFED 的应用程序可能会受到影响。

    在您执行版本升级后,您可以将 OFED 驱动程序替换为 MOFED。请参阅安装 Mellanox OFED 驱动程序以获取更多信息。

    最佳实践支持升级选定的系统,并验证您的应用程序是否按预期工作,然后再部署到其他系统上。

获取 DGX 系统的发行信息

以下是关于如何确定您的 DGX 系统的发行信息的一些信息。

/etc/dgx-release 文件提供发行信息,例如产品名称和序列号。此文件还通过提供以下信息来跟踪 DGX OS 软件更新的历史记录

  • 从 ISO 映像 DGX_SWBUILD_VERSION 安装的最后一个版本的版本号和安装日期。

  • 自上次从 ISO 映像安装软件以来应用的每个网络更新的版本号和更新日期 (DGX_OTA_VERSION)。

对于 DGX OS 6,DGX_OTA_VERSION 文件指示已发布的最新 ISO 版本,并且对系统的升级包括在网络存储库中进行的更改,直到指示的日期为止。您可以使用此信息来确定您的 DGX 系统是否正在运行当前版本的 DGX OS 软件。

要获取 DGX 系统的发行信息,请查看 /etc/dgx-release 文件的内容。例如

more /etc/dgx-release

DGX_NAME="DGX Station A100"
DGX_PRETTY_NAME="NVIDIA DGX Station A100"
DGX_SWBUILD_DATE="2022-10-11-17-49-32"
DGX_SWBUILD_VERSION="5.4.1"
DGX_COMMIT_ID="38d36e8"
DGX_PLATFORM="DGX Station A100"
DGX_SERIAL_NUMBER="1632920000024"

DGX_OTA_VERSION="5.5.0"
DGX_OTA_DATE="Mon 10 Apr 2023 10:11:07 PM PDT"

DGX_OTA_VERSION="6.0.10"
DGX_OTA_DATE="Thu Apr 13 04:55:25 PM PDT 2023"

准备升级软件

本节提供关于在升级 DGX OS 软件之前需要完成的任务的信息。

连接到 DGX 系统控制台

使用直接连接或通过 BMC 的远程连接连接到 DGX 系统的控制台。请参阅 连接到 DGX 系统

注意

SSH 可用于执行升级。但是,如果以太网端口配置为 DHCP,则在升级期间重新启动 DGX 服务器后,IP 地址可能会更改,从而导致连接丢失。如果您通过 VPN 连接,也可能会发生连接丢失。如果发生这种情况,请使用直接连接或通过 BMC 连接以继续升级过程。警告:如果 DGX 连接到 172.17.xx.xx 子网,请直接连接到 DGX 服务器控制台。

DGX OS 软件安装 Docker CE,默认情况下 Docker 容器使用 172.17.xx.xx 子网。如果 DGX 服务器位于同一子网上,您将无法建立到 DGX 服务器的网络连接。

请参阅 配置 Docker IP 地址 为了确保您的 DGX 系统可以访问 Docker 容器的网络接口,应将 Docker 配置为使用与 DGX 系统使用的其他网络资源不同的子网。以获取关于如何在执行升级后更改默认 Docker 网络设置的说明。

如果您正在使用 GUI 连接到控制台,请参阅使用 GUI 执行软件包升级。您可以使用图形化的“软件更新程序”应用程序来管理 DGX Station 上的软件包升级。

验证 DGX 系统与存储库的连接

在您尝试完成更新之前,您可以验证您的 DGX 系统的网络连接是否可以访问公共存储库,并且该连接是否未被防火墙或代理阻止。

在 DGX 系统上,输入以下内容

wget -O f1-changelogs http://changelogs.ubuntu.com/meta-release-lts
wget -O f2-archive http://archive.ubuntu.com/ubuntu/dists/jammy/Release
wget -O f3-security http://security.ubuntu.com/ubuntu/dists/jammy/Release
wget -O f4-nvidia-baseos http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/dists/jammy/Release
wget -O f5-nvidia-cuda https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/Release

wget 命令应该成功,并且目录中应该有五个非零内容的文件。

从 DGX OS 5 执行版本升级

您可以在此处找到关于从 DGX OS 5 执行到 DGX OS 6 的版本升级的信息。

重要提示

如果已安装的软件包没有升级候选版本,并且您尝试升级,则会显示错误消息。您需要使用 --force 选项和升级过程。请参阅发行说明以获取 DGX OS 6 中不再提供的软件包列表。

将 DGX OS 5 升级到最新版本

请参阅DGX OS 5 用户指南中的“升级”

在您可以执行系统的版本升级之前,您需要将当前的 DGX OS 5 升级到最新版本。以下步骤将您的系统升级到最新的 DGX OS 5 版本

  1. 如果您安装了 DGX OS 5.2 或更早版本,请参阅 DGX OS 5 用户指南的“升级”部分以及以下发行说明,以获取说明和详细信息

  2. 从所有配置的源下载关于软件包最新版本的信息。

    sudo apt update
    
  3. 安装您的 当前 DGX OS 版本的全部可用升级。

    sudo apt -y full-upgrade
    

注意

根据运行 sudo apt -y full-upgrade 时更新的软件包,您可能会在执行 nvidia-release-upgrade 之前被提示重新启动系统

执行版本升级

按照以下步骤将您的系统从 DGX OS 5 升级到 DGX OS 6

  1. 安装 nvidia-release-upgrade 软件包以升级到最新的 DGX OS 5 版本。

    sudo apt install -y nvidia-release-upgrade
    

    注意

    以下步骤将默认安装 R525 驱动程序分支。要选择不同的驱动程序分支,请编辑文件 /etc/update-manager/release-upgrades.d/nvidia.cfg 并更改 DriverBranch 设置。

  2. 启动 DGX OS 版本升级过程。

    sudo nvidia-release-upgrade
    

    如果您正在使用代理服务器,请添加 -E 选项以保留您的代理环境变量。例如

    sudo -E nvidia-release-upgrade
    

    注意

    某些软件包升级需要您在完成升级之前重新启动系统。请确保在提示时重新启动系统。

  3. 解决冲突。

    请参阅解决版本升级冲突以获取详细信息和说明。

  4. 等待升级过程完成,并在系统升级完成时出现的提示符处按 y

    System upgrade is complete. Restart required To finish the upgrade, a
    restart is required. If you select 'y' the system will be restarted.
    Continue [yN]
    

    必须重新启动系统才能完成更新过程,并确保重新启动的服务和运行时捕获任何更改。

    注意

    如果未出现重新启动提示符,或者您在提示时未重新启动系统,请重新启动以完成更新过程。

    sudo reboot
    

在系统重新启动后,升级过程需要几分钟才能执行一些最终安装步骤。

解决版本升级冲突

在升级期间,系统可能会遇到冲突或需要其他手动干预。

  • 当提示您解决配置文件中的冲突时,请在选择以下选项之一之前评估更改

    • 接受维护者的版本。

    • 保留本地版本。

    • 手动解决差异。

    某些配置文件中的冲突可能是为 DGX OS 软件定制 Ubuntu Desktop OS 的结果。有关如何解决这些冲突的指南,请参阅发行说明中关于您要升级到的发行系列的章节。

    • /etc/apt/sources.list.d/dgx.list。您应该安装软件包维护者的版本。

    • /etc/ssh/sshd_config。您可以保留当前安装的本地版本。

    以下配置文件中的冲突是为 DGX OS 6 定制 Ubuntu Desktop OS 的结果。

    • /etc/gdm3/custom.conf.distrib。您可以保留当前安装的版本。

    • /etc/gdm3/custom.conf。您可以保留当前安装的版本。

  • 如果您通过安全外壳 (SSH) 远程登录到 DGX 系统,系统会提示您是否要继续在 SSH 下运行。

    Continue running under SSH?
    This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover.
    If you continue, an additional ssh daemon will be started at port '1022'.
    Do you want to continue?
    Continue [yN]
    
    • 输入 y 以继续。

    • 将启动一个额外的 sshd 守护程序,并显示以下消息

      Starting additional ``sshd`` To make recovery in case of failure easier, an
      additional sshd will be started on port '1022'. If anything goes wrong
      with the running ssh you can still connect to the additional one. If you
      run a firewall, you may need to temporarily open this port. As this is
      potentially dangerous it's not done automatically. You can open the port
      with e.g.: 'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT' To continue
      please press [ENTER]
      
    • Enter 键。

  • 如果您收到关于第三方源被禁用的警告

    Third party sources disabled
    Some third party entries in your sources.list were disabled. You can re-enable them after the upgrade with the 'software-properties' tool or your package manager.
    To continue please press **ENTER**
    

    Canonical 和 DGX 存储库将为升级保留,但任何其他存储库,例如 Google Chrome 或 VSCode,都将被禁用。升级后,您必须手动重新启用您想要保留的任何第三方源。

    • Enter 键。

  • 系统会要求您确认是否要开始升级。

    Do you want to start the upgrade?
    Installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled.
    Continue [yN] Details [d]
    
    • Enter 键。

  • (仅限 DGX Station) 为了响应关于锁屏被禁用的警告,请按 Enter 键继续。不要Ctrl+C 来响应此警告,因为按 Ctrl+C 会终止升级过程。

  • 如果系统提示您确认是否要删除过时的软件包,请选择以下选项之一

    Remove obsolete packages?
    371 packages are going to be removed. Removing the packages can take several hours.
    Continue [yN]   Details [d]
    
    - Determine whether to remove obsolete packages and continue with the
      upgrade.
    
      - Review the list of packages that will be removed.
    
         To identify obsolete DGX OS Desktop packages, see the lists of obsolete
         packages in the `DGX OS Desktop Release
         Notes <https://docs.nvda.net.cn/dgx/dgx-os-desktop-release-notes/index.html>`__
         for all releases after your current release.
    
      - If the list contains only packages that you want to remove, enter
         **y** to continue with the upgrade.
    
    • 输入 y 以接受建议的更改,n(默认)表示否,或 d 表示更多详细信息。

验证升级

以下是验证升级的步骤。

  1. 确认 Linux 内核版本。

    例如,当您升级到 DGX OS 6.0 时,Linux 内核版本至少为 5.15.0-1023-nvidia

  2. 对于您要升级到的版本的最低 Linux 内核版本,请参阅该版本的发行说明。

  3. 确认适用于 Linux 版本的 NVIDIA 显卡驱动程序。

    nvidia-smi
    

    例如,对于升级到 DGX OS 6.0,适用于 Linux 版本的 NVIDIA 显卡驱动程序版本至少为 525.105.17

    Thu Apr 27 17:00:38 2023
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
    |-------------------------------+----------------------+----------------------+
    

从中断或失败的更新中恢复

如果脚本在更新期间因断电或网络连接丢失而中断,则根据问题,您需要恢复供电或恢复网络连接。

如果在恢复供电并重新启动 DGX 系统后,系统遇到内核崩溃,您将无法执行网络更新。您需要使用最新的映像重新安装 DGX OS 6。请参阅 重置映像

本节提供关于如何安装 DGX OS 以获取说明并完成网络更新的信息。

如果您可以成功返回到 Linux 命令行,请完成以下步骤。

  1. 重新配置软件包。

    dpkg -a -configure
    
  2. 修复损坏的软件包安装。

    apt -f install -y
    
  3. 确定 release-upgrader 的解压位置。

    /tmp/ubuntu-release-upgrader-<random-string>
    
  4. 启动 bash shell,转到升级程序并进行配置。

    sudo bash
    
    cd /tmp/ubuntu-release-upgrader-<random-string>
    
    RELEASE_UPGRADER_ALLOW_THIRD_PARTY=1 ./jammy --frontend=DistUpgradeViewText
    

    此时不要重新启动。

  5. 发出以下命令并重新启动。

    bash /usr/bin/nvidia-post-release-upgrade
    
    reboot
    

执行软件包升级

NVIDIA 和 Canonical 在版本之间以更新软件包的形式提供操作系统的更新,其中包含安全缓解措施和错误修复。您应该定期评估可用的更新,并根据威胁级别更新系统。

启用扩展安全维护升级

本节提供关于 Ubuntu 的 扩展安全更新 (ESM) 的信息。

作为 DGX OS 客户,您有权获得来自 Ubuntu Universe 存储库的扩展安全更新。

如果 Ubuntu Universe 存储库中的软件包有安全更新可用,您可能会在 apt upgrade 期间看到来自 ubuntu-advantage-tools 的以下 Ubuntu Pro 消息

Get more security updates through Ubuntu Pro with 'esm-apps' enabled.
Learn more about Ubuntu Pro at https://ubuntu.com/pro.

此外,DGX 用户还将收到以下 NVIDIA 消息

Your DGX contract entitles you to Extended Security Maintenance updates
for additional packages in the Ubuntu repository. Please
contact NVIDIA Support to get your key to enable this capability.”

在联系NVIDIA 企业支持以获取 Ubuntu Pro 令牌后,您可以使用该令牌以及以下命令来启用扩展安全维护更新

sudo pro attach XXXXX

可以使用 sudo pro status 命令检查 Ubuntu Pro 订阅状态

sudo pro status

使用 CLI 执行软件包升级

您应该定期评估可用的更新,并根据威胁级别更新系统

  • 请参阅 Ubuntu Wiki 升级 以获取关于 Ubuntu 可用升级的更多信息。

  • 有关已知常见漏洞和暴露 (CVE) 的列表,包括可以通过更新 DGX OS 软件解决的漏洞,请参阅 Ubuntu 安全公告

如果有可用更新,您可以通过完成以下步骤来获取升级的软件包

  1. 使用可用软件包及其版本的列表更新内部数据库。

    sudo apt update
    
  2. 查看将要升级的软件包。

    sudo apt full-upgrade -s
    

    要防止应用程序被升级,您可以指示 Ubuntu 软件包管理器“保持软件包”。请参阅 保持软件包 以获取更多信息。

    注意

    保持软件包应仅在极端罕见的情况下使用,因为它可能会破坏软件包依赖关系。

  3. 升级到最新版本。

    sudo apt full-upgrade
    

    当提示解决问题时,回答出现的任何问题。大多数问题需要 的回应。

    • 当提示选择要使用的 GRUB 配置时,选择系统上的当前配置。

    • 当提示选择 GRUB 安装设备时,保留默认选择。

    • 其他问题将取决于更新之前安装的其他软件包,以及这些软件包如何与更新交互。

    • 如果出现一条消息,指示 nvidia-docker.service 启动失败,您可以忽略它并继续下一步。该服务将在那时启动。

  4. 升级完成后,重新启动系统。

    sudo reboot
    

注意

升级到适用于 Linux 版本的 NVIDIA 显卡驱动程序需要重新启动才能完成内核升级。如果您在不重新启动 DGX 系统的情况下升级了适用于 Linux 版本的 NVIDIA 显卡驱动程序,则当您运行 nvidia-smi 命令时,会显示错误消息。

nvidia-smi
Failed to initialize NVML: Driver/library version mismatch

管理 DGX Station 上的软件升级

本节提供关于使用 DGX Station 上的 GUI 工具管理 DGX OS 版本之间升级的信息。

使用 GUI 执行软件包升级

您可以使用图形化的“软件更新程序”应用程序来管理 DGX Station 上的软件包升级。

确保您以管理员用户身份登录到 DGX Station 上的 Ubuntu 桌面。

  1. Super 键。

    此键通常位于 Alt 键旁边。请参阅 什么是 Super 键? 以获取更多信息。

    • 如果您使用的是 Windows 键盘,则 Super 键通常带有 Windows 徽标,有时也称为 Windows 键或系统键。

    • 如果您使用的是 Apple 键盘,则此键称为 Apple 键。

  2. 在搜索栏中,键入 软件更新程序

  3. 打开 软件更新程序,查看可用的更新,然后单击 [立即安装]

    Screen capture showing the software updater window.

    显示软件更新程序窗口的屏幕截图。

    • 如果没有可用更新,软件更新程序 会通知您您的软件是最新的。

    • 如果更新需要删除过时的软件包,系统会警告您并非所有更新都可以安装。

    要继续更新,请完成以下步骤

    1. 单击 [部分升级]

    2. 查看将要删除的软件包列表。要识别过时的 DGX Station 软件包,请参阅 DGX OS Desktop 发行说明 中您当前版本之后的所有版本的过时软件包列表。

    3. 如果列表仅包含您要删除的软件包,请单击 [开始升级]

  4. 当提示您进行身份验证时,在 [密码] 字段中键入您的密码,然后单击 [验证]

  5. 更新完成后,重新启动 DGX Station

即使未提示您重新启动系统,也要重新启动系统以完成更新。任何对适用于 Linux 版本的 NVIDIA 显卡驱动程序的更新都需要重新启动。如果您在不重新启动 DGX Station 的情况下更新了适用于 Linux 版本的 NVIDIA 显卡驱动程序,则运行 nvidia-smi 命令会显示错误消息。

nvidia-smi
Failed to initialize NVML: Driver/library version mismatch

检查 DGX Station 软件的更新

软件和更新 中,您可以更改设置以自动检查软件包更新,并配置来自 Ubuntu 软件存储库的更新。您还可以将 DGX Station 配置为比其他更新更频繁地通知您重要的安全更新。

在以下示例中,DGX Station 配置为每天检查更新,立即显示重要的安全更新,以及每两周显示其他更新。

屏幕截图显示了 Ubuntu “软件和更新”窗口中“更新”选项卡中的选项,用于配置为每天检查更新,立即显示重要的安全更新,以及每两周显示其他更新。

_images/software-and-updates-updates.png