logo logo
关于我们

技术分享

技术分享 云计算FusionCompute计算虚拟化

云计算FusionCompute计算虚拟化

2021-02-18

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

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

云计算FusionCompute计算虚拟化

二、CPU虚拟化
云计算FusionCompute计算虚拟化

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笔记

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

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

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

云计算FusionCompute计算虚拟化

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

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

云计算FusionCompute计算虚拟化

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 纯软件模拟的设备

云计算FusionCompute计算虚拟化

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

云计算FusionCompute计算虚拟化

PCI 设备直接分配 (PCI device assignment)
云计算FusionCompute计算虚拟化

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

云计算FusionCompute计算虚拟化

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

云计算FusionCompute计算虚拟化

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

云计算FusionCompute计算虚拟化

华为虚拟化平台,通过智能复用以上三种技术将内存复用比提升至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(接收发送流量整形)

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 云计算

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

请拨打电话
为您提供支持

400-9955-698