目标:描述计算虚拟化实现原理
区分三种内存复用技术
描述FusionCompute中计算虚拟化功能特性

一、什么是虚拟化
虚拟化是一个抽象层,它打破了物理硬件和操作系统之间的硬性连接
虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。
在计算机方面,虚拟化一般指通过对计算机物理资源的抽象,提供一个或多个操作环境,实现资源的模拟、隔离或共享等。
本质上,虚拟化就是由位于下层的软件模块,通过向上一层软件模块提供一个与它原先所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层软件可以直接运行在虚拟环境上。通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成一份。

二、CPU虚拟化

1、CPU的虚拟化
由单个CPU逻辑划分成核心,每个核心可以通过超线程技术还提供每个核心两个计算线程

2、超线程技术
“超线程”技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理超线程芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬件的支持下大幅度的提高运行效能,从而实现在单处理器上模拟双处理器的效能。其实,从本质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。

3、CPU单位和计算
CPU主频:1.10GHz,也叫时钟频率,代表CPU运算速度或处理速度
总线频率:代表CPU与内存进行数据交换速度
外 频:CPU的基准频率,代表整块主板的运行速度
CPU的频率计算
当有两块8核CPU,主频为26GHz时
CPU的频率=2(块/路)*8(核)*2(线程)*2.6GHz=83.2GHz
4、CPU虚拟化技术可查看HCIA笔记

https://blog.csdn.net/weixin_43666279/article/details/107417311?utm_source=app

三、内存虚拟化
内存虚拟化,首先底层物理主机真实内存需要分配给上层多个虚拟机或者应用使用,那分配到的地址只有一个从0开始,而且地址空间不一定连续。所以在底层物理主机真实内存上加上一层底层物理主机虚拟地址,把内存映射给各个虚拟机或者应用使用,让应用或者虚拟机认为自己分配到的是从0开始,地址空间连续的内存(HPA->HVA)
虚拟机拿到物理主机虚拟内存后,认为这些就是属于自己的真实硬件内存(GPA),它要分配给上层应用去使用,也要进行内存的虚拟化映射给上层应用来使用,而上层应用也会认为自己拿到了从0开始,地址空间连续的内存(GPA->GVA)

通过内存映射实现HPA->HVA->GPA->GVA
1、内存虚拟化
把物理机真实的内存统一管理,包装成多个虚拟机的内存给若干个虚拟机使用。KVM通过内存虚拟化共享物理系统内存,动态分配给虚拟机

2、KVM内存虚拟化
KVM中,虚机的物理内存即为qemu-kvm进程所占用的内存空间。KVM使用CPU 辅助的内存虚拟化方式。在Intel平台,其内存虚拟化的实现方式为EPT (Extended Page Tables)技术。

3、影子页表
Intel的CPU提供了EPT (Extended Page Tables,扩展页表)技术,直接在硬件上支持GVA->GPA->HPA的地址转换,从而降低内存虚拟化实现的复杂度,也进一步提升内存虚拟化性能。

4、虚拟机访问物理真实内存的流程

CPU先访问虚拟地址,虚拟地址去TLB表中查找,TLB表中放的是用于经常读写的物理地址,如果里面有对应的映射地址,就直接返回结果;如果没有就要去页表中的物理虚拟地址中查找对应映射关系的物理真实地址。

四、I/O虚拟化
1、I/O虚拟化需要解决两个问题
设备发现:
需要控制各虚拟机能够访问的设备;
访问截获:
通过I/O端口或者MMIO对设备的访问;

I/O虚拟化可以被看作是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guest可以复用有限的外设资源。
设备虚拟化(I/O虚拟化)的过程,就是模拟设备的这些寄存器和内存,截获Guest OS对IO端口和寄存器的访问,通过软件的方式来模拟设备行为。

2、I/O虚拟化方式
在QEMU/KVM中,客户机可以使用的设备大致可分为三类:
模拟设备:完全由 QEMU 纯软件模拟的设备

Virtio 设备:实现 VIRTIO API 的半虚拟化设备

PCI 设备直接分配 (PCI device assignment)

3、I/O虚拟化三种方式的优缺点
①、全模拟
优点:对硬件平台依赖性低,可以方便模拟流行和较老久设备;兼容性高,不需要宿主机和虚拟机额外的支持
缺点:IO路径比较长,VM-EXIT次数很多,性能较差
一般适用于IO性能要求不高的场景或者模拟一些老旧遗留设备

