在客户创建的客服案件中, Azure VM意外重启是一个常见的问题,客户要求客服确定重新启动的原因。希望下面的详细说明能够帮助您了解
Azure VM重新启动的原因。

WindowsAzure大约每
2-3个月更新一次主机环境,以确保始终为平台上运行的所有应用程序和虚拟机提供安全的环境。此更新过程可能会导致您的 VM重新启动,造成使用虚拟机功能托管的应用程序/服务停机。没有选项或配置可以避免这些主机更新。除平台更新外,当检测到主机服务器故障时,Windows
Azure 服务会自动修复,在该服务器上运行的 VM会迁移到其他主机。当发生这种情况时,您会在服务修复过程中失去与
VM的连接。服务修复过程完成后,当您连接到 VM时,您可能会发现一个事件日志条目,指明
VM重新启动(正常或异常)过了。因此,需要配置您的 VM以处理这些情况,从而避免应用程序/服务停机。

为确保托管在 WindowsAzure虚拟机中的应用程序/服务的高可用性,我们建议在可用性集中使用多个
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更新耗时颇长不同,WindowsAzure主机操作系统更新仅需花从新映像启动的时间。通常,完成此主机操作系统更新过程仅需
15 到 20分钟时间。

可用性集是什么?

当您有两个或更多 VM执行同一个任务时(例如:两个或更多
Web服务器),您可以创建一个包含这两个 VM的可用性集。创建此可用性集可使您的应用程序高度可用,同时也使您有资格获得
99.9%正常运行时间的 SLA。

为什么创建可用性集可以使您的应用程序高度可用?

当您创建可用性集时,可以指示 Fabric Controller,可用性集中的所有VM执行相同的功能,并且不得同时停机执行预先计划的维护。

在这种情况下,Fabric Controller会以智能方式将这些VM放置在不同的更新域
(UD)中。这些 UD是逻辑分类,可帮助
FC确保同一个 AS中的所有
VM在任何预先计划的维护期间都不会同时停机。这将确保始终有 VM可用来处理请求。

注意:

1.   进行测试/监控,确保即使运行工作负载的
VM 数量减少,也可提供足够的性能,以便在有一个或多个 VM不可用的情况下,您的服务在预先计划的维护期间不会受到负面影响.

2.   如果使用端点来允许外界传入的流量,请确保它处于负载均衡状态。(请参阅下面的“使用Windows
Azure 创建高可用性工作负载”。)

一些可帮助您在
Windows Azure 虚拟机中创建和管理高可用性应用程序的资源

更多信息

Windows Azure主机操作系统更新:原因、时间和方式:http://blogs.technet.com/b/markrussinovich/archive/2012/08/22/3515679.aspx

角色实例由于操作系统升级重新启动:http://blogs.msdn.com/b/kwill/archive/2012/09/19/role-instance-restarts-due-to-os-upgrades.aspx

本文翻译自:

http://blogs.msdn.com/b/wats/archive/2013/09/24/windows-azure-virtual-machine-restarted-or-shutdown-with-out-any-notification.aspx

http://blogs.msdn.com/b/wats/archive/2013/11/27/windows-azure-iaas-host-os-update-demystified.aspx



