计算虚拟化技术的介绍
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:非统一的内存访问结构,它即可以使得众多服务器向单一系统那样运转,又能保留小系统便于编程和管理的优点
从服务器CPU架构来看,目前的商用服务器大体可以分为三类:
多处理器结构(SMP:symmetric Multi-processor)、海量并行处理结构(MPP:Massive Parallel Processing)、非一致存储访问结构(NUMA:Non-Uniform Memory Access)
NUMA架构中,CPU可以访问整个系统内存,且访问本地内存的速度将远远高于访问远端内存
NUMA部署策略:
vCPU绑核:把某个虚拟机的vCPU做一对一邦定并独占pCPU,使其与其他虚拟机占用的pCPU没有交集,则该虚拟机也就不会与其他虚拟机竞争pCPU资源,以此达到pCPU隔离,vCPU性能稳定的目的。
NUMA可以很方便的调用内存,那它是怎么调用的呢?
1.内存的访问机制—寻址与页表
(1)物理内存寻址:32位CPU的寻址宽度是0~0xFFFFFFFF
(2)MMU(内存管理单元):利用虚拟地址代替物理地址,即CPU寻址时使用虚拟地址,MMU负责将虚拟地址映射为物理地址
(3)内存分页:它将虚拟地址和物理地址按固定大小分割成页
(4)页表:用于存储虚拟地址和物理地址的映射关系,存放在物理内存上
2.大页内存机制
TLB(translation lookaside buffer),页表寄存器缓冲
用于缓存一部分经常访问的页表内容,存在于寄存器中,性能优于CPU直接查询页表。
大页内存技术增加了单个页的尺寸,降低了页表的记录数量。TLB是有限的。当超出TLB的存储极限时,就会发生TLB miss,OS就会命令CPU去访问内存上的页表
如果频繁的出现TLB miss,程序的性能会下降很快。
大页内存技术增加了单个页的尺寸,降低了页表的记录数量
TLB是有限的,当超出TLB的存储极限时,就会发生TLB miss,OS就会命令CPU去
首先,我们来了解一下存储虚拟化的应用背景;存储虚拟化是指在物理存储系统和服务器之间增加一个虚拟层,可以将不同存储设备进行格式化,屏蔽存储设备的能力、接口协议等差异性,将各种存储资源转化为统一管理的数据存储资源。
1.IPSAN解决方案介绍
使用虚拟化SAN存储时,服务器和物理存储之间采用网格连接。
华为5GC解决方案在存储虚拟化的基础上增加了储存多路径技术保证了链路的负载均衡和后端存储访问路径的高可用。
存储虚拟化可以简单的理解为把物理磁盘虚拟成虚拟磁盘并提供给虚拟机使用、
首先,创建虚拟机时会定义磁盘类型,系统会将磁盘类型映射为某一个后端存储
其次,后端存储对应着一个由硬盘域创建的存储池,系统在储存池上创建一个LUN
最后,当LUN被成功创建后,将该LUN挂载到该虚拟机,成为虚拟机的虚拟磁盘。
存储虚拟化的技术方案
存储多路径技术通过安装在与存储对接的应用服务器中的软件,实现路径冗余。虚拟机使用虚拟磁盘资源,虚拟磁盘由多条路径到达实际的物理磁盘,当某条路径故障后,或不能满足规定的性能要求,多路径软件会自动而透明地将I/O流有效、可靠地继续传输。增加磁盘访问路径的可靠性。另外也可以把多条路径合并成一条路径,增加存储访问路径的带宽。
2.分布式存储解决方案
分布式存储就是将一组服务器上的本地存储通过存储软件集中管理起来形成一个大的存储资源池,对系统应用提供存储服务。
分布式存储最大的特点就是软件定义存储。
分布式存储有块储存、对象存储、文件存储,有不同的开源项目如:Ceph、GlusterFS、Sheepdog、Swift,还有不同的商业实现如Google、AWS、微软、金山、七牛、又拍、阿里云还有Qingcloud等,华为采用FusionStorage实现分布式块存储。
什么是FusionStorage?
FusionStorage Block是为了满足云计算数据中心存储基础设施需求而设计的一种分布式块存储软件,可以将通用X86服务器的本地HDD、SSD等介质通过分布式技术组成一个大规模存储资源池,对上层的应用和虚机提供工业标准的SCSI和iSCSI接口,类似一个虚拟的分布式SAN存储。
FusionStorage Block的主要应用场景分为两大类:
一类是在大规模云计算数据中心中,将通用X86存储服务器池化,建立大规模块存储资源池,提供标准的块存储数据访问接口。支持各种虚拟化Hypervisor平台和各种业务应用;可以和各种云平台集成,如华为FusionSphere、VMware、开源OpenStack等,按需分配存储资源。
另一类是在企业关键IT基础设施中,通过Infiniband进行服务器互联及SSD做Cache或主存等关键技术,将存储系统的性能和可靠性得到极大的提高。又保留了分布式存储的高拓展性基因,从而支持企业关键数据库、关键ERP/CRM等应用的使用,解决这些关键应用的大数据量需求。
FusionStorage Block的软件架构
分为五大组件:
网络虚拟化主要为虚拟机提供L2网络的互联功能
问:电信业务要求高性能和低时延,传统的ATCA平台有专门的硬件保障高速的网络转发能力。那么虚拟化后如何在通用的硬件上构筑高性能和低时延的转发能力?
答:采用OVS、硬直通、SR-IOV、EVS这些网络虚拟化的关键技术。
1.网络虚拟化的方案
OVS:是一种开源的虚拟交换方案,一般在KVM中都集成了OVS。
硬直通:可以将物理主机映射给虚拟机访问的虚拟化介绍
SR-IOV:实际上是硬直通的一种,可以使一个PCIE适配器(网卡)通过一个共享的PCIE接口同时起到多个独立器件的作用
EVS:弹性虚拟交换机,是华为借助DPDK开发套件基于OVS上开发的方案,这种方案的效率高于OVS
OVS虚拟交换(Open vSwitch):是一款基于软件实现的开源虚拟以太网交换机,它遵循Apache2.0许可证,主要有两个作用,传递虚拟机VM之间的流量,以及实现VM和外界网络的通信
EVS虚拟交换机:基于DPDK套件对OVS优化开发的交换方案,运行在用户态(OVS运行在内核态),EVS会在用户态启动线程绕过内核态并接管内核态的收发包功能,从而提升性能,而OVS没有专门线程。
OVS与EVS的差异主要体现在:OVS的兼容性大于EVS但数据转发的性能低于EVS
SR-IOV高速转发技术:为了实现多个虚拟机共享一个物理设备,并且达到直接分配的目的,PCI-SIG组织发布了SR-IOV规范,它定义了一个标准化的机制用以原生地支持实现多个客户机共享一个设备。
在虚机的操作系统开了,一个虚拟网卡看起来和一个普通网卡没有区别,SR-IOV驱动是在内核中实现的。
SR-IOV的优势与不足之处如下图所示:
SR-IOV的性能是最高的,但是对设备有依赖,不能直接迁移。
2.网络虚拟化在电信云的应用
OVS及EVS在5GC的应用实例
如图所示:
在E9000服务器上,一块刀片板上有两个MEZZ卡,这两个卡均存有物理网课,其中MEZZ 1连接到第二和第三卡槽位上,MEZZ 2连接到第一和第四卡槽位上。
在虚拟机之间虚拟网络的业务流通如图所示
存在以下几种情况:
虚拟机之间的通信存在5中应用场景:
3.SDN与VxLAN的介绍
SDN网络架构的演进
SDN:软件定义网络,特征是集中控制、开发接口、网络抽象
优势:优化全局效率、加快业务上线、屏蔽底层差异
SDN与NFV之间的关系
NFV通过网络功能虚拟化和底层业务标准化达到业务上线的目的,SDN可以支撑NFV的实现,SDN的优势也可以在NFV中体现出来
VxLAN技术介绍
VXLAN的特点: