適用於:
IoT Edge 1.1
這很重要
IoT Edge 1.1 終止支援日期為 2022 年 12 月 13 日。 如需此產品、服務、技術或 API 的支援資訊,請參閱 Microsoft 產品生命週期。 如需更新至最新版 IoT Edge 的詳細資訊,請參閱 更新 IoT Edge。
當 Windows 上的適用於 Linux 的 IoT Edge 應用程式發行新版本時,您會想要更新 IoT Edge 裝置,以取得最新的功能和安全性改善。 本文提供在新版本發行時如何更新 IoT Edge for Linux on Windows 裝置的相關資訊。
針對 IoT Edge for Linux on Windows,IoT Edge 會在 Windows 裝置上託管的 Linux 虛擬機器中執行。 此虛擬機已預安裝與IoT Edge,且沒有套件管理員,因此您無法手動更新或變更任何 VM 元件。 系統會改用 Microsoft Update 管理虛擬機器,以自動讓元件保持最新狀態。
EFLOW 虛擬機器的設計理念是要透過 Microsoft Update 可靠地進行更新。 虛擬機器作業系統具備 A/B 更新資料分割配置,可利用這些子集保障每次更新安全,並在更新流程期間發生錯誤時啟用復原至舊版的功能。
每次更新都包含兩個主要元件,這些元件可能會更新為最新版本。 第一個是 EFLOW 虛擬機器和內部元件。 如需 EFLOW 的詳細資訊,請參閱 Azure IoT Edge for Linux on Windows 組態。 這也包括虛擬機器基本作業系統。 EFLOW 虛擬機器是以 Microsoft CBL-Mariner 為基礎,每次更新都會提供效能和安全性修正,讓操作系統保有最新的 CVE 修補檔。 在 EFLOW 版本資訊中,版本會指出所使用的 CBL-Mariner 版本,使用者也可以檢查 CBL-Mariner 版本,以取得每個版本已修正的 CVE 清單。
第二個元件是執行 EFLOW 虛擬機器並與其 Interop 所需的 Windows 執行階段元件群組。 虛擬機生命週期和 Interop 是透過不同的元件來管理:WSSDAgent、EFLOWProxy 服務和 PowerShell 模組。
EFLOW 更新是循序的,您必須依序更新至每個版本,這表示若要取得最新版本,您必須使用最新的可用版本執行全新安裝,或將所有先前的服務更新套用至所需的版本。
若要尋找 Azure IoT Edge for Linux on Windows 的最新版本,請參閱 EFLOW 發行版本。
使用 Microsoft Update 來更新
若要接收 IoT Edge for Linux on Windows 更新,您應設定 Windows 主機以接收其他 Microsoft 產品的更新。 根據預設,會在 EFLOW 安裝期間開啟Microsoft更新。 如果在 EFLOW 安裝之後需要自訂設定,您可以使用下列步驟來開啟/關閉此選項:
開啟 Windows 主機上的 [設定]。
選取 [更新與安全性]。
選取 [進階選項]。
將 [在更新 Windows 時接收其他 Microsoft 產品的更新] 按鈕切換為 [開啟]。
使用 Windows Server Update Services (WSUS) 來更新
在 IoT Edge for Linux on Windows 更新中,支援運用 WSUS 進行內部部署更新。 如需 WSUS 的詳細資訊,請參閱裝置管理概觀 - WSUS。
離線手動更新
在網際網路連線遭限制或有限的情況下,您可能會想以離線模式,手動套用 EFLOW 更新。 使用 Microsoft Update 離線機制就有可能完成。 您可以採用下列步驟,手動下載並安裝 IoT Edge for Linux on Windows 更新:
檢查目前的 EFLOW 安裝版本。 開啟 [設定],選取 [應用程式 ->應用程式與功能] 搜尋 Azure IoT Edge LTS。
從 EFLOW - Microsoft Update 目錄搜尋並下載必要的更新。
從已下載的 .cab 檔案擷取 AzureIoTEdge.msi。
安裝已擷取的 AzureIoTEdge.msi。
管理 Microsoft 更新
如先前所述,適用於 Windows 的 Linux 的 IoT Edge 更新是透過 Microsoft Update 通道提供服務。要開啟或關閉 EFLOW 更新,您必須管理 Microsoft Update。 以下列出自動化開啟/關閉Microsoft更新的一些方式。 如需管理 OS 更新的詳細資訊,請參閱 OS 更新。
CSP 原則 - 使用 Update/AllowMUUpdateService CSP 原則 - 如需 Microsoft Update CSP 原則的詳細資訊,請參閱原則 CSP - MU 更新。
手動管理 Microsoft Update - 如需如何加入至 Microsoft Update 的詳細資訊,請參閱加入至 Microsoft Update。
特殊案例:從 HCS 到 VMMS 的移轉過程適用於伺服器 SKU 產品。
如果您要將 Windows Server SKU 裝置的 Linux on Windows IoT Edge 從早於 1.1.2110.0311 版本的版本更新至最新版本,您需要進行手動移轉。
Update 1.1.2110.0311 引進了用於 EFLOW Windows Server 部署的 VM 技術 (HCS 至 VMMS) 的變更。 您可以使用下列步驟執行 VM 移轉:
使用 Microsoft Update,下載並安裝 1.1.2110.0311 更新(與任何其他 EFLOW 更新相同,只要開啟 EFLOW 更新,就不需要手動步驟)。
EFLOW 更新完成後,請開啟提升許可權的 PowerShell 會話。
執行移轉文稿:
Migrate-EflowVmFromHcsToVmms
備註
Windows Server SKU 上的全新 EFLOW 1.1.2110.0311 MSI 安裝會導致使用 VMMS 技術進行 EFLOW 部署,因此不需要移轉。
EFLOW 1.1LTS 與 EFLOW 1.4LTS 之間的移轉
IoT Edge for Linux on Windows 不支援不同版本定型之間的移轉。 如果您想要從 1.1LTS 或 1.4LTS 版本移至連續版本 (CR) 版本或 viceversa,您必須卸載目前的版本並安裝新的所需版本。
EFLOW 1.1LTS 與 EFLOW 1.4LTS 之間的移轉是 EFLOW 1.1LTS (1.1.2212.12122) 的部分更新。 此移轉會處理從 1.1LTS 版本移轉至 1.4LTS 版本的 EFLOW VM,包括下列專案:
- IoT Edge 執行階段
- IoT Edge 設定
- 容器
- 網路和 VM 設定
- 儲存檔案
若要在 EFLOW 1.1LTS 和 EFLOW 1.4LTS 之間進行移轉,請按照下列步驟進行。
取得最新的 Azure EFLOW 1.1LTS (1.1.2212.12122) 更新。 如果您使用 Windows Update,檢查更新以取得最新 EFLOW 更新。
針對自動下載移轉 (需要網際網路連線),請略過此步驟。 如果 EFLOW VM 有限制/沒有網際網路存取,請在開始移轉前下載必要檔案。
開啟提升權限的 PowerShell 工作階段
開始 EFLOW 移轉
備註
您可以使用
-autoConfirm旗標搭配Start-EflowMigrationcmdlet,透過單一命令來進行移轉。 如果指定Confirm-EflowMigration不需要呼叫 ,即可繼續 1.4 移轉。- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
Start-EflowMigration - 如果您在步驟 2 下載了 MSI,請使用下載的檔案來執行遷移
Start-EflowMigration -standaloneMsiPath "<path-to-folder>\AzureIoTEdge_LTS_1.4.2.12122_X64.msi"
- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
確認 EFLOW 移轉
- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
Confirm-EflowMigration - 如果您在步驟 2 下載了 MSI,請使用下載的檔案來執行遷移
Confirm-EflowMigration -updateMsiPath "<path-to-folder>\AzureIoTEdge_LTS_Update_1.4.2.12122_X64.msi"
- 如果您使用自動下載移轉選項,請執行下列 Cmdlet
如果移轉失敗,EFLOW VM 將會還原為原始的 1.1LTS 版本。
如果您想要取消移轉,您可以使用下列 Cmdlet Start-EflowMigration ,然後 Restore-EflowPriorToMigration
如需詳細資訊,請使用 Start-EflowMigration 命令以查看 Confirm-EflowMigration、Restore-EflowPriorToMigration 和 Get-Help <cmdlet> -full cmdlet 文件。