我的 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 ...
随机推荐
- [树结构]平衡二叉树AVL
平衡二叉树是一种二叉排序树,其中每一个节点的左子树和右子树的高度至多等于1,平衡二叉树又称为AVL树. 将二叉树节点的左子树深度减去右子树深度的值称为平衡因子BF,平衡二叉树上所有节点的平衡因子只可能 ...
- 关于用自带摄像机录像无法捕获uri 问题解决
这个 我自己调用,好像并没有出现什么问题. 下面是我的代码.你们可以参照一下 File file = new File(Environment.getExternalStorageDirectory( ...
- numpy 札记
transpose 在处理caffe读入的图片数据时,需要将原始图片的数据 H*W*3(height*width*RGB) 转换为 3*H*W(RGB*heigth*width) 需要用到numpy的 ...
- Xcode Coule not launch "aaa" press launch failed:timed out waiting for app launch
遇见这个问题 可能是 由于 runapp 的时候设置里面 设置为release了. 解决办法是:见图 build configuration 设置成 debug 状态就OK了. 要是上面的不行就试一下 ...
- iOS6和iOS7代码的适配(2)——status bar
用Xcode5运行一下应用,第一个看到的就是status bar的变化.在iOS6中,status bar是系统在处理,应用中不需要考虑这部分,iOS7之后是应用在处理,每个ViewControlle ...
- Handlebarsjs学习笔记
handlebarsjs官网(http://handlebarsjs.com/) 1.引入模板 在html页面中添加 <script id="entry-template&q ...
- WebStorm 7.0 注冊码
经測试 WebStorm 6 7均能够使用例如以下注冊码,简直就是神key啊! WebStorm 6.0 7.0 注冊码 User Name: EMBRACE License Key: ===== ...
- 如何在VMware虚拟机上安装Linux操作系统(Ubuntu)
作为初学者想变为计算机大牛非一朝一夕,但掌握基本的计算机操作和常识却也不是多么难的事情.所以作为一名工科男,为了把握住接近女神的机会,也为了避免当白痴,学会装系统吧!of course为避免把自己的电 ...
- (转)Web开发中最致命的小错误
Web开发中最致命的小错误 现在,有越来越多所谓的“教程”来帮助我们提高网站的易用性.本文收集了一些在 Web 开发中容易出错和被忽略的小问题,并且提供了参考的解决方案,以便于帮助 Web 开发者更好 ...
- UpdatePanel + 弹出框
ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "", "alert('操作成功!') ...