我的 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 ...
随机推荐
- Android padding和margin的区别
如: Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距 Margin 为外边框,指该控件距离边父控件的边距 如: 当按钮分别设置以上两个属性时,得到的效果是不一样的. andr ...
- objective -c こだわり
You make an object by creating an instance of a particular class. You do this by allocating the obje ...
- centos之tomcat安装
1.环境说明 系统:centos, 2.6.32-573.el6.x86_64; tomcat: apache-tomcat-7.0.68 2.下载文件并上传 下载apache-tom ...
- codeforces 383C Propagating tree 线段树
http://codeforces.com/problemset/problem/383/C 题目就是说, 给一棵树,将一个节点的值+val, 那么它的子节点都会-val, 子节点的子节点+val. ...
- OSG中的视角 eye up center
这三个值都是vec3变量,其中eye和center确定视角 eye就相当于人的眼睛,我们观察场景,是从这个坐标去看的,然后有了眼睛,我们观察得有一个方向,那么久需要另外一个坐标,就是c ...
- SQL Server 查看对象的权限
例子 1. 查看登录名 loginA的权限: create login loginA with password = '123456'; go use studio; create user logi ...
- android 添加左右滑屏手势
今天要在自己的项目中添加左右滑动,实现日期的加减(原来已经做了加减按键).滑动在一个中间的layout中进行 思路:添加左右划屏幕判断,得到判断后模拟加减按键按下. 模拟按键按下用 mbotton.p ...
- 将Python代码嵌入C++程序进行编写
将Python代码嵌入C++程序进行编写的实例,python嵌入 把python嵌入的C++里面需要做一些步骤 安装python程序,这样才能使用python的头文件和库 在我们写的源文件中增加“Py ...
- IE兼容性bug汇总
1.IE6的双边距BUG. 发生条件:如果有元素是浮动元素,则该元素与它的父元素(一般是一个容器)直接相接触(中间不能隔着其他元素)的左或右的边距就会产生双倍边距,也意味着相邻的兄弟元素不可能会产生双 ...
- ubuntu下vim与系统剪切板互相拷贝
1.install xclip sudo apt-get install xclip 2. install gvim sudo apt-get install vim-gnome 此时使用 “+ 寄存 ...