在客户创建的客服案件中, ">Azure VM 意外重启是一个常见的问题,客户要求客服确定重新启动的原因。希望下面的详细说明能够帮助您了解 Azure VM 重新启动的原因。
Windows Azure 大约每 2-3 个月更新一次主机环境,以确保始终为平台上运行的所有应用程序和虚拟机提供安全的环境。此更新过程可能会导致您的 VM 重新启动,造成使用虚拟机功能托管的应用程序/服务停机。没有选项或配置可以避免这些主机更新。除平台更新外,当检测到主机服务器故障时,Windows Azure 服务会自动修复,在该服务器上运行的 VM 会迁移到其他主机。当发生这种情况时,您会在服务修复过程中失去与 VM 的连接。服务修复过程完成后,当您连接到 VM 时,您可能会发现一个事件日志条目,指明 VM 重新启动(正常或异常)过了。因此,需要配置您的 VM 以处理这些情况,从而避免应用程序/服务停机。
为确保托管在 Windows Azure 虚拟机中的应用程序/服务的高可用性,我们建议在可用性集中使用多个 VM。同一可用性集中的 VM 放置在不同的故障域和更新域中,确保计划更新或意外故障不会影响该可用性集中的所有 VM。例如,如果您有两个 VM 并将它们配置为可用性集的一部分,则当一台主机在更新时,一次只有一个 VM 会停机。这样可以提供高可用性,因为您有一个 VM 可在主机更新过程中处理用户请求。Mark Russinovich 发表了一篇非常好的博客文章,其中详细说明了 Windows Azure 主机更新的相关信息。有关管理高可用性的详细信息,请单击此处。
虽然可用性集可为 VM 提供高可用性,但我们也意识到,针对计划中的维护主动通知客户是一项经常需要使用的功能,尤其是在您的工作负载在单个VM上运行且没有针对高可用性进行配置的情况下。虽然目前不提供这种类型的主动式计划维护通知,但我们仍鼓励您提供有关该主题的评论,然后我们可以将这些信息反馈给产品团队。
[更新] 目前若有计划中的维护, 我们会向单个实例的 VM 发送通知。但可能只有帐户管理员可以看到此通知。
Windows Azure IaaS 主机操作系统更新大揭秘
特别感谢 Sri Harsha 抽时间审阅此博客!!
在此博客中,我们将讨论以下问题:
Windows Azure 为何会更新主机操作系统?
如何进行主机操作系统更新?
可用性集是什么?
为什么创建可用性集可以使您的应用程序高度可用?
一些可帮助您在Windows Azure 虚拟机中创建和管理高可用性应用程序的资源
更多信息
Windows Azure 为何会更新主机操作系统?
Windows Azure 会以大约每月一次的频率将更新部署到主机操作系统。这样可确保 Windows Azure 提供可靠、高效且安全的平台以托管您的应用程序。
如何进行主机操作系统更新?
与您更新在 Windows 操作系统上运行的 PC 或服务器的方式相比,Windows Azure 平台上的主机操作系统更新有所不同。对于 Windows Azure,当一个包含了所有最新更新和修复程序的映像部署到所有服务器后,Fabric Controller 会指示这些服务器重新启动并从新部署的映像启动。因此,与 Windows 更新耗时颇长不同,Windows Azure 主机操作系统更新仅需花从新映像启动的时间。通常,完成此主机操作系统更新过程仅需 15 到 20 分钟时间。
可用性集是什么?
当您有两个或更多 VM 执行同一个任务时(例如:两个或更多 Web 服务器),您可以创建一个包含这两个 VM 的可用性集。创建此可用性集可使您的应用程序高度可用,同时也使您有资格获得 99.9% 正常运行时间的 SLA。
为什么创建可用性集可以使您的应用程序高度可用?
当您创建可用性集时,可以指示 Fabric Controller,可用性集中的所有 VM 执行相同的功能,并且不得同时停机执行预先计划的维护。
在这种情况下,Fabric Controller 会以智能方式将这些 VM 放置在不同的更新域 (UD) 中。这些 UD 是逻辑分类,可帮助 FC 确保同一个 AS 中的所有 VM 在任何预先计划的维护期间都不会同时停机。这将确保始终有 VM 可用来处理请求。
注意:
进行测试/监控,确保即使运行工作负载的 VM 数量减少,也可提供足够的性能,以便在有一个或多个 VM 不可用的情况下,您的服务在预先计划的维护期间不会受到负面影响。
如果使用端点来允许外界传入的流量,请确保它处于负载均衡状态。(请参阅下面的“使用Windows Azure 创建高可用性工作负载”。)