分享方式:


如何部署更新並檢閱結果

警告

這篇文章參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

本文說明如何排程更新部署,並在部署完成之後檢閱程式。 您可以從選取的 Azure 虛擬機、選取的已啟用 Azure Arc 的伺服器,或從所有已設定機器和伺服器的自動化帳戶設定更新部署。

在每個案例下,您建立的目標是選取的計算機或伺服器,或在從自動化帳戶建立部署時,您可以以一或多部計算機為目標。 當您從 Azure VM 或已啟用 Azure Arc 的伺服器排程更新部署時,步驟與從自動化帳戶部署相同,但有下列例外狀況:

  • 操作系統會根據計算機的OS自動預先選取。
  • 要更新的目標計算機會自動設定為目標本身。

重要

藉由建立更新部署,您可以接受公司為其操作系統提供更新的軟體授權條款 (EULA) 條款。

登入 Azure 入口網站

登入 Azure 入口網站

排定更新部署

排程更新部署會建立連結至 Patch-MicrosoftOMSComputers Runbook 的排程資源,以處理目標機器或機器上的更新部署。 您必須排程遵循發行排程和服務視窗的部署,才能安裝更新。 您可以選擇要包含在部署中的更新類型。 例如,您可以包含重大或安全性更新,以及排除更新匯總。

注意

如果您在建立部署之後從 Azure 入口網站 或使用PowerShell 刪除排程資源,刪除會中斷排程的更新部署,並在您嘗試從入口網站重新設定排程資源時顯示錯誤。 您只能藉由刪除對應的部署排程來刪除排程資源。

