【云计算学习教程】云计算虚拟化技能和容器技能详解_云计算虚拟化技能与容 ...

打印 上一主题 下一主题

主题 881|帖子 881|积分 2643


最全的Linux教程,Linux从入门到精通
======================

  • linux从入门到精通(第2版)
  • Linux体系移植
  • Linux驱动开发入门与实战
  • LINUX 体系移植 第2版
  • Linux开源网络全栈详解 从DPDK到OpenFlow

第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是得到了许多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技能图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循规蹈矩地向读者先容了Linux 的基础应用、体系管理、网络应用、娱乐和办公、步伐开发、服务器设置、体系安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
   需要《Linux入门到精通》、《linux体系移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+批评
  网上学习资料一大堆,但假如学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化的资料的朋友,可以点击这里获取!
一个人可以走的很快,但一群人才气走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
应用软件容器与虚拟机的第二个不同是,容器里不能举行操作体系级的修改和设置。对于做驱动开发和 Linux 内审定制的人来说,就不适合租赁容器,而虚拟机则没有任何限定。
如今有企业推出了云计算一体机(或称为箱式数据中心),做一个大箱子,里面封装了几台服务器、磁盘柜、计算机网络装备、UPS(不中断电源)、制冷装备等,并且安装了虚拟化软件和云管理工具。微软的云计算一体机采用水冷体系,冷水进去,热水出来,如图 5 所示。

图 5 云计算一体机
云计算一体机消耗的电能(3000W 以上)全部转化为热能被水带出,热水可以进一步使用,真正做到了节省能源,从而使云计算成为名副其实的绿色 IT。图 6 所示为华为的 FusionCube 一体机,不过里面没有制冷装备和 UPS,外表显得“傻大黑粗”。

图 6 华为的 FusionCube 一体机
电力使用服从(Power Usage Effectiveness,PUE)是目前国际上通行的用于衡量云端和云计算一体机能源服从的指标,它即是总能耗与 IT 装备能耗的比值。比值越小,表明能源使用率越高,绿色程度越高。
目前国外先进的数据中心机房 PUE 值通常小于 2,而我国的大多数数据中心的 PUE 值为 2~3。在云端,IT 装备主要指服务器、存储装备、网络装备,其他的诸如制冷装备、UPS、安防装备等属于非 IT 装备,其中制冷装备功耗险些占到总功耗的一半。
出租虚拟机属于 IaaS 云服务,IaaS 的另一种产品是出租裸机,即直接把硬件服务器出租出去,通过服务器上的远程管理卡可以把设置、安装操作体系、开关机等功能整合到租户自助网站上。
最后,对主机虚拟化技能举行总结,如图 7 所示。

图 7 主机虚拟化技能
在图 7 中,“多用户”是实现远程桌面最轻量化的方案,即在操作体系里创建多个用户账号,然后让这些用户登录使用计算机。
目前微软的远程桌面服务和 Linux 多用户运行级别都是实现“多用户”的方法。近来有不少公司在多用户的基础上进一步做轻量化处理,推出应用步伐虚拟化(vAPP),如微软的 APP-V、思杰的 XenAPP、VMware 公司的 ThinAPP、Ceedo 公司的 Ceedoclient 等。
应用步伐虚拟化有一个好处,即使计算服务器按应用分工,比如使用一台服务器专门运行 Word 软件,第二台专门运行 Excel 软件,第三台专门运行 QQ,第四台运行 Photoshop,通过应用软件虚拟化技能把 Word、Excel、QQ、Photoshop 整合到用户的桌面上。
使用户桌面情况与应用步伐分离有如下几个好处:
1)可以根据应用步伐来专门定制服务器硬件

不同的应用软件,对机器设置的侧重点不同,比如图形处理软件对显卡要求较高、QQ 对网络要求较高,根据应用软件定制的服务器运行服从天然会提高不少。
2)节省更多的资源