②、Virtio 半虚拟化
优点:实现Virtio API,减少VM-EXIT次数,提高客户机IO执行效率,比普通模拟IO效率高很多
缺点:兼容性较差,需要客户机与Virtio相关驱动的支持
IO频繁时,CPU使用率较高

③、PCI直接分配
优点:较少VM-EXIT陷入Hypervisor,提高IO性能,克服兼容性差和CPU使用率高的问题
缺点:可添加PCI和PCI-E的设备有限

五、FusionCompute计算虚拟化管理
1、虚拟机生命周期管理
创建/删除/回收,关闭/启动/下电,暂停/恢复,休眠/唤醒,重启/强制重启,克隆,迁移/异构CPU热迁移,快照,备份/恢复,磁盘迁移

2、虚拟资源管理
数据中心、集群、主机、虚拟机分层管理 ,虚拟机文件夹逻辑分组管理.,虚拟机分权管理,主机组,模板管理

3、虚拟资源配置管理
虚拟机资源(CPU 、内存、磁盘、网卡、外设等在线离线调整),GPU 直通SRIOV,虚拟机启动策略\时钟策略、VNC键盘管理,虚拟机光驱,虚拟机USB,内存复用\QoS,CPU 超分\QoS,MUMA 调度支持

六、计算虚拟换功能特性
1、兼容性行业特殊操作系统(Tools)
兼容一个新的操作系统,需要厂商提供配套的PV驱动程序,华为具备PV驱动开发能力。FusionCompute除了兼容主流的Windows、Linux操作系统之外,还兼容国产中标操作系统 (特定的版本可能需要定制驱动)
PV驱动:虚拟机虚拟化驱动,安装在GUEST os 里,调优。 对应VMware tools

2、集群(虚拟化集群管理VRM主备)
技术特点与价值:每个逻辑集群支持128物理机,适用于高性能、大规模业务群部署,降低冗余物理机比例
每逻辑集群支持8,000台虚拟机 ,适合桌面云等规模大、性能要求不高业务部署
高可用性设计,VRM (虚拟化部署或者物理部署)主备部署,保证系统可用性

3、GPU
GPU虚拟化:通过虚拟化技术,把一个物理GPU虚拟成多个虚拟GPU给虚拟机使用,GPU虚拟化&直通的型号:P4/P40/M60/V100
GPU直通:通过直通技术,把一个物理GPU直接分配给虚拟机使用,仅支持GPU直通的型号:P100

4、热添加
vRAM ,vCPU 不仅支持离线添加/删除,支持在线添加平台支持在虚拟机运行情况下调整CPU和内存规格,虚拟机不需要重启即可生效。
应用价值
根据虚拟机的需求,灵活调整其配置
纵向扩展有效保证单个虚拟机QoS
与横向扩展有机结合,保证集群QoS

注:系统会根据虚拟机OS的能力默认开启或关闭热添加功能。支持主流Linux系统虚拟机在线调整CPU和内存;支持主流Windows系统虚拟机在线调整内存,在线调整CPU需要重启才能生效。

5、主机内存超分配
①、内存共享,写时复制
内存共享:虚拟机之间共享同一物理内存空间 (蓝色),此时虚拟机仅对内存做只读操作
写时复制:当虚拟机需要对内存进行写操作时 (橙色),开辟另一内存空间,并修改映射

②、内存置换
内存置换:虚拟机长时间未访问的内存内容被置换到存储中,并建立映射,当虚拟机再次访问该内存内容时再置换回来(将外部存储(部分硬盘空间)虚拟成内存,比如Linux中的swap分区)

③、内存气泡
内存气泡:Hypervisor通过内存气泡将较为空闲的虚拟机内存释放给内存使用率较高的虚拟机,从而提升内存利用率

华为虚拟化平台,通过智能复用以上三种技术将内存复用比提升至150%,领先C等友商;同等内存资源条件下,虚拟机密度提升150%,降低50%的硬件 (内存)采购成本
内存复用技术开启之后,是三种技术一起使用,不存在单独一项的使用

6、NUMA亲和性调度
NUMA技术会将CPU及旁边内存绑定形成一个Node节点。系统会根据虚拟机配置、NUMA高级参数物理主机NUMA配置自动计算虚拟机NUMA拓扑结构并设置虚拟机NUMA与物理机NUMA亲和性,使虚拟机内存访问性能达到最优
Host NUMA在BIOS界面中开启或关闭
Guest NUMA在FusionCompute的集群资源控制中开启或关闭,只能分配一个Node中的资源

