计算虚拟化技术的介绍
- 计算虚拟化的介绍
1.Hypervisor的定义
Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件。
它可以协调访问服务器上所有的物理设备和虚拟机,也叫虚拟及监视器
Hypervisor的基本功能:非中断地支持多工作负载迁移的能力
当服务器启动并执行hypervisor时,它会给每一个虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
虚机如何通过VMM实现Guest CPU(来宾CPU)对硬件的访问,根据其原理不同,Hypervisor有两种实现技术
- 全虚拟化
优点:Guest OS无需修改,速度和功能都非常不错,更重要的是使用非常简单,不论是VMware的产品,还是Oracle的VirtualBOX
缺点:基于Hosted模式的全虚拟产品性能方面不是特别优异,特别是I/O方面
未来:因为这种使用模式,不仅Guest OS可以免于修改,还将通过引入硬件辅助虚拟化技术来提高其性能,在未来全虚拟化还是主流
- 半虚拟化
优点:这种模式和全虚拟化相比架构更加精简,而且在整体速度上有一定的优势
缺点:需要对Guest OS进行修改,所有在用户体验方面比较麻烦
未来:情况比较类似,在公有云平台上应该继续占用一席之地,但是很难在其他方面和类似VMware vSphere这样的全虚拟化产品竞争,同时它也将会利用其他技术来提高速度,并简化架构。
- 计算虚拟化的应用背景
计算虚拟化是指在硬件层和应用层之间增加虚拟化层,对包括CPU、内存等计算机资源的表示、访问和管理进行简化,并为这些资源提供标准的I/O接口。
通过虚拟化技术在一台物理机上运行多台虚拟机,从而提升计算机硬件资源的利用率。
随着虚拟化技术的引入,应用层获得了软硬件解耦的好处,同时虚拟化技术也带来了性能的损失
如何保证应用层的高性能,降低虚拟化层对系统性能的影响/
华为5GCore解决方案通过资源隔离、NUMA亲和、绑核等计算性能优化关键技术保证业务虚拟机的性能。
计算资源的虚拟化的过程简单的理解就是将物理的CPU以虚拟CPU的形式分配给虚拟机使用,物理CPU如何分配和占用决定了虚拟机对技术资源的利用效率以及虚拟机的计算性能。CPU分配过程中使用到的主要技术如下:
资源隔离:支持每个刀片服务器上虚拟化层资源隔离,用于限制虚拟化层进程的资源占用,避免虚拟化层进程的占用影响到业务虚拟机,另一方面也防止业务影响到虚拟化层服务。比如每个刀片隔离4G物理core用于虚拟化层服务,专核专用。
NUMA亲和:如果虚拟机跨NUMA节点部署,会导致较多性能损耗,为此华为公司可支持自动对虚拟机进行NUMA初始放置及负载均衡,将虚拟机的虚拟CPU与内存分布在一个NUMA节点内,以降低内存访问时延,提升性能。
问:什么是NUMA?NUMA的概念是什么?
NUMA:非统一的内存访问结构,它即可以使得众多服务器向单一系统那样运转,又能保留小系统便于编程和管理的优点