我的 Azure VM 为何会重新启动?的更多相关文章

  1. 在 Azure VM 中使用应用商店映像创建 HPC Pack 群集的头节点

    使用 Azure 应用商店和 Azure 门户中的 Microsoft HPC Pack 2012 R2 虚拟机映像创建 HPC 群集的头节点. 此 HPC Pack VM 映像基于预安装了 HPC ...

  2. Azure VM Disk的设计与部署

    Azure的VM的设计中,Disk相关的设计是非常重要的一个内容,本文将介绍Azure上的VM的Disk相关的一些最佳实践和一些小的技巧. 一.Azure VM中Disk的存储账户设计 1. Stor ...

  3. Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP

    <Windows Azure Platform 系列文章目录> 笔者在之前的工作中,有客户提出想一次性查看Azure订阅下的所有Azure VM的Public IP和Private IP. ...

  4. Windows Azure Virtual Machine 之用程序控制Azure VM

    我们在很多时候可能会需要用程序来控制VM的创建,删除工作. 而在这些工作之中,用程序创建一个VM将会是一个非常复杂的过程,因为他涉及到很多步骤. 具体步骤如下 1 创建一个Hosted cloud s ...

  5. Windows Azure Virtual Machine (24) Azure VM支持多网卡功能

    <Windows Azure Platform 系列文章目录> Update 2016-03-30 一个VM的多张网卡可以在一个VNet的同一个Subnet子网下,笔者亲自测试过了. 如果 ...

  6. Windows Azure Virtual Machine (27) 使用psping工具,测试Azure VM网络连通性

    <Windows Azure Platform 系列文章目录> 微软Azure在设计架构的时候,从安全角度考虑,是禁用ICMP协议的.所以对于Azure VM,是无法使用ping命令的. ...

  7. Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量

    <Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...

  8. Windows Azure Virtual Machine (30) 修改Azure VM 的Subnet

    <Windows Azure Platform 系列文章目录> 我在使用Azure Virtual Machine虚拟机的时候,常常会结合Virtual Network虚拟网络一起使用. ...

  9. Azure VM对远程桌面登录的支持-示例

    我们在开发Windows Azure的应用程序,虽然在大部分的情况下都可以使用Azure Emulator模拟器来模拟在云端计算节点(Azure VM)的执行结果,但是并不能100%模拟真正在Azur ...

随机推荐

  1. Rectangles

    Given two rectangles and the coordinates of two points on the diagonals of each rectangle,you have t ...

  2. 自己配置的WAMP环境,扩展oracle函数库(oci)

    同事昨天接到一个任务,要用php处理oracle数据库的内容,但是php打开oracle扩展不是像mysql那样直接用就行,需要下一点东西才能打开 第一步 需要到oracle官方下载一个install ...

  3. phpcms自定义分页

    在global.func.php中找到分页函数function pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array ...

  4. JQuery easyui (4)Tooltip (提示组件) 组件

    ps:先来一波美图 Tooltip的加载方式: 1,class加载 <a href="#" title="tooltip">hello word&l ...

  5. C#BASE64 UTF8字符串加密解密

    base 64 解码 base64 bb = new base64(); string orgStr= Encoding.Default.GetString(bb.GetDecoded("b ...

  6. Flex整合Spring

    工程需要整合Spring和Flex,在网上众多方法中找到了下面这种,记录留存. 个人认为该方法更适合在已有Spring框架的工程中添加Flex时使用,对原工程内容(主要指配置文件)改动较小. 1.添加 ...

  7. delphi 实现vip126发邮件

    本例是 TSimpleThread , TSimpleList, IdhttpEx 网页模拟(POST)的综合运用. Demo只写了发送,但亦可收取,详见源码. (此源码写于2年前,那时还写得不好,请 ...

  8. Java Scoket之java.io.EOFException解决方案

    Java Scoket之java.io.EOFException解决方案   Socket接收数据的时候,常常会抛出java.io.EOFException异常,也没有明确的原因和提示,在网上搜搜,很 ...

  9. 2016 Multi-University Training Contest 7 总结

    第七场多校的排名稍微有了一点回升,然而也并不太乐观. 开场欣君秒出了02题的公式,磊哥开始打表验证,发现可行,一A. 我觉得06题有些思路,开始写,但是发现复杂度优化不下去,于是弃疗. 磊哥做了10题 ...

  10. centos6 qt ENV

    打算做嵌入式图像处理,计划方案嵌入式Linux+OpenCV+QT,昨天简单入门OpenCV今天看看QT,QT就先弄Linux下面的,回家之前争取把基本的摸通,然后能在板子上跑起来 关于QT安装 QT ...