7、虚拟机HA实现
1、VM 故障或计算节点故障;
2、管理节点查询VM状态,发现VM故障;
3、此时管理节点判断VM有HA属性,则根据保存的VM信息(规格、卷),选择可用的CNA 启动 VM;
4、CNA 节点收到 HA 请求,根据VM规格、卷信息启动新的 VM;
5、启动过程中,将 VM 之前的卷重新挂载,包括用户卷。

七、拓展
1、虚拟机热迁移原理
支持在不影响用户使用或中断服务的情况下在服务器之间实时迁移虚拟机,从而无需为进行计划内服务器维护而安排应用中断。

①、热迁移条件
Ⅰ、虚拟机
虚拟机处于运行中的状态;不能跟主机绑定;不能挂载(不是安装哈)光驱、Tools等外设设备;最多同时能迁移8台虚拟机
Ⅱ、主机
目标主机不能处于维护模式;目标主机需要用有足够的CPU和内存资源;迁移过程中不能将源主机和目标主机下电或重启;源主机和目的主机的CPU类型种类尽量保持一致,如果低代数往高代数迁移时可以支持的(因为高代数的CPU包含有低代数的CPU指令),如果高代数往低代数迁移,需要开启集群IMC特性(因为高代数有些指令,低代数可能没有)。IMC特性只针对Intel CPU做调整
Ⅲ、存储
使用共享存储
Ⅳ、网络
目的主机关联需迁移虚拟机所在的DNS(因为不同DNS之间时存在物理隔离的);源和目的主机网络要互通
②、迁移过程:
1)将虚拟机配置信息传送到目标主机上创建空虚拟机
2)传送虚拟机内存(迭代迁移)将虚拟机迁移时的初始内存及内存变更分片同步到机上。
3)暂停源虚拟机并传送状态在原主机上暂停虚拟机将最后的变更内存传到目标主机
4)恢复目标虚拟机,在目标主机上恢复虚拟机,并在原主机上停止虚拟机。

2、名词解释
①、动态资源调度
指FusionCompute提供各种虚拟化资源池,包括计算,存储,网络资源池,可以根据策略实现对这些资源的调度和管理
具体包括:DRS(计算资源调度自动化,负载均衡),FusionCompute的计算集群,配合基于VIMS文件系统的共享存储;DRS算法实时监控集群中每个计算节点的资源使用情况,引用VMOTION功能,智能迁移负荷高节点上虚拟机到资源充足的节点上;均衡各节点资源使用并保障业务有充足资源可用。因此,DRS是实现自动负载均衡的基础
DPM(动态节能调度,分布式电源管理),电源管理自动化功能会周期性地检查集群中服务器的资源使用情况,如果集群中资源利用率不足,则会将多余的主机下电节能,下电前会将虚拟机迁移至其他主机;如果集群资源过度利用,则会将离线的主机上电,以增加集群资源,减轻主机的负荷

②、资源动态调整
用户会根据其负载均衡动态调度虚拟机的资源使用,包括离线/在线调整vcpu数量,内存大小,增加/删除网卡,挂载虚拟机磁盘

③、资源动态管控
指QoS,当虚拟机抢占物理资源时,为保证关键业务的运行,可控制虚拟机的资源使用情况,包括CPU QoS,内存QoS,磁盘QoS(磁盘IO上限),网络QoS(接收发送流量整形)

