共用方式為

更新 IoT Edge for Linux on Windows

适用于:IoT Edge 1.5 勾选标记 IoT Edge 1.5

重要

IoT Edge 1.5 LTS 是受支持的版本。 IoT Edge 1.4 LTS 的生命周期结束日期为 2024 年 11 月 12 日。 如果你使用的是早期版本,请参阅更新 IoT Edge

发布 Windows 上的适用于 Linux 的 IoT Edge 新版本(EFLOW)应用程序时,更新 IoT Edge 设备以获取最新的功能和安全性改进。 本文介绍如何在新版本可用时在 Windows 设备上更新适用于 Linux 的 IoT Edge。

借助 IoT Edge for Linux on Windows,IoT Edge 可以在 Windows 设备上托管的 Linux 虚拟机中运行。 此虚拟机预安装了 IoT Edge,并且没有包管理器,因此无法手动更新或更改任何 VM 组件。 相反,Microsoft Update 管理虚拟机以自动使组件保持最新状态。

EFLOW 虚拟机旨在通过 Microsoft 更新实现可靠的更新。 虚拟机作系统使用 A/B 更新分区方案来确保每个更新的安全,并允许在更新过程中出现问题时回滚到以前的版本。

每个更新都有两个主要组件,可更新到最新版本。 第一个是 EFLOW 虚拟机及其内部组件。 有关 EFLOW 的详细信息,请参阅 Azure IoT Edge for Linux on Windows 组件。 此外,还包括虚拟机基础操作系统。 EFLOW 虚拟机基于 Azure Linux,每次更新都提供性能和安全更新,使操作系统与最新的 CVE 修补程序保持同步。 EFLOW 发行说明显示使用的 Azure Linux 版本,你可以检查 CBL-Mariner 版本,了解每个版本修复的 CVE 列表。

第二个组件是与 EFLOW 虚拟机运行和互操作所需的 Windows 运行时组件组。 虚拟机生命周期和互操作通过不同的组件进行管理:WSSDAgent、EFLOWProxy 服务和 PowerShell 模块。

EFLOW 更新是有序的,需要按顺序更新到每个版本。 若要访问最新版本,请使用最新可用版本执行全新安装,或将以前的所有服务更新应用到所需的版本。

重要

可以使用本文中所述的任何方法从 EFLOW 1.4 LTS 升级到 EFLOW 1.5 LTS。 从 EFLOW 1.4 LTS 升级到 EFLOW 1.5 LTS 不需要特别的步骤。

若要查找最新版本的 Azure IoT Edge for Linux on Windows,请参阅 EFLOW 版本

使用 Microsoft Update 进行更新

若要在 Windows 更新上获取适用于 Linux 的 IoT Edge,请将 Windows 主机配置为获取其他 Azure 产品的更新。 默认情况下,Microsoft更新在 EFLOW 安装过程中处于打开状态。 如果在 EFLOW 安装后需要自定义配置,请使用以下步骤打开或关闭此选项:

  1. 在 Windows 主机上打开“设置”。

  2. 选择“更新和安全性”

  3. 选择“高级选项”。

  4. “更新 Windows 时接收其他 Azure 产品的更新”选项设置为“开启”

使用 Windows 服务器更新服务 (WSUS) 进行更新

对于 Linux on Windows 的 IoT Edge 更新,支持使用 WSUS 进行本地更新。 有关 WSUS 的详细信息,请参阅设备管理概述 - WSUS

脱机手动更新

如果 Internet 连接受限或有限,则可以脱机应用 EFLOW 更新。 使用 Microsoft Update 的脱机机制手动下载和安装适用于 Windows 上的 Linux 的 IoT Edge 更新。 执行以下步骤:

  1. 查看当前安装的 EFLOW 版本。 打开“设置”,然后选择“应用”-“应用和功能”>。 搜索 Azure IoT Edge

  2. 从 EFLOW 搜索并下载所需的更新 - Microsoft 更新目录

  3. 从下载的 .cab 文件中提取 AzureIoIf you're updating a Windows Server SKU device previous toTEdge.msi

  4. 安装提取的 AzureIoTEdge.msi