若要排程新的更新部署,請執行下列步驟。 視選取的資源而定(也就是自動化帳戶、已啟用 Azure Arc 的伺服器、Azure VM),下列步驟適用於設定部署排程時有輕微差異的所有專案。

  1. 在入口網站中,若要排程下列專案的部署:

    • 一或多部機器,流覽至 自動化帳戶 ,然後從清單中選取已啟用更新管理的自動化帳戶。
    • 針對 Azure VM,流覽至 [虛擬機 ],然後從清單中選取您的 VM。
    • 針對已啟用 Azure Arc 的伺服器,流覽至 [ 伺服器 - Azure Arc ],然後從清單中選取您的伺服器。
  2. 視您選取的資源而定,流覽至 [更新管理]:

    • 如果您選取自動化帳戶,請移至 [更新管理] 下的 [更新管理],然後選取 [排程更新部署]。
    • 如果您選取 Azure VM,請移至 [ 客體 + 主機更新],然後選取 [移至更新管理]。
    • 如果您選取已啟用 Azure Arc 的伺服器,請移至 [ 更新管理],然後選取 [ 排程更新部署]。
  3. 在 [新增更新部署] 底下,於 [名稱] 字段中輸入部署的唯一名稱。

  4. 選取要針對更新部署設定目標的作業系統。

    注意

    如果您選取了已啟用 Azure VM 或已啟用 Azure Arc 的伺服器,則無法使用此選項。 系統會自動識別。

  5. 要更新 區域的群組中,定義結合訂用帳戶、資源群組、位置和標籤的查詢,以建置要包含在部署中的 Azure VM 動態群組。 若要深入瞭解,請參閱 搭配更新管理使用動態群組。

    注意

    如果您選取了已啟用 Azure VM 或已啟用 Azure Arc 的伺服器,則無法使用此選項。 機器會自動以排程部署為目標。

    重要

    建置 Azure VM 的動態群組時,更新管理只支援最多 500 個查詢,這些查詢會結合群組範圍內的訂用帳戶或資源群組。

  6. [要更新 區域的機器] 中,選取已儲存的搜尋、匯入的群組,或從下拉功能表中挑選 [機器 ],然後選取個別計算機。 使用此選項,您可以看到每部計算機的Log Analytics代理程式整備程度。 若要瞭解在 Azure 監視器記錄中建立電腦群組的不同方法,請參閱 Azure 監視器記錄中的電腦群組。 在排程的更新部署中,最多可以包含1000部機器。

    注意

    如果您選取了已啟用 Azure VM 或已啟用 Azure Arc 的伺服器,則無法使用此選項。 機器會自動以排程部署為目標。

  7. 使用更新 分類 區域來指定 產品的更新分類 。 針對每個產品,取消選取所有支援的更新分類,但要包含在更新部署中的更新分類。

    顯示選取特定更新分類的範例。

    如果您的部署只套用一組選取的更新,則必須在設定 [包含/排除更新] 選項時取消選取所有預先選取的更新分類,如下一個步驟所述。 這可確保只會在目標計算機上安裝您指定要 包含在 此部署中的更新。

    注意

    RTM 版本的 CentOS 不支援依更新分類部署更新。 為了適當部署 CentOS 更新,請選取所有分類以確保套用所有更新。 目前沒有支援的方法可以在 CentOS 上啟用原生分類資料可用性。 如需更新分類的詳細資訊,請參閱下列各項。

    注意

    更新管理所支援的Linux散發版本可能無法正確部署更新分類。 這是 OVAL 檔案命名架構所識別的問題,這可防止更新管理根據篩選規則正確比對分類。 由於安全性更新評估中使用的不同邏輯,結果可能會與部署期間套用的安全性更新不同。 如果您已將分類設定為 [重大 ] 和 [安全性],更新部署將會如預期般運作。 評估期間只會影響更新的分類。

    Windows Server 計算機的更新管理不受影響;更新分類和部署不會變更。

  8. 使用 Include/exclude 更新區域,從部署新增或排除選取的更新。 在 [ 包含/排除 ] 頁面上,您可以輸入 KB 發行項識別符編號,以包含或排除 Windows 更新。 針對支援的 Linux 散發版本,您可以指定套件名稱。

    顯示如何包含特定更新的範例。

    重要

    請記住,排除專案會覆寫包含專案。 例如,如果您定義的 *排除規則,更新管理會排除安裝中的所有修補程式或套件。 排除的修補程式仍會顯示為電腦遺失。 針對 Linux 機器,如果您包含已排除相依套件的套件,更新管理不會安裝主要套件。

    注意

    您無法指定已取代以包含在更新部署中的更新。

    以下是一些範例案例,可協助您瞭解如何在更新部署中同時使用包含/排除和更新分類:

    • 如果您只想要安裝特定的更新清單,就不應該選取任何更新分類,並提供使用 [包含] 選項套用的更新清單。

    • 如果您想要只安裝安全性和重大更新,以及一或多個選擇性更新,您應該在 [更新分類] 底下選取 [安全性和重大]。 然後,針對 [包含] 選項,指定選擇性更新的 KBID。

    • 如果您想要只安裝安全性和重大更新,但略過 Python 的一或多個更新以避免中斷舊版應用程式,您應該在 [更新分類] 底下選取 [安全性和重大]。 然後,針對 [ 排除] 選項新增 Python 套件以略過。

  9. 選取 [ 排程設定]。 默認開始時間為目前時間之後 30 分鐘。 您可以將開始時間設定為未來 10 分鐘的任何時間。

  10. 使用 [週期] 來指定部署是否發生一次,或使用週期性排程,然後選取 [確定]。

  11. 在 [ 前置腳本 + 後置腳本 ] 區域中,選取部署前後要執行的腳本。 若要深入瞭解,請參閱 管理前置腳本和後置腳本

  12. 使用維護時段 (分鐘) 欄位,指定允許安裝更新的時間長度。 在指定維護時間範圍時,請考慮下列詳細資料:

    • 維護時間範圍可控制要安裝的更新數目。
    • 如果更新程序中的下一個步驟是安裝 Service Pack,則在維護時段中必須還剩 20 分鐘,否則將略過該更新。
    • 如果更新程序中的下一個步驟是安裝除 Service Pack 之外的任何其他類型的更新,則在維護時段中必須還剩 15 分鐘,否則將略過該更新。
    • 如果更新程序中的下一個步驟是重新開機,則在維護時段中必須還剩 10 分鐘,否則將略過該重新開機。
    • 如果維護時間範圍即將結束,更新管理並不會停止安裝新的更新。
    • 如果超出維護時間範圍,更新管理並不會終止進行中的更新。 不會嘗試安裝任何剩餘的更新。 如果持續發生此情況,您應該重新評估維護時段的持續時間。
    • 如果在 Windows 上超出維護時間範圍,通常是因為 Service Pack 更新需要很長的時間才能安裝完成。

    注意

    若要避免在Ubuntu上的維護期間外套用更新,請重新設定 Unattended-Upgrade 套件以停用自動更新。 如需如何設定套件的資訊,請參閱 Ubuntu Server 指南中的自動更新主題。

  13. 使用 [ 重新啟動選項 ] 字段指定在部署期間處理重新啟動的方式。 下列是可用的選項:

    • 必要時重新啟動 (預設值)
    • 一律重新啟動
    • 永不重新啟動
    • 僅重新啟動;此選項不會安裝更新

    注意

    如果重新啟動選項設定為 [永不重新啟動] ,則用來管理重新啟動的登錄機碼下所列的登錄機碼可能會導致重新啟動事件

  14. 完成部署排程的設定後,請選取 [ 建立]。

    更新排程 設定 窗格

    注意

    當您完成為選取的已啟用 Azure Arc 的伺服器設定部署排程時,請選取 [ 檢閱 + 建立]。

  15. 系統會返回狀態儀錶板。 選取 [部署排程 ] 以顯示您已建立的部署排程。 最多會列出500個排程。 如果您有超過 500 個排程,而且想要檢閱完整清單,請參閱 軟體更新組態 - 列出 REST API 方法。 指定 API 版本 2019-06-01 或更高版本。

