zoukankan      html  css  js  c++  java
  • 处理 Windows 虚拟机的计划内维护通知

    Azure 定期执行更新,以提高虚拟机的主机基础结构的可靠性、性能及安全性。 更新包括如下更改:修补托管环境或升级以及解除硬件授权。 大多数此类更新在执行时不会影响托管的虚拟机。 但是,也会存在更新产生影响的情况:

    • 如果维护不需重新启动,Azure 会在更新主机时使用就地迁移来暂停 VM。

    • 如果维护需重新启动,系统会告知计划维护的时间。 在这些情况下,系统会提供一个时间窗口,方便我们在适当的时间自行启动维护。

    需要重新启动的计划内维护是按批进行计划的。 每个批具有不同的作用域(区域)。

    • 一个批从向客户发送通知开始。 默认情况下,向订阅所有者和共同所有者发送通知。 可以向通知添加更多收件人和消息传送选项(如电子邮件、短信和 Webhook)。
    • 发出通知不久,将设置自助式维护时段。 在此时段内可以找到包含在此批中的虚拟机,并开始通过主动重新部署来进行维护。
    • 自助式维护时段过后,就会开始计划内维护时段。 在此期间,Azure 会计划所需的维护,并将其应用于虚拟机。

    设置这两个时段的目的是,在了解 Azure 何时将自动启动维护时,提供足够的时间来启动维护和重新启动虚拟机。

    可以使用 Azure 门户、PowerShell、REST API 和 CLI 查询 VM 的维护时段并启动自助式维护。

    Note

    如果尝试启动维护失败,Azure 会将 VM 标记为“已跳过”,并在计划内维护时段期间不重新启动它。 而是,稍后通过新计划与你联系。

    在门户中查看计划用于维护的虚拟机

    安排了计划的大量维护并发送通知后,可以观察受即将到来的大量维护影响的虚拟机列表。

    可以使用 Azure 门户,并查找计划进行维护的 VM。

    1. 登录到 Azure 门户

    2. 在左侧导航栏中,单击“虚拟机”。

    3. 在“虚拟机”窗格中,单击“列”按钮,打开可用列的列表。

    4. 选择并添加以下列:

      维护 - 显示虚拟机的维护状态。 下面是可能的值:

      说明
      立即启动 虚拟机位于自助维护窗口中,用户可以自行启动维护。 请参阅以下内容,了解如何在虚拟机上启动维护
      计划 已安排虚拟机进行维护,无需用户启动维护。 可以在此视图中选择“自动计划”窗口或单击虚拟机来查看维护窗口
      已完成 已成功启动并完成虚拟机维护。
      已跳过 已经选择启动维护,但没有成功。 Azure 已经取消了虚拟机维护,将在稍后重新安排
      稍后重试 已选择启动维护,但 Azure 无法满足你的要求。 在这种情况下,可以稍后重试。

      主动维护 - 显示可以自行启动虚拟机维护的时间范围。

      计划的维护 - 显示 Azure 重新启动虚拟机以完成维护的时间范围。

    门户中的通知和警报

    Azure 通过向订阅所有者和共有者组发送电子邮件来传达计划维护的安排。 可以通过创建 Azure 活动日志警报,为此通信添加其他收件人和频道。 有关详细信息,请参阅 通过 Azure 活动日志监视订阅活动

    1. 登录到 Azure 门户
    2. 在左侧菜单中选择“监视”。
    3. 在“监视 -活 动日志”窗格中,选择“警报”。
    4. 在“监视 - 警报”窗格中,单击“+ 添加活动日志警报”。
    5. 填写“添加活动日志警报”页中的信息,请务必在“条件”中设置以下内容:类型:维护;状态:全部(请勿将状态设置为“活动”或“已解决”);级别:全部

    若要详细了解如何配置活动日志警报,请参阅创建活动日志警报

    从门户启动虚拟机维护

    在查看虚拟机详细信息时,将能够看到更多维护相关的详细信息。
    如果虚拟机包含在计划的大量维护中,则会在在虚拟机详细信息视图的顶部添加新的通知功能区。 此外,如有必要,可以添加一个新选项来启动维护。

    单击维护通知以查看维护页面,其中包含计划维护的更多详细信息。 从这里将能够开始维护虚拟机。

    开始维护后,虚拟机将重新启动,维护状态得以更新,在几分钟内反映结果。

    如果错过了可以开始维护的窗口,当 Azure 重新启动虚拟机时,仍然可以看到该窗口。

    使用 PowerShell 检查维护状态

    还可以使用 Azure Powershell 查看 VM 计划何时维护。 使用 -status 参数时可通过 Get-AzureRmVM cmdlet 获得计划内维护信息。

    仅当有计划内维护时,才会返回维护信息。 如果未计划任何影响 VM 的维护,该 cmdlet 不返回任何维护信息。

    PowerShell
    Get-AzureRmVM -ResourceGroupName rgName -Name vmName -Status
    

    在 MaintenanceRedeployStatus 下返回以下属性:

    说明
    IsCustomerInitiatedMaintenanceAllowed 指示此时是否可以在 VM 上启动维护
    PreMaintenanceWindowStartTime 可以在 VM 上启动维护的自助式维护时段的起点
    PreMaintenanceWindowEndTime 可以在 VM 上启动维护的自助式维护时段的终点
    MaintenanceWindowStartTime 可以在 VM 上启动维护的计划内维护时段的起点
    MaintenanceWindowEndTime 可以在 VM 上启动维护的计划内维护时段的终点
    LastOperationResultCode 上次尝试在 VM 上启动维护的结果

    还可以通过使用 Get-AzureRmVM 并不指定 VM 来获取资源组中所有 VM 的维护状态。

    PowerShell
    Get-AzureRmVM -ResourceGroupName rgName --Status
    

    以下 PowerShell 函数获取订阅 ID,并输出计划维护的 VM 列表。

    PowerShell
    
    function MaintenanceIterator
    {
        Select-AzureRmSubscription -SubscriptionId $args[0]
    
        $rgList= Get-AzureRmResourceGroup 
    
        for ($rgIdx=0; $rgIdx -lt $rgList.Length ; $rgIdx++)
        {
            $rg = $rgList[$rgIdx]
            $vmList = Get-AzureRMVM -ResourceGroupName $rg.ResourceGroupName 
            for ($vmIdx=0; $vmIdx -lt $vmList.Length ; $vmIdx++)
            {
                $vm = $vmList[$vmIdx]
                $vmDetails = Get-AzureRMVM -ResourceGroupName $rg.ResourceGroupName -Name $vm.Name -Status
                  if ($vmDetails.MaintenanceRedeployStatus )
                {
                    Write-Output "VM: $($vmDetails.Name)  IsCustomerInitiatedMaintenanceAllowed: $($vmDetails.MaintenanceRedeployStatus.IsCustomerInitiatedMaintenanceAllowed) $($vmDetails.MaintenanceRedeployStatus.LastOperationMessage)"               
                }
              }
        }
    }
    

    使用 PowerShell 在 VM 上启动维护

    如果 IsCustomerInitiatedMaintenanceAllowed 设置为 true,以下命令使用上一部分中函数的信息,在 VM 上启动维护。

    PowerShell
    Restart-AzureRmVM -PerformMaintenance -name $vm.Name -ResourceGroupName $rg.ResourceGroupName 
    

    后续步骤

    了解如何使用计划事件从 VM 内注册维护事件。

    立即访问http://market.azure.cn

  • 相关阅读:
    signalfx的中间件监控指标so cool
    XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)
    [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试
    XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)
    Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页
    Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件
    Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项
    Delphi for iOS开发指南(5):在iOS应用程序中使用Calendar组件来选择日期
    Delphi for iOS开发指南(4):在iOS应用程序中使用不同风格的Button组件
    Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序
  • 原文地址:https://www.cnblogs.com/zangdalei/p/7941161.html
Copyright © 2011-2022 走看看