我的 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/11/27/windows-azure-iaas-host-os-update-demystified.aspx
我的 Azure VM 为何会重新启动?的更多相关文章
- 在 Azure VM 中使用应用商店映像创建 HPC Pack 群集的头节点
使用 Azure 应用商店和 Azure 门户中的 Microsoft HPC Pack 2012 R2 虚拟机映像创建 HPC 群集的头节点. 此 HPC Pack VM 映像基于预安装了 HPC ...
- Azure VM Disk的设计与部署
Azure的VM的设计中,Disk相关的设计是非常重要的一个内容,本文将介绍Azure上的VM的Disk相关的一些最佳实践和一些小的技巧. 一.Azure VM中Disk的存储账户设计 1. Stor ...
- Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
<Windows Azure Platform 系列文章目录> 笔者在之前的工作中,有客户提出想一次性查看Azure订阅下的所有Azure VM的Public IP和Private IP. ...
- Windows Azure Virtual Machine 之用程序控制Azure VM
我们在很多时候可能会需要用程序来控制VM的创建,删除工作. 而在这些工作之中,用程序创建一个VM将会是一个非常复杂的过程,因为他涉及到很多步骤. 具体步骤如下 1 创建一个Hosted cloud s ...
- Windows Azure Virtual Machine (24) Azure VM支持多网卡功能
<Windows Azure Platform 系列文章目录> Update 2016-03-30 一个VM的多张网卡可以在一个VNet的同一个Subnet子网下,笔者亲自测试过了. 如果 ...
- Windows Azure Virtual Machine (27) 使用psping工具,测试Azure VM网络连通性
<Windows Azure Platform 系列文章目录> 微软Azure在设计架构的时候,从安全角度考虑,是禁用ICMP协议的.所以对于Azure VM,是无法使用ping命令的. ...
- Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量
<Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...
- Windows Azure Virtual Machine (30) 修改Azure VM 的Subnet
<Windows Azure Platform 系列文章目录> 我在使用Azure Virtual Machine虚拟机的时候,常常会结合Virtual Network虚拟网络一起使用. ...
- Azure VM对远程桌面登录的支持-示例
我们在开发Windows Azure的应用程序,虽然在大部分的情况下都可以使用Azure Emulator模拟器来模拟在云端计算节点(Azure VM)的执行结果,但是并不能100%模拟真正在Azur ...
随机推荐
- HTML meta refresh 刷新与跳转(重定向)页面
<meta http-equiv="refresh" content="5; url=http://www.cnblogs.com/" /> 可用于 ...
- leetcode Count and Say python
class Solution(object): def countAndSay(self, n): """ :type n: int :rtype: str " ...
- iis7.0/8.0rewrite规则
首先在网站 web.config 配置文件的 configuration 节点中加入如下代码: <system.webServer> <rewrite> <rules&g ...
- MediaStore
Class Overview 提供的多媒体数据包括内部和扩展的所有多媒体元数据. Summary Nested Classes MediaStore.Audio:此类包含了所有音频相关信息. Medi ...
- http://blog.csdn.net/zhanglvmeng/article/details/11928469
本系列主要结合<PHP和MYSQL WEB开发 第四版>,在阅读中提出自己认为比较重要的一些问题,以加深对知识的了解程度. 1.简短.中等以及冗长风格的表单变量 $name; //简短风格 ...
- 收藏的技术文章链接(ubuntu,python,android等)
我的收藏 他山之石,可以攻玉 转载请注明出处:https://ahangchen.gitbooks.io/windy-afternoon/content/ 开发过程中收藏在Chrome书签栏里的技术文 ...
- OSG事件回调
OSG中的节点主要使用回调(CallBack)来完成用户临时.需要每帧执行的工作.根据回调功能被调用的时机划分为更新回调(Update CallBack)和人机交互时间回调(Event CallBac ...
- 解决:未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0
开发环境:Microsoft Visual Studio 2013 MVC4.0 使用SignalR的过程中随着版本的升级,其它程序集也跟着升级,如Newtonsoft.Json,一般编译的时候,如果 ...
- c++ new长度为0的数组
在程序中发现一下代码: int CHmcVideoMgt ::OnGetDiskRunningInfo( SOCKETPARAM *pSocketInfo ,Json:: Value Param ) ...
- SQL Server 2008 批量插入数据时报错
前几天在SQL Server 2008同步产品数据时,总是提示二进制文本被截断的错误,但是经过检查发现数据都符合格式要求. 百思不得其解,单独插入一条条数据则可以插入,但是批量导入则报错. 批量导入代 ...