一台服务器只运行一个应用软件,但同时服务多个用户,可以节省硬盘资源、节省内存资源、节省 CPU 资源,具体原因可以参考操作体系原理和计算机体系结构方面的书籍。
3)提高生产服从

运行同一个步伐,即是执行一份相同的软件代码,从而大大提高了各级缓存的掷中率,也加快了进程的切换速率,提高了虚拟内存的换入、换出服从。
图 7 中的物理机(也称为裸金属机)是最重型的方案。同一台计算机上租户数越多,表明相应方案越轻量化,反之则越重型化。在实际方案中,要根据租户的需求来确定轻重级别。
目前一台虚拟机不能超过多台物理机(只能在一台物理机上运行),这意味着虚拟机的运算能力不会高出一台物理机的运算能力,以后的技能能不能突破还很难下定论。目前通过集群团结多台物理机,对外出现同等的寻址空间,对用户来说,好像在使用一台超级计算机,但这是虚幻的,集群与虚拟化具有本质的不同。
但是目前主流的主机虚拟化技能都支持过度分配资源,即分配给同一台物理机上的虚拟机的资源之和大于物理机自己的资源数。比如物理机的计算资源是内存 4GB、CPU 8 核、磁盘 100GB,在这台物理机上创建 5 台虚拟机,每台虚拟机分配资源如下:内存 1GB、CPU 2 核、磁盘 30GB,显然 5 台虚拟机资源之和是内存 5GB、CPU 10 核、磁盘 150GB,高出了物理机的资源总数。
在虚拟机运行时,按其实际消耗的资源动态分配,但是不高出管理员给其分配的上限,一般计算机正常运行时资源泯灭不会高出其总资源的 75%,如许过度分配资源就轻易明白了。CPU 的过度分配率一般为 16 倍,内存的过度分配率一般为 1.5 倍。
接下来我们再来看看网络虚拟化技能。网络虚拟化技能主要用来对物理网络资源举行抽象并池化,以便于分割或合并资源来满足共享的目标。人们很早就意识到了网络服务与硬件解耦的须要性,先后诞生了许多过渡的技能,其中最紧张的 6 种分别是虚拟局域网络(VLAN)、虚拟专用网络(VPN)、自动可编程网络(APN)、叠加网络(Overlay Network)、软件界说网络(SDN)和网络功能虚拟化(NFV),如图 8 所示。

图 8 网络虚拟化的发展历程
APN 把控制信息封装到报文内部,路由器根据报文内的控制信息做决策。SDN 和 NFV 是目前最为热门的网络虚拟化技能,在云计算和大数据期间,其发展不可小视。
网络虚拟化技能已经出现了 20 多年,但是发展却一直不温不火,原因是缺少一个杀手级的应用。云计算的出现对于网络虚拟化来说是一次千载难逢的时机,可以说,有了云计算,网络虚拟化才变得如此热门,假如没有网络虚拟化,就没有大规模的云计算。
众所周知,一个计算机网络必须完成两件事:

  • 把数据从 A 点传送到 B 点,主要包罗接收、存储和转发数据。
  • 控制如何传送。主要是各种路由控制协议。
这跟交通网络很相似,连接两个都会的交通网络具备的第一个功能就是汽车从一个都会到达另一个都会;第二个功能是控制到底走哪条线路最好。前者就是由公路构成的交通网络,后者就是交通控制体系。
下面我们再来看看传统的网络装备(比如一台路由器)的逻辑分层结构,如图 9 所示。

图 9 路由器的逻辑分层
传统的网络装备包含了完整的三层,由厂商统一捆绑销售,第三方很难修改里面的软硬件结构,由此对用户来说有以下几个明显的缺点:


  • 轻易被网络装备厂商绑定。
  • 不能快捷满足业务的需求。
  • 本钱高。
  • 无法实现网络虚拟化。
  • 数据传送的路径很难保证全局最优。