2.2、云计算FusionCompute计算虚拟化相关推荐

  1. 华为云计算入门-计算虚拟化

    华为云计算HCIA-计算虚拟化 云计算简介,我们为什么学云计算 有什么用? 云计算的确是最近几年兴起的话题,但是它采用的技术并不是新颖的,反而是很多年前的老技术,组合起来使用.需要涉猎范围很广,需要理 ...

  2. 2.3、云计算FusionCompute存储虚拟化

    学习目标:描述什么是虚拟化存储 描述存储虚拟化的实现原理 区分SAN.NAS.FusionStorage在FusionCompute中使用的区别 描述存储高级功能特性及其原理 一.FusionComp ...

  3. 重点!!!计算虚拟化技术(HCIE云方向)

    计算虚拟化技术 一.FusionSphere 1)FusionCompute 1) CNA 2 )VRM 2)FuisonManager 3)UltraVR(BCManager ereplicatio ...

  4. 云计算自动化对于虚拟化环境意味着什么?

    IT运营和网络实践的现代化导致自动化和计算技术和工具的快速采用.这些被归为云计算自动化的一部分.云计算自动化被认为是组织成功进行数字化转型的必要条件之一,因此,组织需要深入研究自动化流程如何有效地从环 ...

  5. OpenStack精华问答 | OpenStack与计算虚拟化有什么关系?

    关于OpenStack的争议,从未停止,每每关于它的消息,都会一石激起千层浪.今天就让我们看看关于OpenStack的问答吧. 1 Q : 什么是OpenStack? A : OpenStack,是目 ...

  6. 第三章-云计算边缘计算雾计算

    [前言]随着万物互联时代的到来,网络边缘设备产生的数据量快速增加,带来了更高的数据传输带宽需求.于此同时,新型应用也对数据处理的实时性提出了更高要求,传统云计算模型已经无法有效应对,边缘计算.雾计算应 ...

  7. 主流计算虚拟化技术/华为的产品介绍

    Xen 前端驱动=>后端驱动=>硬件驱动=>真实的硬件去处理 怎样去操作Dom 0了? ==>可以通过.命令行.图形化界面 或 第三方平台 openstack去创建 Dom u ...

  8. 【重识云原生】第二章计算第一节——计算虚拟化技术总述

    云平台计算领域知识地图: ​ 楔子:计算虚拟化技术算是云计算技术的擎天之柱,其前两代技术的演进一直引领着云计算的发展,即便到了云原生时代,其作用依然举足轻重. 一.计算虚拟化技术总述 1.1 虚拟化技 ...

  9. 香港云服务器及云计算中的虚拟化

    虚拟化?虚拟化是在远离实际硬件的层中运行计算机系统的虚拟实例的过程. 虚拟化是在大型机时代开发的.最初,它创建了现有资源的虚拟副本,从而可以扩展现有基础结构.如今,虚拟化允许多个操作系统和应用程序在同 ...

  10. 计算机服务器虚拟化参考文献,虚拟服务器论文,关于基于华为FusionCompute应用服务器虚拟化管理系统相关参考文献资料-免费论文范文...

    导读:本论文可用于虚拟服务器论文范文参考下载,虚拟服务器相关论文写作参考研究. (国家新闻出版论文范文831台,浙江 兰溪 321106) 摘 要:阐述了服务器虚拟化技术.虚拟化软件FusionCom ...

最新文章

  1. 接触HTML和CSS心得体会
  2. vc6.0 点击鼠标获取mysql数据库所在行_VC6.0连接到mysql数据库
  3. mysql 自动补齐 表名,列名 方法, 重启mysql方法
  4. 12 Essential Bootstrap Tools for Web Designers
  5. python创建socket对象_python---一个简单的socket
  6. Windows11怎么关机重启?Windows11的关机键在哪?
  7. MySql详解(四)
  8. 转: 技巧/诀窍:在ASP.NET中重写URL
  9. android终端模拟器运行命令可以进行adb connect
  10. 反相器的Cadence仿真
  11. 用CSS实现HTML图文混排
  12. 第十一章:实现SpringBoot单个、多个文件的上传
  13. 解决Aucc2021在win10/11系统上安装失败问题Audition 2021中文完整版_永久使用安装教程
  14. 渗透测试-web渗透本质–信息收集
  15. 当当将上线低价电子书 盛大Bambook面临冲击
  16. 2008年下半年信息系统项目管理师上午试题分析与解答之一
  17. Box2D v2.1.0用户手册翻译 - 第02章 Hello Box2D
  18. 介绍PostgreSQL CTE(common table expressions)
  19. Nutz发送http请求
  20. Latex编辑器Texstudio的快捷键汇总(更新)

热门文章

  1. 如何理解js中的this
  2. 智慧社区安防核心硬件:无障碍人脸识别终端
  3. 英伟达最新驱动打开3d vision功能
  4. kubeadm部署1.11.1的k8s集群
  5. mybaties中resultMap和resultType的区别
  6. 高危行业?程序员不仅秃得早,还会死的早!
  7. 安装CAD2006出现html,win7系统安装cad2006出现已终止CAD2006-Simplifieng安装的解决方法...
  8. 标准盒模型和IE盒模型
  9. apple tv 开发_如何在新的Apple TV上管理存储空间
  10. Bluedroid 函数分析:BTA_GATTC_Open