虚拟化特性(一)通用虚拟化特性
虚拟化特性(⼀)通⽤虚拟化特性
⽂章⽬录
洛克人x8前⾔
小虾怎么做好吃前⾯我们说过,云计算是⼀种模式,⽽虚拟化是⼀种技术,我们也说过,云计算1.0时代是以虚拟化为主的,那么虚拟化究竟有什么特性可以使其成为云计算中很重要的部分呢?
回顾
在介绍虚拟化特性之前,我们先回顾⼀下虚拟化的特点:分区、隔离、封装、独⽴
基于这些特点,虚拟化具备很多特性,我们从集和虚拟机两个⾓度介绍。
虚拟化集特性介绍
集是⼀种把⼀组计算机组合起来作为⼀个整体向⽤户提供资源的⽅式,在虚拟化集中可以提供计算资源、存储资源和⽹络资源,只有包含了这些资源以后,该集才是完整的。
HA特性
先分享⼀个李开复⽿熟能详的故事。早年,李开复博⼠曾在苹果电脑公司任职,专门负责新产品的研制和开发。有⼀次,李开复与公司CEO 史考利先⽣,受到美国当时最红的早间电视节⽬“早安美国”的邀请。在当时,能上这个收视率⾮常⾼的节⽬,不仅是苹果公司的荣誉,也是李开复展现个⼈魅⼒的机会。电视台⽅⾯提前和苹果公司沟通,希望他们能在电视直播中,演⽰苹果公司最新发明的语⾳识别系统,让更多消费者了解公司的新产品。
但是,该系统成功的概率⼤概是90%,史考利希望把成功率提⾼到99%。
李开复并没有修改程序,⽽是准备两台⼀样的电脑,如果⼀台电脑出了问题,⽴刻切换到另外⼀台电脑,那么根据概率原则,两台电脑出现故障的为10%*10%=1%,那么成功率就到了99%。
这个就是HA实现的基本原理:使⽤集技术,克服单台物理主机的局限性,最终达到业务不中断或者中断时间减少的效果。
关于内蒙古的作文在虚拟化中的HA只保证计算层⾯,具体来说,虚拟化层⾯的HA是虚拟机系统层⾯的HA,即当⼀台计算节点出现故障时,在集中的另外⼀台节点中能快速⾃动的将其启动起来。
如上图中的场景,当集中第⼀台节点出现故障时,该节点上的虚拟机会⾃动迁移到其它⼯作正常的主机上。
虚拟化集⼀般都会使⽤共享存储,我们前⾯讲过,虚拟机由配置⽂件和数据盘组成,⽽数据盘是保存在共享存储上的,配置⽂件则保存在计算节点上。当计算节点出现故障时,虚拟化管理系统(如vCenter、VRM等)会根据记录的虚拟机配置信息在其它节点重建出现故障的虚拟机。
在实现HA的过程中,有两个难点需要解决:
1. 如何发现主机是否发⽣了故障?
2. 如果虚拟机不能正常启动该怎么办?
⾸先看第⼀个问题。如果要检测到计算节点是否故障,管理员需要定期和集内所有的节点建⽴通讯,⼀旦某个节点⽆法通讯,则证明该节点可能出现了故障。以华为的FusionCompute为例,CNA主机和VRM通过⼼跳机制来保证VRM有效的感知CNA节点是否发⽣了异常,具体过程如下:
CNA主机侧有某个进程或服务承载着⼼跳机制的任务;
主机每间隔3s会向VRM主动上报⼼跳,如果连续10次,即30s内主机没有向VRM上报⼼跳,则会置此主机为“故障”状态,此时FC-Portal上会有“主机与VRM⼼跳异常”的告警出现;
主机每次向VRM上报⼼跳的时候都有超时机制,socket连接、接收、发送超时时间均为10s,如果VRM服务有异常或⽹络出现异常,都可能导致超时出现,⽽每次打印超时⽇志的时机=“超时探测时间间隔3s”+“socket超时时间10s”= 13s 的⽇志时间戳;
VRM侧每收到⼀个主机侧发来的⼼跳就会将⼼跳频率heartBeatFreq变量设置为10(默认为10,此值可以通过修改配置⽂件修改),检测线程每3s会将该值减1,同时对该参数当前值进⾏判断,如果<=0,则认为此值对应的主机节点异常,在FC-Portal 上报告警,同时会把此主机异常的消息发送给VRM进⾏虚拟机HA机制判断。
接下来看⼀下第⼆个问题。虚拟机在其它主机上启动的时候,有可能会虚拟机上的业务⽆法⾃启动,甚⾄可能操作系统都⽆法正常启动,所以虚拟机层⾯的业务不能恢复的风险很⼤,同时业务恢复的时间也较长,这时候我们需要启⽤业务层⾯的HA,⼀旦主⽤的虚拟机出现故障或者不能恢复时,业务会借助浮动IP、Keepalived等与⾼可⽤相关的技术,将业务在备⽤的虚拟机上恢复。
因此,虚拟机层⾯的HA⼀般会和应⽤层⾯的HA配合使⽤,可以缩短业务恢复的时间,提⾼业务恢复的⼏率。
除了以上问题外,如何防⽌脑裂也是需要考虑的问题。脑裂是由于共享存储有可能会同时被两个虚拟机执⾏写操作⽽造成的。在系统进⾏HA前,管理系统会通过⼼跳机制检测计算节点是否故障,但是如
果只是⼼跳⽹络出现了故障,就会造成管理系统误判计算节点故障的情况发⽣,这时候就可能造成脑裂现象。所以,系统在进⾏启动虚拟机以前会检测对应的存储是否有写操作,如果有的话,则证明主机有可能没有出现故障,这时候,系统就不会在继续执⾏虚拟机的启动操作了,⽽是直接在管理系统的页⾯显⽰HA成功。
负载均衡
负载均衡在许多的地⽅都有出现这个名词,在⽹络中有链路做负载均衡、⽹卡做负载均衡。在云计算中,负载均衡和⽹络中的概念其实⼀样,只是对象换成了虚拟机。电工证等级分类
负载均衡可以简单理解为:⼀个公司内部,有三个员⼯:⼩明、⼩红、⼩刚,⼯资相同,做的⼯作也⼀样。⼩明做了⽐较鸡贼,平时爱偷懒,做了正常⼯作量的80%;⼩红是⽼板的亲戚,平时⼯作有恃⽆恐,做了正常⼯作的60%;⼩刚⽐较⽼实,勤劳能⼲,做了平常⼯作的160%,所以⼩刚经常加班。过了⼏个⽉,良⼼的⽼板发现了这个问题,指出了⼩明和⼩红的不⾜,要求他们要分担⼩刚的⼯作。之后三个⼈都做到了正常⼯作的100%。
长河落日圆的上一句
如上图在集中发现有⼀台主机上运⾏虚拟机较多(⼤家都是⼀模⼀样的服务器,你凭什么这么优秀呢?)但是他⾃⼰⼼⾥也挺苦的,负担这么重,⼜不加⼯资,运⾏⼀段时间后,这时候集的虚拟化软件和⾃动发现该主机负载较⼤(两种选择:要么加⼯资,要么不要这么多的活)会把该主机上的虚拟机迁移到其他主机上,使主机达到相对于负载均衡的状态。(公平的状态)
解决了⼀台服务器卖⼒⼲活,其他服务器看戏的问题。提升服务器寿命。
详细解释
负载均衡是⼀种集技术,它将特定的业务(⽹络服务、⽹络流量等)分担给多台⽹络设备(包括服务器、防⽕墙等)或多条链路,从⽽提⾼了业务处理能⼒,保证了业务的⾼可靠性。
优势
⾼性能:负载均衡技术将业务较均衡地分配到多台设备上,提⾼了整个系统的性能。
可扩展性:负载均衡技术可以⽅便地增加集中设备或链路的数量,在不降低业务质量的前提下满⾜不断增长的业务需求。
⾼可靠性:单个甚⾄多个设备或链路发⽣故障也不会导致业务中断,提⾼了整个系统的可靠性。
可管理性:⼤量的管理⼯作都集中在应⽤负载均衡技术的设备上,设备或链路只需要常规的配置和维护即可。
透明性:对⽤户⽽⾔,集等同于⼀个可靠性⾼、性能好的设备或链路,⽤户感知不到也不必关⼼具体的⽹络结构。增加和减少设备或链路均不会影响正常的业务。
判断依据:
在虚拟化环境中,负载均衡的对象⼀般是计算节点,判断依据为计算节点的CPU和内存的利⽤率。管理系统会在虚拟机创建和运⾏的过程中,感知整个集所有物理资源的使⽤情况,并使⽤智能调度算法,确定适合虚拟机运⾏的最佳主机,并通过热迁移等⼿段将虚拟机迁移过去,从⽽提升全局业务体验。
负载的阈值可以由系统管理员指定,也可以使⽤系统⾃定义。⽐如,在华为FusionCompute中,系统⾃定义如果某台主机的CPU和内存的使⽤率超过60%时,VRM就会将此CNA主机上的虚拟机迁移到其它节点上,在迁移前,管理员可以将迁移任务设置为⾃动,也可以向管理员发通知,等管理员确认后,再进⾏迁移。环境工程专业就业
易扩容
在传统⾮虚拟化的环境中,所有的业务都部署在物理机上,有可能在系统建设的初期,业务量不是很⼤,所以为物理机配置的硬件资源是⽐较低的,随着业务量的增加,原先的硬件⽆法满⾜需求,只能不停的升级硬件,⽐如将原先的⼀路CPU升级为两路,将256G的内存升级为512G,这种扩容⽅式称为纵向扩容(Scale-up)。然⽽,物理机的所能承担的硬件是有上限的,如果业务量持续增加,最后只能更换服务器,停机割接是必然的。
拿个⼈电脑升级举例:想要升级内存、硬盘,要考虑是否有多余的接⼝,⽀持的最⼤容量等问题。
在虚拟化中,将所有的资源进⾏池化,承载业务虚拟机的资源全部来⾃于这个资源池,当上⾯业务量持续增加的事情发⽣时,我们不需要升级单台服务器的硬件资源,只需要增加资源池中资源即可,具体在实施的时候,只需要增加服务器的数量即可,这种扩容⽅式称为⽔平扩容(Scale-out)。
集⽀持⽔平扩容,所以相对传统的⾮虚拟化IT,扩容更容易。
内存复⽤
内存复⽤是指在服务器物理内存⼀定的情况下,通过⼀定技术⼿段,使得虚拟机内存总和⼤于服务器物理内存总和,提⾼服务器中虚拟机密度。
内存复⽤的技术主要包括:内存⽓泡、内存置换、内存共享。⼀般情况下,这三种技术需要综合应⽤,
同时⽣效。
内存共享

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。