以程序設計方式排程更新部署

若要瞭解如何使用 REST API 建立更新部署,請參閱 軟體更新組態 - 建立

您可以使用範例 Runbook 來建立每周更新部署。 若要深入了解此 Runbook,請參閱為資源群組中的一或多個 VM 建立每週更新部署 \(英文\)。

檢查部署狀態

排程部署開始之後,您可以在 [更新管理] 下的 [歷程記錄] 索引標籤上看到其狀態。 部署目前正在執行時的狀態為進行中。 部署成功完成時,狀態會變更為 [成功]。 如果部署中有一或多個更新失敗,狀態為 [失敗]。

檢視已完成更新部署的結果

部署完成時,您可以選取它以查看其結果。

更新特定部署的部署狀態儀錶板

更新結果之下,會有摘要提供目標虛擬機器上的更新總數和部署結果。 右側的數據表會顯示每個更新的詳細明細和安裝結果。

可用的值為:

  • 未嘗試 - 未安裝更新,因為沒有足夠的可用時間,根據定義的維護時段持續時間。
  • 未選取 - 未選取更新以進行部署。
  • 成功 - 更新成功。
  • 失敗 - 更新失敗。

選取 [所有記錄 ] 以查看部署已建立的所有記錄專案。

選取 [輸出 ] 以查看負責管理目標 VM 上更新部署之 Runbook 的作業數據流。

若要查看部署所傳回的任何錯誤詳細資訊,請選取 [錯誤]

跨 Azure 租使用者部署更新

如果您有需要在另一個 Azure 租使用者中修補以更新管理的計算機,您必須使用下列因應措施來排程它們。 您可以使用 New-AzAutomationSchedule Cmdlet 搭配 ForUpdateConfiguration 指定的 參數來建立排程。 您可以使用 New-AzAutomationSoftwareUpdateConfiguration Cmdlet,並將其他租使用者中的機器傳遞至 NonAzureComputer 參數。 下列範例顯示如何執行這項工作。

$nonAzurecomputers = @("server-01", "server-02")

$startTime = ([DateTime]::Now).AddMinutes(10)

$sched = New-AzAutomationSchedule `
    -ResourceGroupName mygroup `
    -AutomationAccountName myaccount `
    -Name myupdateconfig `
    -Description test-OneTime `
    -OneTime `
    -StartTime $startTime `
    -ForUpdateConfiguration

New-AzAutomationSoftwareUpdateConfiguration  `
    -ResourceGroupName $rg `
    -AutomationAccountName <automationAccountName> `
    -Schedule $sched `
    -Windows `
    -NonAzureComputer $nonAzurecomputers `
    -Duration (New-TimeSpan -Hours 2) `
    -IncludedUpdateClassification Security,UpdateRollup `
    -ExcludedKbNumber KB01,KB02 `
    -IncludedKbNumber KB100

下一步