本文說明部署或使用 Azure 更新管理員時可能發生的錯誤、如何解決這些錯誤,以及排程修補的已知問題和限制。
一般疑難排解
以下故障排除資訊適用於與 Windows 和 Linux 機器上修補擴充功能相關的 Azure 虛擬機(VM)。
Linux 虛擬機器
要確認 Azure VM 代理程式是否正在執行並在虛擬機上觸發適當的動作,以及驗證自動修補請求的序號,請檢查 Azure 代理程式日誌 /var/log/waagent.log。 每個自動補丁請求在機器上都有唯一的序列號。 尋找類似 2021-01-20T16:57:00.607529Z INFO ExtHandler 的記錄。
延伸模組的套件目錄為 /var/lib/waagent/Microsoft.CPlat.Core.LinuxPatchExtension-<version>。
/status 子資料夾有 <sequence number>.status 檔案。 它包含了在單一自動修補請求中執行的動作簡要描述及狀態。 同時也包含一份更新期間發生的錯誤簡短清單。
若要查看擴充功能執行的所有動作相關的日誌,請前往 /var/log/azure/Microsoft.CPlat.Core.LinuxPatchExtension/。 此資料夾包含以下值得關注的日誌檔案:
-
<seq number>.core.log: 此檔案包含與修補動作相關的資訊。 這些資訊包括已評估並安裝在機器上的修補程式,以及過程中遇到的任何問題。 -
<Date and Time>_<Handler action>.ext.log:補丁動作上方的包裝器用於管理擴充並呼叫特定的補丁操作。 此記錄包含包裝函式的相關資訊。 自動修補時,檔案<Date and Time>_Enable.ext.log中會顯示是否呼叫了特定的修補操作。
Windows 虛擬機器
為了確認虛擬機代理是否在執行並觸發了適當的動作,以及驗證自動修補請求的序號,請檢查代理登入 C:\WindowsAzure\Logs\AggregateStatus。 延伸模組的套件目錄為 C:\Packages\Plugins\Microsoft.CPlat.Core.WindowsPatchExtension<version>。
若要查看擴充功能執行的所有動作相關的日誌,請前往 C:\WindowsAzure\Logs\Plugins\Microsoft.CPlat.Core.WindowsPatchExtension<version>。 此資料夾包含以下值得關注的日誌檔案:
-
WindowsUpdateExtension.log: 此檔案包含與修補動作相關的資訊。 這些資訊包括已評估並安裝在機器上的修補程式,以及過程中遇到的任何問題。 -
CommandExecution.log:補丁動作上方的包裝器用於管理擴充並呼叫特定的補丁操作。 此記錄包含包裝函式的相關資訊。 自動修補時,日誌中會顯示是否被呼叫了特定的修補操作。
定期評估設定不正確
問題
在針對特殊化、已移轉及還原的 VM 建立資源期間,定期評估並未正確設定。
原因
現行修改政策的設計影響了評估結果。 資源建立後,政策會在合規儀表板上顯示這些資源為不合規。
解決方案
執行新建立資源的修復任務。 欲了解更多資訊,請參閱 使用 Azure Policy 修復不合規資源。
排程補丁的前提設定不正確
問題
當您針對特殊化、一般化、已移轉及還原的 VM 建立資源期間,使用使用 Azure 更新管理員排程週期性更新及設定在 Azure 虛擬機器上排程週期性更新的先決條件原則時:
- 排程補丁的前提設定不正確。
- 排班表沒有附帶。
原因
[若不存在則部署] 原則的設計正在影響排定修補。 資源建立後,政策會在合規儀表板上顯示這些資源為不合規。
解決方案
執行新建立資源的修復任務。 欲了解更多資訊,請參閱 使用 Azure Policy 修復不合規資源。
針對映像的政策修復任務失敗
問題
對於圖庫映像檔和加密磁碟的映像,政策修復任務都失敗了。 在 VM 模式下有資源庫映像參考的虛擬機器發生補救失敗。 管理身份需要對圖庫映像的讀取權限,目前它不屬於虛擬機貢獻者的角色。
原因
虛擬機貢獻者這個角色權限不夠。
解決方案
對於所有新的指派,最近的變更會將參與者角色指派給已建立的受控識別,以便進行補救工作。
如果您遇到任何先前分配的修復任務失敗,我們建議您依照透過定義角色授予託管身分權限中的步驟,手動將貢獻者角色授予託管身分。
當連結的資源(畫廊映像或磁碟)位於其他資源群組或訂閱中時,貢獻者角色可能無效,此時需手動在範圍內為管理身份配置正確的角色與權限,以解除修復的阻礙。 請依照「 透過定義角色授予受管理身份權限」中的步驟。
你無法為啟用 Azure Arc 的伺服器產生定期評估
問題
啟用 Azure Arc 伺服器的訂閱服務並未產生評估資料。
原因
訂閱未註冊到正確的資源提供者。
解決方案
確保啟用 Azure Arc 的伺服器訂閱已註冊至 Microsoft.Compute 資源提供者,以確保定期評估資料能如預期定期產生。 深入瞭解。
移動虛擬機時不會套用維護設定
問題
當你將虛擬機移到另一個訂閱或資源群組時,該虛擬機所屬的排程維護設定並未執行。
原因
維護配置目前不支援將分配的資源跨資源群組或訂閱轉移。
解決方案
因應措施是針對您想要移動的資源使用下列步驟。
如果您使用 static 範圍:
- 移除資源分配。
- 將資源移至不同的資源群組或訂用帳戶。
- 重新建立資源指派。
如果您使用 dynamic 範圍:
- 起始或等候下一個排定的執行。 此操作會促使系統完全移除該指派,讓你能繼續下一步。
- 將資源移至不同的資源群組或訂用帳戶。
- 重新建立資源指派。
如果漏掉任何步驟,請將資源移到之前的資源群組或訂閱 ID,然後再重試步驟。
附註
如果資源群組被刪除,請用同名重新建立。 如果訂閱ID被刪除,請聯絡客服團隊以尋求緩解。
你不能把修補程式編排從自動改成手動
問題
你要確保 Windows Update 用戶端不會在你的 Windows Server 實例上安裝修補程式,所以你要把修補程式設定設為手動。 但你無法透過 「變更更新設定」來將補丁協調改成手動更新。
原因
Azure 機器具有修補檔協調流程選項可進行 AutomaticByOS/Windows 自動更新。
解決方案
如果你不想讓 Azure 協調任何修補程式安裝,或你沒有使用自訂修補解決方案,你可以把修補程式協調選項改成 客戶管理排程(預覽)( 或 AutomaticByPlatformByPassPlatformSafetyChecksOnUserSchedule和),並且不把排程或維護設定關聯到機器上。 此設定可確保機器上不會執行修補,直到您明確將其變更為止。
機器未被評估,並顯示 HRESULT 異常
問題
有些機器在合規狀態下顯示為未評估,且你在它們下方會看到異常訊息。 或者,你在入口網站看到 HRESULT 錯誤代碼。
原因
更新代理程式(Windows 版的 Windows Update 代理程式和 Linux 發行版的套件管理員)設定不正確。 Update Manager 依賴機器的更新代理程式提供必要的更新、修補狀態以及已部署修補程式的結果。 若無此資訊,「更新管理員」無法正確回報是否需要或安裝了修補程式。
解決方案
嘗試在電腦本機上執行更新。 如果這個操作失敗,通常代表更新代理程式有設定錯誤。 為了修正這個問題:
對於 Linux 來說,請查看相關文件,確保你能連上套件儲存庫的網路端點。
對於 Windows,請檢查您的代理程式設定,如「更新未從內聯網端點(WSUS 或 Configuration Manager)下載」中所述:
- 如果電腦已針對 Windows Update 進行設定,請確定您可以連線到與 HTTP/Proxy相關的問題中所述的端點。
- 如果電腦針對 Windows Server Update Services (WSUS) 進行設定,請確定您可以連線到 WUServer 登錄機碼所設定的 WSUS 伺服器。
如果您看到 HRESULT 錯誤碼,請按兩下以紅色顯示的例外狀況,以查看整個例外狀況訊息。 檢閱下表以了解可能解決方案或建議動作。
| 例外狀況 | 解決方案或動作 |
|---|---|
Exception from HRESULT: 0x……C |
在 Windows Update 錯誤碼清單中搜尋相關的錯誤碼,以尋找有關例外狀況原因的更多資訊。 |
0x8024402C0x8024401C0x8024402F |
此例外表示網路連線問題。 確保你的電腦有連接到更新管理員的網路。 如需所需埠與位址清單,請參見 網路規劃。 |
0x8024001E |
更新作業未完成,因為正在關閉服務或系統。 重試操作。 |
0x8024002E |
Windows Update 服務已被停用。 啟用該服務。 |
0x8024402C |
如果你用的是 WSUS 伺服器,請確保登錄檔鍵下方WUServer的登錄檔值WUStatusServerHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate都標明正確的 WSUS 伺服器。 |
0x80072EE2 |
可能是網路連線問題,或是與已設定的 WSUS 伺服器通訊時出現問題。 檢查 WSUS 設定,確保該服務能從用戶端存取。 |
The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. (Exception from HRESULT: 0x80070422) |
確保 Windows Update 服務wuauserv()正在執行且沒有被停用。 |
0x80070005 |
以下任何問題都可能導致「存取被拒」錯誤: - 受感染的電腦。 - 未正確設定 Windows Update 設定。 - %WinDir%\SoftwareDistribution 資料夾的檔案權限錯誤。- 系統磁碟機 (C: 磁碟機) 的磁碟空間不足。 |
| 任何其他一般例外狀況 | 上網搜尋可能的解決方法,並與當地的 IT 支援合作。 |
檢閱 %Windir%\Windowsupdate.log 檔案也可協助您判斷可能原因。 欲了解更多如何讀取日誌的資訊,請參閱 Windows Update 日誌檔案。
您也可以下載並執行 Windows Update 疑難排解員,以檢查電腦上的 Windows Update 是否有任何問題。 這個故障排除工具同時適用於 Windows 用戶端和 Windows Server。
你會遇到內部執行錯誤
問題
Update Manager 無法修補虛擬機,並產生內部執行錯誤。 操作不會回傳回應,且可能不完整。
原因
此問題可能是因為更新管理員與虛擬機之間的暫時性問題或通訊失敗所致。 常見的原因包括:
- 臨時平台或後端服務問題。
- 一個無法回應或過時的 Azure VM 代理。
- 虛擬機在操作過程中負載過重或重啟。
- 網路或連線問題。
解決方案
- 幾分鐘後重試更新。
- 確保虛擬機代理程式健康且更新最新。
- 如果代理程式狀態顯示 「未準備好」,試著重新啟動虛擬機。
- 檢查 VM 資源使用量 (CPU、記憶體、磁碟)。 需要時重啟。
- 確認 Azure 服務的網路連線。
- 檢閱虛擬機器和 Update Manager 上的記錄,以取得更多詳細資料。
排定修補無法運作
如有並行或衝突的排程,則只會觸發一個排程。 第一個排程完成之後,就會觸發另一個排程。
如果您已建立新的機器,在使用 Azure VM 的情況下,排程可能會延遲 15 分鐘觸發。
你會收到關機或無反應錯誤
問題
排程更新不會在虛擬機上安裝補丁,並且出現 ShutdownOrUnresponsive 錯誤。
原因
已知的限制可能導致機器上觸發的排程在 8 小時內遭到刪除並以相同的資源 ID 重建,並因此錯誤而失敗。
解決方案
問題不會在8小時後出現。
你無法為關機的機器套用修補程式
問題
已關機的機器無法套用補丁。 您可能也會看到電腦失去其相關聯的維護設定或排程。
原因
機器處於關機狀態。
解決方案
確保你的機器至少在預定更新前15分鐘開機。 更多資訊請參見 關閉機器。
更新紀錄錯誤顯示你已經超過維護期限
問題
當您在 [更新歷程記錄] 中檢視更新部署時,[失敗且已超過維護期間] 屬性會顯示 true,即使有足夠的時間可供執行亦然。 在此情況下,可能會發生下列其中一個問題:
- 不會顯示任何更新。
- 一或多個更新處於 [擱置] 狀態。
- 重新啟動狀態為 「必要」,但即使重啟設定為
IfRequired或Always,也沒有嘗試重啟。
原因
在更新部署期間,維護視窗利用率會在多個步驟中進行檢查。 維護期間有十分鐘可隨時重啟。
在部署收到缺少更新清單、下載或安裝更新前,會檢查維護視窗內是否有足夠時間:
- 除了 Windows 服務包外,所有更新時間:15 分鐘 + 重啟 10 分鐘,總共 25 分鐘。
- Windows 服務包更新:重啟需 20 分鐘 + 10 分鐘,總共 30 分鐘。
如果部署時間不夠,就會跳過掃描、下載和安裝更新。 部署執行後會檢查是否需要重啟,以及維護視窗是否還剩 10 分鐘。 如果是這樣,部署會觸發重啟。 否則會略過重新啟動。
在這種情況下,狀態會更新為 [失敗],且 [已超過維護期間] 屬性會更新為 true。 若剩餘時間不到 25 分鐘,則不會掃描或嘗試安裝更新。
若要尋找詳細資訊,請檢閱部署執行的錯誤訊息中提供的檔案路徑中的記錄。
解決方案
在觸發 按需更新部署時,設定更長的持續時間以達到最大持續時間。
未安裝 Windows/Linux OS Update 延伸模組
問題
你無法在啟用 Azure Arc 的機器上進行修補。
原因
Windows/Linux 作業系統的更新擴充功能必須成功安裝於支援 Azure Arc 的機器上,才能執行按需評估、修補及排程修補。
解決方案
觸發隨選評量或修補,以在機器上安裝延伸模組。 你也可以將機器納入維護配置排程,當依照配置排程執行補丁安裝時,將自動安裝擴充功能。
如果該擴充功能已經存在於啟用 Azure Arc 的機器上,但擴充功能狀態未顯示 成功,請 移除該擴充功能 ,然後觸發按需操作重新安裝。
未安裝 Windows/Linux 修正程式更新延伸模組
問題
你無法在 Azure VM 上進行修補。
原因
Windows/Linux 修補更新擴充套件必須成功安裝於 Azure 機器上,才能執行按需評估或修補、排程修補及定期評估。
解決方案
觸發隨選評量或修補,以在機器上安裝延伸模組。 你也可以將機器加入維護設定排程,當依據排程施行補丁時,系統會安裝擴充功能。
如果該擴充功能已經存在於機器上,但擴充功能狀態未顯示 為成功,請移除該擴充功能,然後觸發按需操作重新安裝。
擴充檢查失敗
問題
確保 AllowExtensionOperations 屬性設定正確的檢查失敗。
原因
AllowExtensionOperations屬性設定為false於機器的OSProfile介面。
解決方案
為了讓擴展能正常運作,請將屬性設為 true。
沒有 Sudo 權限
問題
你可能會看到以下例外:
EXCEPTION: Exception('Unable to invoke sudo successfully. Output: root is not in the sudoers file. This incident will be reported. False ',)
原因
在 Linux 機器上,擴充功能不會被授予 sudo 權限來進行評估或修補操作。
Update Manager 需要高度權限,因為 Update Manager 可能更新的元件眾多(包括核心驅動程式與作業系統安全修補)。 Update Manager 的擴充功能會使用 root 帳號進行操作。
解決方案
授予 sudo 權限以確保評估或修補操作成功。 你需要將根帳號加入檔案:/etc/sudoers
開啟
sudoers檔案進行編輯:sudo visudo將下列項目新增至檔案結
sudoers尾:root ALL=(ALL) ALL用 Ctrl+X 鍵盤快捷鍵儲存並關閉編輯器。 如果你用的是 vi 編輯器,可以輸入
:wq後選擇 Enter 鍵。
Proxy 已設定
問題
代理伺服器會阻擋對評估或修補操作成功所需的端點存取。
原因
代理伺服器會設定在你的 Windows 或 Linux 機器上。
解決方案
關於 Windows,請參見 HTTP/代理相關議題。
對於 Linux,請確保代理設定不會阻擋下載和安裝更新所需的儲存庫存取。
TLS 1.2 檢查失敗
問題
確認你使用的是 TLS 1.2 的檢查失敗了。
原因
你使用的是 TLS 1.0 或 TLS 1.1。 這些版本已被棄用。
解決方案
使用 TLS 1.2 或更新版本。
關於 Windows,請參見 TLS/SSL(Schannel SSP)中的協定。
對於 Linux,請執行以下指令以查看你發行版支援的 TLS 版本: nmap --script ssl-enum-ciphers -p 443 www.azure.com。
HTTPS 連線檢查失敗
問題
確保 HTTPS 連線可用性的檢查失敗。
原因
目前無法使用 HTTPS 連線。 此連線是從每個作業系統所需端點下載及安裝更新所必需的。
解決方案
允許你從你的電腦建立 HTTPS 連線。
MsftLinuxPatchAutoAssess 服務並未執行或逾時
問題
定期評估並未在您的 Linux 機器上運作。
原因
MsftLinuxPatchAutoAssess 服務是成功定期評估所必需的。
解決方案
請確保機器的狀態 LinuxPatchExtension 為 succeeded。 重新啟動機器,以檢查問題是否已解決。
無法存取 Linux 存放庫
問題
更新可從每個 Linux 發行版的已設定的公開或私有儲存庫下載。 機器無法連接到這些儲存庫來下載或評估更新內容。
原因
網路安全規則可能會阻擋重要連線。
解決方案
確保網路安全規則不會阻礙你的機器連接到必要的更新儲存庫。
相關內容
- 想了解更多關於更新管理員的資訊,請參閱 該概述。
- 要查看所有機器的記錄結果,請參閱 使用 Azure 資源圖譜存取 Azure Update Manager 操作資料。