Windows Azure HandBook (1) IaaS相关技术

  《Windows Azure Platform 系列文章目录》

 

  1.Microsoft Azure底层是否由System Center和Hyper-V构成?

  Microsoft Azure虽然支持Hyper-V的VHD直接上传至Azure云端进行管理,但是Azure底层技术是微软自己研发的、独有的技术,且不对外提供。如果客户想构建属于自己的私有云平台,可以使用Azure Pack,采用微软的System Center + Windows Server产品,构建自己的私有云平台。

 

  2.我是否可以在Microsoft Azure Virtual Machine中再创建虚拟机呢?

  Microsoft Azure数据中心是由成千上万台RACK组成的,每个RACK都安装了Windows Server 2012的操作系统,我们称为Host OS,即物理服务器的操作系统。
  这些Windows Server 2012采用特殊版本的Hyper-V虚拟化技术,虚拟出了若干虚拟机,称为Guest OS。
  Host OS内含一个Fabric Agent中控软件,以监控目前虚拟机各项信息给Fabric Controller。
  Microsoft Azure的最终用户只能接触到Guest OS,而无法接触到Host OS。用户无法在Guest OS中再创建虚拟机。

 

  3.如果Microsoft Azure所在的服务器宕机了,Azure Virtual Machine怎么恢复?

  在传统IDC机房托管中,如果物理服务器发生了宕机,那所有的虚拟机都会宕机,需要人工或者监控软件来进行重新部署。
从文件高可用来说,Microsoft Azure虚拟机是以VHD格式保存的,并且在同一个数据中心做了三重冗余(支持跨数据中心的异地冗余),保证Azure Virtual Machine底层VHD文件的99.9% SLA。

  从数据中心架构来说,Microsoft Azure具有自我管理的功能。Azure Fabric Controller是管理Azure数据中心的中控管理系统,你可以认为他是Azure数据中心的大脑。Azure Fabric Controller本身是融合了很多微软系统管理技术的总成,包含对虚拟机的管理(System Center Virtual Machine Manager),对作业环境的管理(System Center Operation Manager)等,在Fabric Controller中被发挥得淋漓尽致。

  Azure Fabric Controller负责自动化的管理数据中心内所有的实体服务器,包含由用户要求的Microsoft Azure Guest OS的部署工作,定时的 Hotfix修补,机器状态的监控,以及管理不同版本的VM镜像等重要核心工作。Fabric Controller本身也具有高可用性

  Fabric Controller也处理虚拟机的健康管理工作(Health Management)工作,当Microsoft Azure Guest OS发生死机时,会由Fabric Controller自动选择不同的实体机器重新部署与启动。

  在单台Guest OS的情况下,当Guest OS宕机的时候,重新部署与启动Guest OS会需要花费一定的时间,会引起客户应用的短暂离线,所以Microsoft Azure没有单个实例的SLA。

 

  4.微软有没有单个实例的SLA?

  微软没有单个实例的SLA。举个例子,客户有一个应用部署在传统IDC机房中,一台AD Server,一台Web Server,一台SQL Server。

  在Microsoft Azure Virtual Machine中,用户也可以选择使用一台Azure Virtual Machine部署AD Server,一台Azure Virtual Machine部署Web Application,使用另一台Virtual Machine部署SQL Server。但是这样的场景是没有SLA保障的。

  Microsoft Azure Virtual Machine承诺的99.95%的SLA是需要2台或者2台以上的Azure Virtual Machine同时运行,且所有的Virtual Machine都需要在同一个可用性集中。对于上面实例,用户如果想在Azure中实现99.95%的SLA,需要同时部署:

  -两台AD Server,放在同一个可用性集A中。

  -两台Virtual Machine部署Web Application,且Web Application所在的Virtual Machine需要放在另外一个可用性集B中。

  -两台Virtual Machine部署SQL Server,采用SQL Server 2012 Enterprise提供的Always-On功能,实现High Availability。且SQL Server所在的Virtual Machine需要在另外一个可用性集C中。

  补充一点,微软没有单个实例的SLA主要原因有以下两点:

  -从基础设施角度来说,无法预测单台物理服务器的硬件在何时发生故障,即单台物理服务器的CPU故障、网络故障、电源故障等是无法预测的。

  -从物理服务器的维护来说。微软在每个月都会给Azure Virtual Machine做升级和维护,维护期一般是在周五凌晨和周六凌晨(北京、上海数据中心分别维护)。维护期窗口一般为6-8小时左右,在维护期内的虚拟机实例都会被重启,重启时间一般在10分钟左右。

  即该维护期是由微软定义的,用户没有办法拒绝维护过程,用户也没办法指定微软在具体哪个时间点,维护哪些虚拟机。在维护期窗口内,任何一台Azure Virtual Machine都会被重启。但是只会影响单个实例的Azure Virtual Machine。

  在Azure维护期内,会影响单个实例的Azure Virtual Machine。但是不会影响两个或者两个以上的实例(需要正确配置可用性集)。

 

  5.微软在维护Azure Virtual Machine时会不会影响我的业务?微软是如何来保证99.95%的SLA的?

  

  如果使用单个实例的Azure Virtual Machine,无法保证99.95%的SLA。
  Microsoft Azure Virtual Machine承诺的99.95%的SLA是需要2台或者2台以上的Azure Virtual Machine同时运行,且所有的Virtual Machine都需要在同一个可用性集中。

  在这种情况下,从基础设施角度来说,微软有机制可以保证同时运行的2台Azure Virtual Machine不会同时宕机。
