![ce7d6184848b31a98322275c24e9237a.png](https://img-blog.csdnimg.cn/img_convert/ce7d6184848b31a98322275c24e9237a.png)
在云计算中的计算虚拟化主要分为了三个部分:
1:CPU虚拟化
2:内存虚拟化
3:I/O虚拟化
一、CPU虚拟化
CPU虚拟化是指,在固定的CPU硬件基础上(CPU个数、核数、线程数等),通过虚拟化技术将物理CPU虚拟出多个,能被Guest OS识别并能使用的独立VCPU。
虚拟出来的VCPU和真实的CPU无异,假如一个物理CPU可以虚拟出来两个VCPU,那么这两个VCPU可以被分配给两个不同的Guest OS来使用。
VCPU的计算公式是:CPU个数×CPU核数×CPU的线程数
例如:inter E系列处理器 2路×8核×4线程=64个VCPU
物理CPU虚拟化成虚拟的VCPU,本质上就是将物理CPU进行资源池化。并根据不同的需求场景来分配不同的计算资源。常用的分配方式是对CPU做QOS(Quality of Service,服务质量),如下:
CPU的QOS:
1. 上限:分配给VM的VCPU上限。
2. 份额:如果发生了抢占,则根据份额分配资源。
3. 预留:给核心VM预留资源,保证其业务稳定。
例子:某服务器有1个CPU,1核,24个线程(24GHz)分给3台VM。根据VCPU的计算公式得出(CPU个数×核数×线程数),可以虚拟出来24个VCPU,这里的24个VCPU指的是单台VM所能获取最大的VCPU上限。假如3台VM的都是分配8个VCPU,则没有发生CPU资源的抢占,那么每个VM使用的CPU资源都是8GHz(24/3平均分配)。假如资源发生了抢占,VM1—VM3都分配了24个VCPU(可以分配给单台VM所在的物理CPU