管理 Microsoft 更新

Windows 上的 IoT Edge for Linux 更新是使用 Microsoft 更新通道提供服务的。 要更改接收 EFLOW 更新,必须管理 Microsoft 更新。 以下列表包括自动打开或关闭 Azure 更新的方法。 有关管理 OS 更新的详细信息,请参阅 OS 更新

  • CSP 策略 - 使用 Update/AllowMUUpdateService CSP 策略。 有关Microsoft更新 CSP 策略的详细信息,请参阅 策略 CSP - MU 更新

  • 手动管理 Microsoft Update - 若要选择加入 Microsoft Update,请参阅 选择加入 Microsoft Update

从 Azure Linux 2.0 的 EFLOW 迁移至 Azure Linux 3.0 的 EFLOW

Azure Linux 2.0 和 Azure Linux 3.0 之间的迁移是 EFLOW 1.5.5.07025 更新的一部分引入的。 此迁移处理将搭载 Azure Linux 2.0 的 EFLOW VM 从 EFLOW 1.5.4.07025 迁移至搭载 Azure Linux 3.0 的 EFLOW 1.5.5.07025,包括以下内容:

  • IoT Edge 运行时
  • IoT Edge 配置
  • 容器
  • 网络和 VM 配置
  • 存储的文件

若要使用 Azure Linux 2.0 从 EFLOW 1.5.4.07025 迁移到 EFLOW 1.5.5.07025,请使用以下步骤。

  1. 获取最新的 Azure EFLOW 1.5.4.07025 更新。 如果使用 Windows 更新,请检查更新以获取最新的 EFLOW 更新。

  2. 对于自动下载迁移(需要 Internet 连接),请跳过此步骤。 如果 EFLOW VM 具有受限/无 Internet 访问,请先下载必要的文件,然后再开始迁移(下载以下任一文件)。

  3. 打开权限提升的 PowerShell 会话

  4. 启动 EFLOW 迁移

    注意

    使用单个 cmdlet 进行迁移,方法是将 -autoConfirm 标志与 Start-EflowMigration cmdlet 结合使用。 如果指定了 Confirm-EflowMigration,则不需要调用它即可继续进行 Azure Linux 3.0 的迁移。

    1. 如果使用自动下载迁移选项,请运行以下 cmdlet
      Start-EflowMigration
      
    2. 如果在 步骤 2 中下载了 MSI,请使用下载的文件应用迁移(如果使用 ARM64,请将文件路径中的“X64”替换为“ARM64”。
      Start-EflowMigration -standaloneMsiPath "<path-to-folder>\AzureIoTEdge_Update_LTS_1.5.5.07025_X64.msi" 
      
  5. 确认 EFLOW 迁移

    1. 如果使用自动下载迁移选项,请运行以下 cmdlet
      Confirm-EflowMigration
      
    2. 如果在 步骤 2 中下载了 MSI,请使用下载的文件应用迁移(如果使用 ARM64,请将文件路径中的“X64”替换为“ARM64”。
      Confirm-EflowMigration -updateMsiPath "<path-to-folder>\AzureIoTEdge_Update_LTS_1.5.5.07025_X64.msi" 
      

警告

如果出于任何原因迁移失败,EFLOW VM 将还原到其原始 EFLOW 1.5.4.07025 版本(使用 Azure Linux 2.0)。 若要取消迁移或手动将 EFLOW VM 还原到其以前的状态,请运行 Start-EflowMigration cmdlet,然后 Restore-EflowPriorToMigration运行该 cmdlet。

有关详细信息,请使用 Start-EflowMigration 命令查看 Confirm-EflowMigrationRestore-EflowPriorToMigrationGet-Help <cmdlet> -full cmdlet 文档。

后续步骤

查看最新的 IoT Edge for Linux on Windows 版本

了解 在 Windows 安全环境中的 Linux 上的 IoT Edge