針對 Azure 更新管理員問題進行疑難排解
本文說明部署或使用 Azure 更新管理員時可能發生的錯誤、如何解決這些錯誤,以及排程修補的已知問題和限制。
一般疑難排解
下列疑難排解步驟適用於與 Windows 和 Linux 機器上的修補檔延伸模組相關的 Azure 虛擬機器 (VM)。
Azure Linux VM
若要確認 Microsoft Azure 虛擬機器代理程式 (VM 代理程式) 是否正在執行,且已觸發機器上的適當動作以及自動修補要求的序號,請前往 /var/log/waagent.log
查看代理程式記錄以取得詳細資訊。 每個自動修補要求在機器上都有與其相關聯的不重複序號。 尋找類似 2021-01-20T16:57:00.607529Z INFO ExtHandler
的記錄。
延伸項目的套件目錄為 /var/lib/waagent/Microsoft.CPlat.Core.Edp.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
具有是否叫用特定修補作業的資訊。
Azure Windows VM
若要確認 VM 代理程式是否正在執行,且已觸發機器上的適當動作以及自動修補要求的序號,請前往 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 期間使用定期評量原則時,定期評量不會正確設定
原因
由於目前修改原則的設計方式,定期評量無法在建立特製化、已移轉和還原的 VM 期間正確設定。 建立後,原則會在合規性儀表板上將這些資源顯示為不符合規範。
解決方法
執行建立後的補救工作來補救新建立的資源。 如需詳細資訊,請參閱使用 Azure 原則補救不符合規範的資源。
在建立特製化、一般化、已移轉和已還原的 VM 期間使用特定原則時,排程修補的必要條件未正確設定且不會附加排程
原因
由於目前「不存在時即進行部署」原則的設計方式,當您在建立特製化、一般化、已移轉和已還原的 VM 期間用到使用 Azure 更新管理員排定週期性更新和設定在 Azure 虛擬機上排定週期性更新的必要條件時,排程修補的必要條件和附加排程無法正確設定。 建立後,原則會在合規性儀表板上將這些資源顯示為不符合規範。
解決方法
執行建立後的補救工作來補救新建立的資源。 如需詳細資訊,請參閱使用 Azure 原則補救不符合規範的資源。
資源庫映像和具有加密磁碟的映像上無法進行原則補救工作
問題
在虛擬機器模式中,具有資源庫映像參考的 VM 發生補救失敗。 這是因為其需要資源庫映像的讀取權限,而這目前不是虛擬機器參與者角色的一部分。
原因
虛擬機器參與者角色沒有足夠的權限。
解決方法
- 已針對所有新指派引進最新的變更,可為原則指派期間建立的受控識別提供參與者角色以進行補救。 接下來,這將會指派給任何新的指派。
- 對於先前遇到補救工作失敗的任何指派,建議您遵循透過已定義角色將權限授與受控識別底下所列的步驟,手動將參與者角色指派給受控識別
- 此外,在連結資源 (資源庫映像或磁碟) 位於另一個資源群組或訂用帳戶,使得參與者角色無法運作的情況下,請遵循透過已定義角色將權限授與受控識別中的步驟,手動為受控識別提供範圍上的正確角色和權限,將補救功能解除封鎖。
無法為已啟用 Arc 的伺服器產生定期評量
問題
訂用帳戶若已將啟用 Arc 的伺服器上線,就不會產生評量資料。
解決方法
必須確定 Arc 伺服器訂用帳戶已向 Microsoft.Compute 資源提供者註冊,才能如預期般定期產生定期評量資料。 深入了解
當 VM 移至不同的訂用帳戶或資源群組時,不會套用維護設定
問題
當 VM 移至另一個訂用帳戶或資源群組時,與 VM 相關聯的排程維護設定不會執行。
解決方法
維護設定目前不支援跨資源群組或訂用帳戶移動指派的資源。 因應措施是針對您想要移動的資源使用下列步驟。 先決條件是移除指派,再遵循步驟。
如果您使用 static
範圍:
- 將資源移至不同的資源群組或訂用帳戶。
- 重新建立資源指派。
如果您使用 dynamic
範圍:
- 起始或等候下一個排定的執行。 此動作會提示系統完全移除指派,以便繼續進行後續步驟。
- 將資源移至不同的資源群組或訂用帳戶。
- 重新建立資源指派。
如果遺漏任何步驟,請將資源移至先前的資源群組或訂用帳戶識別碼,然後重新嘗試執行步驟。
注意
如果資源群組遭刪除,請以相同名稱重新建立一個。 如果訂用帳戶識別碼遭刪除,請向支援小組尋求因應措施。
無法將修補協調流程選項從自動更新變更為手動更新
問題
您想要確保 Windows Update 用戶端不會在 Windows Server 上安裝協定,因此您想要將修補程式設定設為 [手動]。 Azure 機器具有修補協調流程選項:AutomaticByOS/Windows
自動更新,而您無法使用變更更新設定將修補協調流程變更為手動更新。
解決方法
如果您不想讓 Azure 協調任何修補程式安裝,或不要使用自訂修補解決方案,您可以將修補協調流程選項變更為客戶管理的排程 (預覽) 或 AutomaticByPlatform
和 ByPassPlatformSafetyChecksOnUserSchedule
,並且不要將排程/維護設定與機器產生關聯。 此設定可確保機器上不會執行修補,直到您明確將其變更為止。 如需詳細資訊,請參閱使用者案例中的案例 2。
電腦顯示為 [未評估] 並顯示 HRESULT 例外狀況
問題
- 您有在 [合規性] 底下顯示為
Not assessed
的電腦,並在其下方看到例外狀況訊息。 - 您會在入口網站中看到
HRESULT
錯誤碼。
原因
更新代理程式 (Windows 上的 Windows Update 代理程式和 Linux 發行版本的套件管理員) 未正確設定。 「更新管理員」依賴電腦的更新代理程式提供所需的更新、修補程式的狀態,以及所部署修補程式的結果。 若無此資訊,「更新管理員」無法正確回報是否需要或安裝了修補程式。
解決方法
嘗試在電腦本機上執行更新。 如果此作業失敗,通常表示有更新代理程式設定錯誤。
此問題通常是因為網路設定和防火牆問題所造成。 使用下列檢查來更正此問題:
針對 Linux,請檢查適當的文件,確定您可以連線到套件存放庫的網路端點。
針對 Windows,請檢查您的代理程式設定,如更新不是從內部網路端點 (WSUS/SCCM) 下載所述。
- 如果機器已針對 Windows Update 設定,請確保您可以連線到 HTTP/Proxy 相關問題中所述的端點。
- 如果機器針對 Windows Server Update Services (WSUS) 設定,請確保您可以連線到 WUServer 登錄機碼所設定的 WSUS 伺服器。
如果您看到 HRESULT
錯誤碼,請按兩下以紅色顯示的例外狀況,以查看整個例外狀況訊息。 檢閱下表以了解可能解決方案或建議動作。
例外狀況 | 解決方案或動作 |
---|---|
Exception from HRESULT: 0x……C |
在 Windows Update 錯誤碼清單中搜尋相關的錯誤碼,以尋找有關例外狀況原因的更多資訊。 |
0x8024402C 0x8024401C 0x8024402F |
指出網路連線問題。 請確定您的電腦有網路連線能力來連線到「更新管理」。 如需必要連接埠和位址清單,請參閱網路規劃一節。 |
0x8024001E |
更新作業未完成,因為正在關閉服務或系統。 |
0x8024002E |
Windows Update 服務已停用。 |
0x8024402C |
如果您使用 WSUS 伺服器,請確定 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate 登錄機碼底下 WUServer 和 WUStatusServer 的登錄值指定正確的 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
檔案也可以協助您判斷可能原因。 如需如何讀取記錄的詳細資訊,請參閱讀取 Windowsupdate.log 檔案。
您也可以下載並執行 Windows Update 疑難排解員,以檢查電腦上的 Windows Update 是否有任何問題。
注意
Windows Update 疑難排解員文件指出其用於 Windows 用戶端,但是也適用於 Windows Server。
排程修補中的已知問題
- 若是並行或是有衝突的排程,只會觸發一個排程。 第一個排程完成之後,就會觸發另一個排程。
- 對於 Azure VM,如果剛建立機器,則排程可能會有 15 分鐘的排程觸發程序延遲。
排程修補失敗,錯誤為 'ShutdownOrUnresponsive'
問題
排程修補尚未在 VM 上安裝修補程式,並將錯誤顯示為 『ShutdownOrUnresponsive』。
解決方法
由於已知限制,若排程是在刪除後不到 8 小時,又以相同資源識別碼重新建立的機器上觸發,則會因為發生 ShutdownOrUnresponsive 錯誤而失敗。
無法對關閉機器套用修補程式
問題
修補程式不會套用到處於關機狀態的機器。 您可能也會看到電腦失去其相關聯的維護設定或排程。
原因
機器處於關機狀態。
解決方法
請確定您的電腦在排程更新前至少開啟 15 分鐘。 如需詳細資訊,請參閱關閉機器。
修補執行失敗,且即使還有剩餘時間,「已超過維護期間」屬性仍顯示為 true
問題
當您在 [更新歷程記錄] 中檢視更新部署時,[失敗且已超過維護期間] 屬性會顯示 true,即使有足夠的時間可供執行亦然。 在此情況下,可能會發生下列其中一個問題:
- 不會顯示任何更新。
- 一或多個更新處於 [擱置] 狀態。
- 重新開機狀態為 [必要],但即使傳入的重新開機設定為
IfRequired
或Always
,也不會嘗試重新開機。
原因
在更新部署期間,系統會以多個步驟檢查維護視窗使用率。 維護期間的十分鐘會保留給任何時間點的重新開機使用。 在部署取得遺漏的更新清單或下載或安裝任何更新 (Windows Service Pack 更新除外) 之前,系統會檢查是否有 15 分鐘 + 10 分鐘的時間可用於重新開機 (也就是,在維護視窗中保留 25 分鐘)。
針對 Windows Service Pack 更新,部署會檢查是否有 20 分鐘 + 10 分鐘 (也就是 30 分鐘) 的時間可用於重新開機。 如果部署沒有足夠的剩餘時間,則會略過更新的掃描/下載/安裝。 部署執行接著會檢查是否需要重新開機,以及維護視窗是否保留了 10 分鐘。 如果有,部署會觸發重新啟動。 否則會略過重新啟動。
在這種情況下,狀態會更新為 失敗,且 超出維護視窗 屬性會更新為 true。 如果剩餘時間少於 25 分鐘,則不會掃描或嘗試安裝更新。
若要尋找詳細資訊,請檢閱部署執行錯誤訊息中提供的檔案路徑記錄。
解決方法
在觸發隨選更新部署時,為持續時間上限設定較長的時間範圍,有助於避免發生問題。
未安裝 Windows/Linux OS Update 延伸模組
問題
Windows/Linux OS Update 延伸模組必須成功安裝在 Arc 機器上,才能執行隨選評量、修補和排定修補。
解決方法
觸發隨選評量或修補,以在機器上安裝延伸模組。 您也可以將機器連結至維護設定排程,此排程會在依據排程執行修補時安裝延伸模組。
如果延伸模組已存在於 Arc 計算機上,但延伸模塊狀態不是 成功,請確定您 移除延伸模組 並觸發隨選作業,使其再次安裝。
未安裝 Windows/Linux 修正程式更新延伸模組
問題
Windows/Linux 修正程式更新延伸模組必須成功安裝在 Azure 機器上,才能執行隨選評量或修補、排定修補及定期評量。
解決方法
觸發隨選評量或修補,以在機器上安裝延伸模組。 您也可以將機器連結至維護設定排程,此排程會在依據排程執行修補時安裝延伸模組。
如果擴充功能已存在於計算機上,但擴充功能狀態為 [ 成功],請觸發隨選作業,以再次安裝它。
允許延伸模組作業檢查失敗
問題
AllowExtensionOperations 屬性在機器 OSProfile 中設定為 false。
解決方法
此屬性應該設定為 true,以允許延伸模組正常運作。
Sudo 權限不存在
問題
Sudo 權限並未授與給延伸模組以便在 Linux 機器上執行評量或修補作業。
解決方法
授與 sudo 權限,以確保評量或修補作業成功。
Proxy 已設定
問題
Proxy 已設定於 Windows 或 Linux 機器,可能會阻止存取讓評量或修補作業成功所需的端點。
解決方法
針對 Windows,請參閱與 Proxy 相關的問題。
針對 Linux,請確定 Proxy 安裝程式不會阻止存取下載和安裝更新所需的存放庫。
TLS 1.2 檢查失敗
問題
TLS 1.0 和 TLS 1.1 已被取代。
解決方法
使用 TLS 1.2 以上版本。
針對 Windows,請參閱 TLS/SSL 通道 SSP 中的通訊協定。
針對 Linux,執行下列命令以查看您的發行版本支援的 TLS 版本。
nmap --script ssl-enum-ciphers -p 443 www.azure.com
Https 連線檢查失敗
問題
無法使用 Https 連線,這是從每個作業系統的必要端點下載及安裝更新所需的連線。
解決方法
允許來自您機器的 Https 連線。
MsftLinuxPatchAutoAssess 服務不在執行中,或 Time 未使用中
問題
需要 MsftLinuxPatchAutoAssess 才能在 Linux 機器上成功定期評量。
解決方法
確定機器的 LinuxPatchExtension 狀態為成功。 重新啟動機器,以檢查問題是否已解決。
無法存取 Linux 存放庫
問題
更新是從每個 Linux 發行版本的已設定公用或私人存放庫進行下載。 機器無法連線到這些存放庫以下載或評估更新。
解決方法
確定網路安全性規則不會妨礙連線到更新作業所需的存放庫。
下一步
- 若要深入了解更新管理員,請參閱概觀。
- 若要檢視來自您所有機器的記錄結果,請參閱從更新管理員查詢記錄和結果。