如今,SDN 是网络虚拟化技能当中最热门的技能。SDN 技能通过分离网络控制部门和封包传送部门来避免传统网络装备的缺点,处于数据通路上的网络装备蜕化为准硬件装备,网络中的所有网络装备的网络控制部门独立出来由一台服务器单独承担,示意图如图 10 所示。
把网络控制部门从各个网络装备中独立出来,统一由 SDN 网络控制器承担,如许做的最大好处是数据传送的路径是全局最优的。
SDN 网络控制器类似于 GPS 导航卫星,它存储了全局的网络拓扑图,俯视着整张网络,精确导航着每个数据包的流向。当某台网络装备收到一个数据包时,就会询问网络控制器:“这个包要往哪个口送出去?”SDN 网络控制器大概回答:“从 2 端口送出去。”
为了加快转发速率,SDN 网络装备会存储答案,即属于同一个会话的数据包直接从之前的出口送走,类似于实际生活中完成同一个运输使命的车队,在每个交叉路口,GPS 卫星只导航第一辆车,后面的车跟着行驶即可。SDN 网络装备和网络控制器之间采用 Openflow 协议举行通信。

图 10 SDN 原理图
云端一般采用 Open vSwitch 交换机,它是一款开源的网络虚拟化产品,是二层交换机,性能可以与硬件交换机媲美。使用它可以在虚拟机的下面构筑虚拟网络层,通过及时修改 Open vSwitch 的设置,可以组建变化灵活的局域网,使得一台虚拟机能快速地从一个局域网迁移到另一个局域网中,这是物理交换机所无法实现的,如图 11 所示。

图 11 迁移
不同物理机上的两台虚拟机之间的网络通路如图 12 所示。

图 12 不同物理机上的两台虚拟机之间的网络通路
VDI(远程桌面)是什么?

使用过 Windows 操作体系的用户都知道,计算机启动完毕后看到的谁人屏幕叫桌面,上面有许多小图标,包罗此电脑、接纳站,以及许多由用户自己创建的应用步伐快捷方式。图 1 所示是我的 Windows 10 桌面。

图 1 Windows 10桌面
图 2 所示是安装了 Linux 操作体系的桌面。

图 2 Linux 桌面
不同的用户登录计算机后看到的桌面是不一样的,每个用户都可以定制自己的桌面,而不会影响到同一台计算机上的其他人的桌面。
假如把桌面放在云端,就成了远程桌面,租户输入账号和密码就可以登录到云端的桌面,此后使用云端桌面与本地桌面一样,没有区别。有人喜好把远程桌面称为虚拟桌面接口(VDI),如许学术性更浓厚一些。
使用云端桌面能实现移动办公,请看下面的情景描述:
李昭在一家公司做售后,主要工作是解决客户的问题,其活动范围包罗家、公司、客户处。他经常出差,具体工作包罗写文档、修改软件 Bug、管理问题库工具。李昭家里有台式机,公司有办公计算机,出差时携带条记本电脑,公司还给他在私有云上创建了一个虚拟机。
李昭在虚拟机里安装了 Windows 8 操作体系,然后又安装了 Office 2013 办公软件、QQ、PDF 阅读器、暴风影音、Visual Studio 2012 开发工具、Photoshop CS5、Chrome 网页浏览器、问题管理工具等软件,最后开启了虚拟机的远程桌面。
如许,李昭就能在家里、公司和客户处登录到云端桌面了。云端桌面成了李昭唯一的办公桌面,如图 3 所示。他写的文档、修改的软件、设计的图片、下载的影戏和歌曲等都在这里,不管李昭走到哪里,都可以随时随地访问其数据资料。

