Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure 定期执行更新,以提高虚拟机 (VM) 的主机基础结构的可靠性、性能及安全性。 更新内容可能包括为托管环境打补丁,或升级并停用硬件。 大多数更新不影响托管的 VM。 但是在以下情况下,更新会影响 VM:
如果维护不需要重启,Azure 会在主机更新时暂停 VM 几秒钟。 此类维护操作按容错域逐一应用。 如果接收到任何警告健康状况信号,则进程将停止。
如果维护需重新启动,系统会告知计划维护的时间。 在这些情况下,系统会提供一个时间窗口(通常为 35 天),方便你在适当的时间自行启动维护。
需要重启的计划内维护将分批安排。 每个波次的覆盖区域不同:
- 一个批次以向客户发送通知开始。 默认情况下,向订阅所有者和共同所有者发送通知。 可以使用 Azure 活动日志警报,向通知添加收件人和消息发送选项(如电子邮件、短信和 Webhook)。
- 收到通知后,将提供自助服务窗口。 在这段通常为 35 天的时间内,您可以查看哪些 VM 包含在该批次中。 可以根据自身计划需要,主动启动维护。
- 在自助服务窗口结束后,计划维护窗口开始。 在此时段的某个时刻,Azure 会计划所需的维护,并将其应用于 VM。
设置这两个时段的目的是,在了解 Azure 何时将自动启动维护时,提供足够的时间来启动维护和重新启动 VM。
可以使用 Azure 门户、PowerShell、REST API 和 Azure CLI 查询虚拟机规模集 VM 的维护时段并启动自助维护。
您是否应在自助维护窗口期间开始维护?
以下指南可帮助你决定是否在所选时间启动维护。
注意
自助维护不一定适用于所有 VM。 要确定是否可以对 VM 进行主动重新部署,请在维护状态中查找“立即启动”。 目前,Azure 云服务(Web/工作角色)和 Azure Service Fabric 暂不提供自行维护功能。
对于使用可用性集的部署,不建议采用自助维护。 可用性集是高可用性配置,在任一时刻,只有一个更新域会受到影响。 对于可用性集:
- 让 Azure 触发维护。 对于需要重启的维护,会按更新域依次执行维护。 更新域不一定按顺序接收维护。 更新域之间间隔 30 分钟。
- 如果您担心总容量中有一部分会暂时损失(1/更新域数量),您可以在维护期间分配额外实例,轻松弥补这部分损失。
- 对于无需重启的维护,将在容错域级别应用更新。
以下情况请勿使用自助维护:
- 如果你经常关闭你的虚拟机,无论是手动关闭、使用 DevTest Labs、使用自动关闭功能,还是按计划关闭。 在这些情况下,自助维护可能会使维护状态回退,并导致额外停机时间。
- 对于您明确知道会在本轮维护结束前被删除的短生命周期 VM。
- 对于状态数据量较大且存储在本地(临时)磁盘上,并且希望在更新后保留这些数据的工作负载。
- 如果你经常调整 VM 的大小。 这种情况可能会恢复为维护状态。
- 如果您已采用计划事件,则可在维护停机开始前 15 分钟对工作负载执行主动故障转移或正常关闭。
如果打算在计划性维护阶段不间断地运行 VM,而且上述禁忌均不适用,则可使用自助维护 。
以下情况最好使用自助维护:
- 需要向管理层或客户告知确切的维护时段。
- 需要在特定日期前完成维护。
- 需要控制维护顺序,例如,应用程序为多层应用程序,需要确保安全地进行恢复。
- 在两个更新域之间,需要的 VM 恢复时间超出 30 分钟。 要控制各更新域之间的时间间隔,必须按更新域逐个对虚拟机触发维护。
在门户中查看受维护影响的虚拟机规模集
当计划内维护批次已安排后,可使用 Azure 门户查看受即将到来的维护批次影响的虚拟机规模集列表。
登录 Azure 门户。
在左侧菜单中,选择“所有服务”,然后选择“虚拟机规模集”。
在虚拟机规模集下,选择编辑列以打开可用列列表。
在“可用列” 部分中,选择“自助维护” ,然后将其移至“选定的列” 列表中。 选择应用。
为便于查找“自助维护”项,可将“可用列”部分中的下拉列表选项从“全部”更改为“属性” 。
自助维护列现已显示在虚拟机规模集列表中。 每个虚拟机规模集在“自助维护”列中都可以具有以下值之一:
| 值 | 描述 |
|---|---|
| 是 | 您的虚拟机规模集中至少有一台虚拟机处于自助服务时段。 你可以在此自助时段随时启动维护。 |
| 否 | 在受影响的虚拟机规模集中,没有任何虚拟机处于自助服务时段内。 |
| - | 你的虚拟机规模集未包含在计划内维护批次中。 |
门户中的通知和警报
Azure 通过向订阅所有者和共有者组发送电子邮件来传达计划维护的安排。 可以通过创建活动日志警报,为此通信添加收件人和通道。 有关详细信息,请参阅使用 Azure 活动日志监视订阅活动。
登录 Azure 门户。
在左侧菜单中,选择 Monitor。
在“监视”菜单中,选择服务运行状况。
在“服务运行状况”中,选择“+ 创建服务运行状况警报”。
在“创建警报规则”页上:
- 选择包含要监视计划内维护事件的资源的相关“订阅”和“区域”。
- 指定以下内容:
- 服务:虚拟机规模集和虚拟机
- 事件类型:计划内维护
在 “操作”下,将操作组添加到警报规则,以在收到计划内维护事件时发送通知或调用操作。
在“警报规则详细信息”下填写详细信息。
选择“创建警报规则”。
要详细了解如何配置活动日志警报,请参阅创建活动日志警报
从门户中开始维护虚拟机规模集
在虚拟机规模集概述中可查看更多与维护相关的详细信息。 如果虚拟机规模集中至少有一台虚拟机被纳入计划内维护批次中,则页面顶部附近会新增一个通知横幅。 选择通知功能区,转到“维护”页面 。
在“维护”页面上可以查看受计划内维护影响的 VM 实例 。 要启动维护,请选择受影响 VM 对应的复选框。 然后,选择“开始维护”。
开始维护后,虚拟机规模集中受影响的 VM 将接受维护并暂时不可用。 如果你错过了自助服务时段,仍然可以查看 Azure 维护你的虚拟机规模集的时间窗口。
使用 PowerShell 查看维护状态
可以使用 Azure PowerShell 查看虚拟机规模集中的虚拟机何时安排进行维护。 使用 -InstanceView 参数时,可通过 Get-AzVmssVM cmdlet 获取计划维护信息。
仅当有计划内维护时,才会返回维护信息。 如果未计划影响 VM 实例的维护,则 cmdlet 不会返回任何维护信息。
Get-AzVmssVm -ResourceGroupName rgName -VMScaleSetName vmssName -InstanceId id -InstanceView
在 MaintenanceRedeployStatus 下返回以下属性 :
| 值 | 描述 |
|---|---|
| 是否允许客户发起维护 | 指示此时是否可以在 VM 上启动维护。 |
| 预维护窗口开始时间 | 您可以对 VM 启动维护的自助维护窗口开始时间。 |
| 预维护窗口结束时间 | 您可对 VM 发起维护的自助维护窗口结束时间。 |
| 维护窗口开始时间 | Azure 开始对你的 VM 进行计划内维护的起始时间。 |
| 维护窗口结束时间 | Azure 启动对你的 VM 进行维护的计划维护时段的结束时间。 |
| 上次操作结果代码 | 上次尝试在 VM 上启动维护的结果。 |
使用 PowerShell 在 VM 实例上启动维护
如果 IsCustomerInitiatedMaintenanceAllowed 设置为 true,则可以在 VM 上启动维护 。 使用带有 -PerformMaintenance 参数的 Set-AzVmssVM cmdlet。
Set-AzVmssVM -ResourceGroupName rgName -VMScaleSetName vmssName -InstanceId id -PerformMaintenance
使用 CLI 查看维护状态
可以使用 az vmss list-instances 查看计划内维护信息。
仅当有计划内维护时,才会返回维护信息。 如果未计划影响 VM 实例的维护,则该命令不会返回任何维护信息。
az vmss list-instances -g rgName -n vmssName --expand instanceView
在每个 VM 实例的 MaintenanceRedeployStatus 下返回以下属性 :
| 值 | 描述 |
|---|---|
| 是否允许客户发起维护 | 指示此时是否可以在 VM 上启动维护。 |
| 预维护窗口开始时间 | 可在 VM 上启动维护的自助维护时段的开始时间。 |
| 预维护窗口结束时间 | 可对 VM 启动维护的维护自助服务窗口结束时间。 |
| 维护窗口开始时间 | Azure 对你的 VM 启动维护的已计划维护开始时间。 |
| 维护窗口结束时间 | Azure 开始对你的 VM 进行维护的计划维护时间窗口的结束时间。 |
| 上次操作结果代码 | 上次尝试在 VM 上启动维护的结果。 |
使用 CLI 在 VM 实例上启动维护
如果 IsCustomerInitiatedMaintenanceAllowed 设置为 true,以下调用会在 VM 实例上启动维护 :
az vmss perform-maintenance -g rgName -n vmssName --instance-ids id
FAQ
问:为什么需要立即重新启动 VM?
答: 尽管 Azure 平台大多数更新和升级不会影响 VM 可用性,但是在某些情况下,无法避免重启 Azure 中托管的 VM。 我们已累积了若干项变更,需要重启服务器,这将导致 VM 重启。
问:如果我按建议使用可用性集实现高可用性,我是否安全?
A: 部署在可用性集或虚拟机规模集中的虚拟机使用更新域。 执行维护时,Azure 遵循更新域约束,不会从其他更新域(在同一可用性集中)重新启动 VM。 Azure 还会至少等待 30 分钟,然后才移到下一组 VM。
有关高可用性的详细信息,请参阅 Azure 中虚拟机的区域和可用性。
问:如何收到有关计划内维护的通知?
答: 计划内维护波次通过为一个或多个 Azure 区域设置计划来启动。 不久之后,系统会将一个电子邮件通知发送到订阅管理员、共同管理员、所有者和参与者(每个订阅一封电子邮件)。 可以使用活动日志警报配置此通知的其他通道和收件人。 如果将虚拟机部署到已安排计划内维护的区域,你不会收到通知。 而是检查 VM 的维护状态。
问:我在门户、PowerShell 或 CLI 中看不到任何计划内维护的指示。 为什么会这样?
答: 在计划内维护批次期间,与计划内维护相关的信息仅适用于受此计划内维护影响的 VM。 如果未显示有数据,则维护批次可能已经结束(或尚未开始),或者 VM 可能已经托管在已更新的服务器上。
问:有什么方法可以知道 VM 受影响的确切时间?
答: 设置计划时,我们定义了一个长达几天的时间段。 在该时间窗口内,服务器(及虚拟机(VM))的确切先后顺序目前尚不清楚。 如果要知道 VM 更新的确切时间,可使用计划事件。 如果使用计划事件,则可从 VM 内进行查询,并可在 VM 重启前 15 分钟内收到通知。
问:重启 VM 需要多长时间?
答:根据 VM 的大小,在自助维护时段内,重启最多可能需要几分钟时间。 当 Azure 在计划性维护时段内启动重启时,重启通常需要 25 分钟左右。 如果你使用云服务(Web 角色/辅助角色)、虚拟机规模集或可用性集,则在计划维护窗口期间,每组虚拟机(更新域)之间会间隔 30 分钟。
问:我在 VM 上看不到任何维护信息, 哪里出错了?
答: 有很多原因会导致在 VM 上看不到任何维护信息:
- 你正在使用标记为 Microsoft Internal 的订阅。
- 你的虚拟机未安排维护。 可能是此次维护已结束、已取消或已修改,因此你的 VM 不再受其影响。
- 您尚未将维护列添加到 VM 列表视图中。 虽然我们已向默认视图添加此列,但如果你将视图配置为查看非默认列,则仍需手动将“维护”列添加到 VM 列表视图 。
问:我的虚拟机已被安排进行第二次维护。 为什么?
答: 在某些情况下,即使你已经完成维护并重新部署,你的 VM 仍会被安排进行维护:
- 我们已取消这次维护,并使用不同的有效负载重新启动它。 可能是因为我们检测到某个载荷出现了故障,因此需要再部署一个额外的载荷。
- 由于硬件故障,您的虚拟机已通过服务自愈迁移到另一个节点。
- 您已选择停止(解除分配)并重新启动该虚拟机。
- 已经为 VM 启用了自动关闭。
后续步骤
了解如何使用计划事件从 VM 内注册维护事件。