从服务服务器的维护来说。微软在给Azure Virtual Machine做维护的时候,会监控到这2台Azure Virtual Machine在同一个可用性集中,就知道客户需要这2台Azure Virtual Machine做高可用。微软在重启Azure Virtual Machine,的时候,就不会同时重启。而是先重启其中的一台,等到这台Virtual Machine重启完毕后,再重启另外一台。这样保证在维护期窗口内,同一个时刻至少有一台Virtual Machine在线。

  如果客户部署了2台Azure Virtual Machine但是没有设置可用性集。微软在给Azure Virtual Machine做维护的时候,发现这2台Azure Virtual Machine没有关联,就会同时重启这2台Azure Virtual Machine,造成服务off-line。

 

  6.什么是可用性集?

  这里有两个非常重要的概念:故障域(Fault Domain)和更新域(Update Domain)。

  http://blogs.technet.com/b/yungchou/archive/2011/05/16/window-azure-fault-domain-and-update-domain-explained-for-it-pros.aspx

  

  我们先说说故障域。先举个例子,笔者的书房有一个插线板,插线板上接了我的笔记本电脑,手机充电器,电视机等电器。如果这个插线板断电了,那这个插线板上的所有电器都会断电。这个插线板和上面的电器组成了一个故障域。
Microsoft Azure数据中心基础设施由很多的RACK组成,每一个RACK都被称为故障域。当RACK出现硬件故障时候,在RACK上的服务,不管是 Azure的计算服务、存储服务等等都会宕机。

  当客户部署了2台 Azure Virtual Machine,但是没有设置可用性集的时候,Microsoft Azure可能会把这2个Azure Virtual Machine部署在同一个RACK上,这样就可能会出现单点故障。因为这1个RACK宕机了,上面运行的2个Azure Virtual Machine都会宕机。两个Azure Virtual Machine宕机的概率和一个Azure Virtual Machine的概率是一样。

  而设置了可用性集的情况下,Microsoft Azure就会把这2台Azure Virtual Machine部署在2个不同的RACK上。微软从数据中心底层设计上,可以保证这2个不同的RACK不会同时宕机。

  

  然后我们谈谈更新域。比如我有2台Azure Virtual Machine做了负载均衡,名称为VM1和VM2,都部署了我的Web Application,版本为1.0,他们部署在不同的更新域Update Domain中。将来我的软件版本做了更新,升级到了2.0版本,有两种选择:

  -  用户同时更新这2台Azure Virtual Machine的软件版本。但是这样如果有客户端发起请求,会造成服务器端的无法响应。

  -  Azure Fabric Controller监控这2台Azure Virtual Machine。首先更新Update Domain 0中的虚拟机软件。更新完毕后再更新Update Domain 1中的虚拟机软件,一直到所有的Azure Virtual Machine中的Web Application更新完毕,这样保证在同一时刻至少有1台Azure Virtual Machine能够响应客户端的请求。

  以下是故障域(Fault Domain)和更新域(Update Domain)的截图:

  

 

 

  7.Microsoft Azure如何保证CPU、内存、硬盘的性能?

  回答:传统的Hyper-V技术,CPU是共享的。比如笔者的ThinkPad T430S是4Core/8GB,安装了Windows Server 2012 R2操作系统,并且使用Hyper-V虚拟出3台虚拟机。那该笔记本的物理操作系统 + 3台虚拟机操作系统本质上都是共享4Core CPU的。

  在Microsoft Azure提供的虚拟机类型如下:

虚拟机类型CPURAM外挂磁盘数量MAX IOPS
A0共享768MB1500
A111.75GB22 * 500
A223.5GB44 * 500
A347GB88 * 500
A4814GB1616 *500
A5214GB44 * 500
A6428GB88 * 500
A7856GB1616 * 500

  

  除了A0的虚拟机类型,它的CPU是和别的用户共享的。其他类型的虚拟机,比如A1-A7,它的CPU是独占的,不是和别的用户共享的。比如物理服务器是20Core,那这个物理服务器只能虚拟出2台A7的Azure Virtual Machine(8Core/56GB),另外多余的4Core要预留给物理服务器。

  关于硬盘的性能保证,微软是保证磁盘的IOPS。

  注意:Azure VM CPU和RAM是固定搭配的,不可以按照用户的想法随意更改。

 

转载于:https://www.cnblogs.com/threestone/p/3817349.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCL 第8课:旋转变换(2)