图 3 云端桌面
远程桌面协议是实现远程桌面应用的关键技能之一,协议规定终端与云端桌面如何通信。
目前的远程桌面协议有微软的 RDP10、EMC 公司的 EOP/PCoIP、思杰公司的 ICA/HDX、红帽公司的 SPICE,以及 Ericom 公司的远程桌面产品。
微软的 RDP10 客户端软件目前能运行在安装了 Windows10、Windows Server 2012 的计算机上,或者固化了相应操作体系内核(Windows Embedded Standard 10、Windows 10 IoT)的嵌入式终端上,同时发布了针对安卓和苹果操作体系的客户端软件。
而云端桌面的操作体系只能安装 Windows 8、Windows Server 2012 和 Windows Server 2016,比如图 3 就是在安装了 Windows 7 操作体系的计算机上登录到云端的 Windows 8 桌面所看到的开始菜单。
开源项目 FreeRDP 支持 RDP 协议,能在许多操作体系上运行,但是目前不支持 RDP 8.0。微软的 RDP 8.0 协议规范公开在官方网站上,预计不久后,FreeRDP 就会支持 RDP 8.0 了。而其他几个公司同时发布了能运行在 Windows、Linux、Adnriod 和 Mac OS 体系上的多个版本。
以下是实现远程桌面的 3 种方法:
1)基于 IaaS 云服务的虚拟机或裸机,租户租用云服务提供商的虚拟机或裸机,然后自己安装操作体系、应用软件并开启远程桌面,我们称这种远程桌面为 IaaS 云桌面。
2)IaaS 云服务的应用软件容器,租户共享底层的操作体系内核,单独安装应用软件和一些基础运行库,我们称这种远程桌面为 IaaS 容器桌面。比如 OpenVZ 和 Virtuozzo Containers 实现 Linux 的容器桌面,Windows Server Container、Hyper-V Container 和 Virtuozzo Containers 实现 Windows 的容器桌面。
3)基于半平台 PaaS 云服务,并为每个租户创建一个体系账户,其实就是使用了现代操作体系的多用户特点,即同时让许多人登录并使用计算机,我们称这种远程桌面为 PaaS 云桌面。
PaaS 云桌面在私有云中应用比力广泛,尤其是私有办公云。由于搭建 PaaS 云桌面具备很好的伸缩性,以是小的云端用一台计算机即可。一台设置高的台式机(4 核 3.0GB CPU、16GB 内存、1T 硬盘)就可以供 20 个左右的员工日常办公,以后随着公司的发展,员工不停增多,可以不停地增加云端计算机来构建更大的云端。
目前微软的终端服务技能就是范例的 PaaS 云桌面的解决方案,要求每个用户购买许可证,在正规的商业情况下建议购买正规许可证。
由于 IaaS 云桌面是每个租户单独使用一台云主机(虚拟机或裸机),以是租户间的隔离效果最好,IaaS 容器桌面的隔离效果次之,PaaS 云桌面的隔离效果最差。这里的“隔离”,是指一个租户的操作行为和私有数据资料对另一个租户的可见度。比如两个租户登录到同一台计算机的 PaaS 云桌面,那么他们之间是相互可见的:可以看到对方的进程、对方的数据文件,一方关机另一方就会被强行退出,具体内容可参阅后面教程。
在规划具体的云端方案时,要综合考虑到底采用什么范例的桌面,这里提供一些经验如下:

  • 同一个部门的人采用 PaaS 云桌面。
  • 中小企业采用 PaaS 云桌面。
  • 紧张岗位(如财务、人事、销售)采用 IaaS 云桌面。
  • 同一个研发团队采用 IaaS 容器桌面。
  • 公共云采用非 PaaS 云桌面。
  • 领导和焦点保密部门应采用裸机桌面。
负载均衡(Load Balance)简介

众多的租户通过计算机网络接入云端的计算机并使用里面的计算资源,这里有三点需要留意:


  • 租户许多。
  • 云端有许多计算机。
  • 进入云端的宽带专线条数有限(一般为 1~3 条光纤),如图 1 所示。

