在客户创建的客服案件中, 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. 进程间通信机制IPC

    进程通信是指进程之间的信息交换.PV操作是低级通信方式,例如信号量,主要是进程间以及同一进程内不同线程之间的同步手段.髙级通信方式是指以较高的效率传输大量数据的通信方式.高级通信方法主要有以下三个类. ...

  2. php 大数组的POST问题解决

    服务器的PHP.ini的设置问题max_input_vars太小.

  3. Ajax应用常见的HTTP ContentType设置

    文章出处:Ajax应用常见的HTTP ContentType设置 ajax开发中, 常遇到下面的几种情况: 1 服务端需要返回一段普通文本给客户端 2 服务端需要返回一段HTML代码给客户端 3 服务 ...

  4. 学习笔记(一) HTML+CSS基础课程

    这个周把慕课网的<HTML+CSS基础课程>课程学完,内容都是非常非常基础的,不过还是学到了几个小知识点,记下来先. <a>超链接发送邮件 直接上把他的图片给挪过来了,我就不打 ...

  5. Java String 和 StringBuffer的区别

    1.String类的定义是这样的: public final class String extends Object implements   Serializable, Comparable< ...

  6. LINUX常用命令-系统配置篇(二)

    学到一定程度了就会关注系统方面的一些配置,只是就需要相关的命令了.现在把Linux查看系统配置常用命令列出来 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/ ...

  7. Umbraco Content属性

    总算是有个内容还算多的Content的属性介绍,保存一下. https://our.umbraco.org/documentation/Reference/Management-v6/Models/C ...

  8. 转: ES6异步编程: co函数库的含义与用法

    转: ES6异步编程: co函数库的含义与用法 co 函数库是著名程序员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行. 比如,有一个 Ge ...

  9. 各种字符串Hash函数比较

    常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法.这些函数使用位运算使得每一个字符都对最后的函数值产生影响.另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎 ...

  10. java 多线程学习笔记

    这篇文章主要是个人的学习笔记,是以例子来驱动的,加深自己对多线程的理解. 一:实现多线程的两种方法 1.继承Thread class MyThread1 extends Thread{ public ...