上两节课都是对一个数组进行处理。这节我们来个有意思的。同样是旋转。但我们旋转的对象是张(256*256)的图片。图片旋转45度,旋转后大小还是&…

VUE: 当前页面 引用自定义公用样式 (:style=“样式名“)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 在当前页面,自行定义了几个样式,在不同地方引用。 2. 实现代码。 样式定义: data() {return {i…

免费的api接口

欢迎大家加群讨论:地址:https://www.apiopen.top 为了方便各类开发者,现提供免费开放Api接口,所有接口均无使用限制,返回格式全是JSON,所以基本能满足大家的开发需求,但请各位不要将这些Api接入…

养成这8个好习惯 开车会很安全的

第一,过路口时减速左右看——要养成过口子时,不管有没有红绿灯,也不管自己的行道是绿灯,都要左顾右盼(同时要减速)的习惯,观察在横道上的车辆情况,确认没有车横冲,才加速…

css background-attachment:fixed 固定背景、不随内容一起滚动

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 兼容性:全兼容,只不过IE滚动时会有一点不流畅。 background-attachment 有 3 个选项:scroll / fix…

Javacript和AngularJS中的Promises

promise是Javascript异步编程很好的解决方案。对于一个异步方法,执行一个回调函数。比如页面调用google地图的api时就使用到了promise。 function success(position){var cords position.coords;console.log(coords.latitude coords.longitude); }function error(…

男人沉默的真实原因

英国社会学家马克经过调查发现:男人每天的说话量,是女人的一半。但男人们也大多用于朋友圈中、工作中,而与爱人的聊天交流,每天可能不足15分钟,用词量不超过10%。 其实,男人有很多缄默的方法,每…

Visual Studio 使用说明文档、VScode 使用手册

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我只是记录下地址,方便自已以后查看: Visual Studio 使用文档 内容如:

JAVA File的创建及相对路径绝对路径

JAVA File的创建及相对路径绝对路径 转载自 http://blog.sina.com.cn/s/blog_9386f17b0100w2vv.htmlFile f new File("D:/test/mytest.txt");//当执行这句话后在内存的栈空间存在一个f的应用,在堆空间里存在一个mytest.txt对象。注意 这个对象只含有文件…

肾有多好人就有多年轻 男女通用的补肾秘方

每天都坚持喝一碗,现在已经连续喝了三个多星期了,以前有好些白发的地方居然没有复发,而且现在一根也没有啊,我真的很开心。不仅白头发不见了,而且皮肤变白皙和光滑了好多,气色也比原来好了!好东西要大家分享…

Object.keys() Object.values()

Object.keys() //返回对象中各个键值对的键(key) Object.values() //返回对象中各个键值对的值(value) var obj { foo: "bar", baz: 42 };Object.keys(obj) // ["foo", "baz"]Object.values(obj) // ["ba…

vue 解决: *!!vue-style-loader!css-loader?{“sourceMap“:true}!../../../../vue-loader

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 问题描述 *!!vue-style-loader!css-loader?{“sourceMap”:true}!../../../../vue-loader/lib/style-compiler/index?{“vue”:true,…

计算机专业 程序员技术练级攻略(转载)

程序员技术练级攻略转载自: https://coolshell.cn/articles/4990.html 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发&#xff…

35 岁之前不应该错过的 30 本书

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 PS:在这个书目中,我不偏好的书会直接放到最后,所以不是按原文顺序来。 1、《目送》 作者&#xff1a…

生活中意想不到的妙招

1、抹布变白 抹布是咱们家中最常见的东西,干家务绝对离不开它,擦桌椅板凳,擦灶台,油烟机,浴室,电器等等,家里总需要准备很多抹布,最难清理的恐怕就是厨房的抹布了吧?因为总是和油污…

“ 紫手环的力量 ” :我想,美好的生活应该是自已造就的...

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我想或许我可以试试这个方法: 其实 我是真的打算试试,最近总是会忧虑,或许我应该自已努力给自已造就…

通过界面生成时不存在的数据刷新界面引起的卡顿问题

今天遇到了一个问题,就是有一个界面,在生成时之前请求数据,在界面中通过schedule 与unschedule不停查看本地是否收到此数据(通过发起request的Id),当收到之后刷新。 然后就引起了一个问题。界面弹出是有动画…

解决 VUE:[WDS] Errors while compiling. Reload prevented...- invalid expression: Unexpected token -- in

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 在网上找了个组件,直接把代码放入自已的项目中报错,提示信息如黑框中: 2. 此组件原码就是这样用的…

长寿的十个秘诀 至少选择一个坚持实施

人人都想提高自己健康长寿的机率。下面的十个秘诀中,哪怕只选择一个,然后坚持实施,若干年后你会发现已经受益无穷。 1、喝茶 喝茶,特别是喝绿茶,其中的抗氧化剂可以抵挡有害物质对你身体的伤害。喝茶被证明可以减压…

vue中的slot插槽

1.无名插槽<body><div id"app">123</div><script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script type"text/javascript">//注册组件Vue.component("my-component",{templ…