图 1 接入云端
负载就是使命,即租户要在云端完成的使命。把众多租户要完成的使命如何合理地分配给云端的各个服务器并能快速处理完,就是负载均衡技能所要解决的问题。
抱负的使用情景描述如下:
早上 8:30 前,微算公司云端只有 1 号服务器在开启状态,其他众多的服务器都处于就寝状态。处于就寝状态的服务器耗电少少,唤醒一台服务器的时间大概是 1 分钟。然后员工陆续到岗,最先来的 20 名员工登录到云端的 1 号服务器上的远程桌面,1 号服务器还可以接入 5 台终端,此时 1 号服务器唤醒 2 号服务器,接下来的 5 人仍然接入 1 号服务器,后面来的 30 人接入 2 号服务器。2 号服务器设置高一些,以是能接入 30 台终端,2 号服务器在适当的时候唤醒 3 号服务器,此后其他服务器的行为与 2 号服务器相同。
下午 18:00,员工陆续下班。下班时员工有两种做法:一是从云端注销出来,二是不注销而直接关闭终端。没有注销的远程桌面保留全部的工作使命状态,比如正在编辑的 PPT、打开的 QQ、还在播放的《少年派》等继承保持,第二天员工再登录时看到的桌面照旧昨天下班前的状态,他可以继承编辑未完成的 PPT、浏览别人发过来的大量 QQ 消息,不过昨天还没看完的《少年派》快播放完了。由于云端检测到终端 30 分钟内没有输入,于是把其桌面转为就寝,视频播放暂停。如今该员工需要倒回 30 分钟并继承观看。
云端没有活跃桌面的服务器在延时 10 分钟后自动就寝。下午 19:00,另有员工在加班,云端另有 11 台服务器在工作,但是每台服务器只接了 1~5 个不等的活跃桌面。此时云端启动了活跃桌面合并步伐,采用热迁移技能,把 32 个活跃桌面合并到 1 号和 2 号服务器上,其他服务器转为就寝状态。云端服务器的唤醒、就寝和活跃桌面合并都是自动完成的。
上面的情景中有一个关键的技能:租户登录时把其桌面分配到一台合适的服务器上,这就是负载均衡技能要解决的问题。对“合适”二字明白不同,实现负载均衡的策略也不同,但条件是保证不会降低租户的体验。下面是常用的负载均衡策略:
1)让唤醒的每台服务器承担尽大概多的活跃桌面。
2)使每台服务器消耗的计算资源的占比尽大概相等。假如全部服务器设置相同,那么本策略就是把活跃桌面尽大概地均匀分配给所有的服务器。
3)应用软件相同的租户桌面尽大概地分配到相同的服务器上。同一部门的租户使用的软件差不多,以是相同部门的租户桌面尽大概地分配在相同的服务器上。比方,售后服务部的员工一般都使用客服软件、办公软件、邮件、问题库工具等,以是把售后服务部的员工的桌面放在同一台计算机上且作为半平台 PaaS 云桌面,从而节省许多内存。
4)同一个租户每次登录时,其桌面尽大概地分配到同一台服务器上。如许可以只管减少桌面漫游次数,从而降低网络带宽的开销。
负载均衡使命由负载均衡器完成,目前既有纯软件的负载均衡器产品,如 LVS,也有厂家推出的硬件负载均衡器,如 F5、笃信服、梭子鱼、Radware 等,F5 负载均衡器的代价都在 10 万元以上。
LVS 是开源软件,已经集成到了 Linux 内核,其性能优越,结合一台通用的物理计算机,完全可以搭建一台能与 F5 媲美的负载均衡器。直接采用 DNS 轮询或者 iptables 也可以实现简单的负载均衡使命。
服务器集群(cluster)简介

负载均衡技能用于解决如何把许多互不相关的小型使命或中型使命合理地分配到不同的服务器上的问题。互不相关的小型使命或中型使命是指使命之间没有关联性,而且只用一台服务器就可以完成的使命。绝大多数个人租户的使命都属于这类使命。
对于大型使命,由于一台服务器无法按时完成,以是就要把大型使命拆分成许多中小型使命,然后再分配给多台服务器,由它们协同完成,这就是计算机集群技能所要解决的问题。
对租户来说,由许多台服务器构成的集群体系就像一台超级计算机,不管运行多么复杂、大型的使命,马上就能得到效果,如图 1 所示。而具备同样计算能力的超级计算机代价却非常昂贵,以是当 PC 服务器代价大幅度下降之后,人们热衷于采用廉价的集群体系来完成各种高性能的计算使命。
比力明显的例子就是,谷歌公司用几万台服务器组建搜刮集群体系,而且服务器都是他们自己组装的。留意:本节陈诉的集群是高性能计算集群,目标是完成大型的使命,下一节陈诉的容错计算追求更好地完成使命。

