物理机器是由CPU、内存和I/O设备等一组资源构成的实体。类似,虚拟机由虚拟CPU,虚拟内存和虚拟I/O设备等组成。
计算虚拟化的应用背景
计算虚拟化是指在硬件层和应用层之间增加虚拟化层,对包括CPU、内存等计算机资源的表示、访问和管理进行简化,并为这些资源提供标准的I/O接口。
- 通过虚拟化技术在一台物理机上虚拟和运行多台虚拟机,从而提升计算机硬件资源的利用率。
随着虚拟化技术的引入,应用层获得了软硬件解耦的好处,同时虚拟化技术也带来了性能的损失。如何保证应用层的高性能,降低虚拟化层对系统性能的影响?
- 例如华为CloudCore解决方案通过资源隔离、NUMA亲和、绑核等计算性能优化关键技术保证业务虚拟机的性能
计算虚拟化的核心技术
计算资源虚拟化可以简单理解为将pCPU(物理CPU)以vCPU(虚拟CPU)的形式分配给虚拟机使用。
- 资源隔离:支持每个刀片服务器上虚拟化层资源隔离,用于限制虚拟化层进程的资源占用,避免虚拟化层进程和业务虚拟机之间抢占资源相互影响。
- vCPU绑核:把某个虚拟机的vCPU与pCPU做一对一绑定并独占pCPU。
NUMA概念
从服务器CPU架构来看,目前的商用服务器大体可以分为三类:
- 多处理器结构 (SMP : Symmetric Multi-Processor)
- 海量并行处理结构 (MPP : Massive Parallel Processing)
- 非一致存储访问结构 (NUMA : Non-Uniform Memory Access):NUMA架构中,CPU可以访问整个系统内存,且访问本地内存的速度将远远高于访问远端内存。
NUMA部署策略:
NUMA亲和性:
- 采用NUMA亲和性创建VM,使得VM的vCPU和内存资源来自于计算节点的同一个NUMA NODE,有效提升VM访问内存的性能,对于内存访问频繁性的应用性能提升更为明显。
IO-NUMA:
- 当使用IO-NUMA时,VM的虚拟网卡也来自于同一NUMA NODE的物理网卡,避免跨NUMA NODE,从而提升VM的网络IO。
*****
好的,本期内容就是这些,如果大家有什么好的想法欢迎在下方评论区回复!
喜欢的朋友可以点击“关注”和“转发”,您的支持对小编非常重要,新朋友可以阅览往期内容,小编会时不时地进行资料福利的分享哦!
我们下期再见!