图 1 集群构成的“超级计算机”
显然,集群涉及两大技能:一是使命的拆分,二是使命的调度。
1. 使命的拆分

使命的拆分遵照的原则之一是只管降低子使命之间的关联性,从而提高处理使命的并行度。最常见的关联性是使命处理的时间先后关系,比如子使命 A 肯定要在子使命 B 完成之后才气开始处理,即 B 使命的输出作为 A 使命的输入。存在一类子使命无关联的大型使命,拆分如许的使命就很轻易。
比如在举世上亿的网页中搜刮关键词“云计算”,这个使命的拆分方法之一是按国家分别:A 子使命搜刮中国的网站,B 子使命搜刮美国的网站,C 子使命搜刮英国的网站等,这些子使命之间没有关联性,可以并行处理,最终把全部子使命的搜刮效果合并起来即可。
再比如中国的天气预报,可以按省份拆分。这类大型使命的拆分示意图如图 2 中的左图所示。
另外一类大型使命很难拆分成互不相关的子使命,如核爆模拟、战役推演模拟等,拆分出来的子使命之间肯定存在关联性,即一些子使命之间开始或者竣事的时间与其他一些子使命的起止时间存在前后关系,如图 2 中的右图所示。

图 2 拆分使命
2. 使命的调度

使命的调度即如何把拆分出来的子使命合理地调度给云端服务器并让它们协同完成,这里的“合理”性与租户的要求密切相关。可以如许界说:最能满足租户要求的调度方法就是合理的。
租户的要求各种各样,有的希望使命完成得越快越好,有的要求在将来某个时间前完成使命即可,有的希望效果越精确越好,有的希望计算费用越少越好……根据租户的不同要求,人们提出了相应的使命调度方法。比如在满足租户预期目标的条件下,把使命分配给只管少的计算机,从而满足“应用最少的计算机按时、按质完成使命”的要求,由于参与的计算机越少,通信的本钱就越低。
比方,有一个 100 人日的使命,甲方要求在 10 天内完成。为了在规定的时间内完成使命,乙方更愿意安排 10 个人做 10 天,而不是安排 105 个人做1天。由于要管理 100 人,以是后者需要增加 5 个管理人员。
集群是一个复杂的工程,它涉及许多分布式方面的基础算法,如选举算法、同等算法、波算法、快照、故障检测等,感兴趣的读者可以参阅 Gerard Tel 著的《分布式算法导论》。Hadoop 就是一个集群体系,它负责分布式体系的基础算法,从而在 Hadoop 上编写分布式步伐就简单多了,具体的先容请拜见教程后续章节。另外,OpenHPC 是一个基于 Linux 的开源集群项目。
容错计算是什么?

容错计算,也有人称为高可用性计算和高可靠性计算,就是在体系存在故障的情况下,仍能正确地执行给定的算法。为了实现这一点,必须使体系具有故障检测与诊断、功能切换与体系重组(reconfiguration)、体系规复与重新运行、体系的重构(reintegration)与可扩展等功能,而且这些功能不能影响体系的正常运行或至少不能使体系的性能下降到不能容忍的程度。
容错计算的重点是保证使命在被处理的过程中不会非常终止,以及使命完成后输出效果的正确性。
可靠性是指在规定的使用条件下和规定的时间内完成规定功能的能力,通常用多少个“9”来衡量。比如人们所讲的达到 4 个“9”的可靠性,就是说使命顺利完成的概率为 99.99%;同理,5 个“9”的可靠性就是 99.999%。
严酷来讲,容错计算也属于集群的范畴,只不过参与集群的计算机处理同样的使命——并行或者接力。容错计算需要投入更多的计算资源,以是造价较高。对于一些非关键的使命,人们出于本钱的考虑,一般较少采用容错集群体系。
接力容错

接力容错又叫串行容错,由多少台计算机参与同一个使命的计算,但是同一时刻只由一台计算机处理使命,只有当这台计算机出现故障时,才由下一台计算机接力处理;类似,假如此台计算机又出现故障,那么继承由其他计算机接力;只有当全部计算机都出现故障时,使命处理才会被中断,示意图如图 1 所示。
其实我们可以及时维修故障计算机并让其再次加入容错集群参与下一次的接力活动,如许就能最大限度地保证使命顺利完成。只有在全部计算机同时出故障(或者险些同时出故障以至于人们还来不及维修)的情况下,租户的使命才会被中断,如供电非常(断电、电压过高或过低等)、雷击都大概导致参与容错集群的计算机同时出故以是云端的建设,供电和防雷是重中之重。
在条件允许的情况下,应采用多路市电接入,每路市电分属于供电部门不同的变压器,甚至是不同的电网,机房配备不中断电源和发电装备,如许就形成了三级供电保障:市电、不中断电源、发电装备。

图 1 接力容错示意图
传统的民用接力容错集群多采用经典的“双机—双工”结构:两台服务器带一台磁盘阵列,如图 2 所示。

图 2 “双机—双工”接力容错
两台服务器都与磁盘阵列相连,同时通过心跳线互联,用来完成使命的软件和软件处理的数据放在磁盘阵列上,如许每台服务器都能访问这个软件,同时双方通过心跳信号感知对方的状态。
平常主服务器运行软件以处理使命,备服务器空转,一旦主服务器出现故障,其就不再向备服务器发送心跳信号,备服务器收不到主服务器发来的心跳信号就知道其出现了故障,此时备服务器会运行软件,从而继承处理使命。
然后机房管理人员对故障服务器举行维修,而租户并不知道负责使命处理的服务器发生了切换。这种双击容错集群体系被企业大量应用于数据库管理体系、邮件体系及一些诸如 ERP 等紧张的业务体系,以保证关键应用的高可靠性。
另外,也有采用“双活”主机的方案——两台服务器平常都承担负载,当一台服务器发生故障时,负载才由另外一台服务器全部承担,应用不会重点,但是相应时间大概会延长。
大概有人会问:磁盘阵列坏了怎么办?
在图 2 中,磁盘阵列成了单点故障,为此有人采用存储局域网替换磁盘阵列,并在存储局域网中举行存储容错处理,这种方法本钱很高。在以太网网速达到万兆甚至十万兆的今天,去掉磁盘阵列而对服务器上的硬盘直接做及时同步变得可行,可参考王良明的论文《存储寄存算法及其应用》。
主/备服务器的硬盘数据相互寄存的示意图如图 3 所示。

图 3 存储寄存示意图
并行容错

并行容错是指,参与容错的计算机同时处理相同的使命,输出相同的效果。可以在服务器内部的部件条理做并行,也可以在服务器条理做并行,前者主要由服务器生产厂商设计和完成。
如今的绝大多数服务器都或多或少地存在一些并行部件,如双电源供电、多网卡捆绑、RAID 1 支持等。至于在服务器条理做并行,普通民用领域很少采用,多见于航空、军事领域。并行容错的示意图如图 4 所示。
在 3 台计算机参与的并行容错集群体系中,不但可以容错,而且还可以纠错。比如在由 5 台计算机构成的并行容错集群体系中,有 4 台输出 A、1 台输出 B,那么根据少数服从多数的原则,最终的效果就是 A。
网上学习资料一大堆,但假如学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化的资料的朋友,可以点击这里获取!
一个人可以走的很快,但一群人才气走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表