使用虚拟化的目的是共享硬件资源(如内存、CPU、接口和磁盘空间),使其发挥最大效能。Hypervisor则可以将共享这些资源所造成的影响降至最低。
最近几年,共享机制取得了突破性进展。
1、CPU和内存分配
创建虚拟机时,Hypervisor会将预定义的内存和CPU分配给虚拟机,分配给虚拟机的CPU资源会被客户操作系统视为专用物理CPU。由于有些客户操作系统对于支持的CPU套接字有限制,因此较新版本的Hypervisor会根据CPU套接字的颗粒度及内核数量来提供CPU资源。
可分配的CPU性能基于宿主操作系统级别的可用CPU资源,例如,如果宿主服务器使用的是Intel Xeon E5-2680v2 CPU,该CPU具有10个内核/槽,并且是双线程,那么Hypervisor最多可以将20个虚拟CPU提供给虚拟机。这样的分配不会将任何CPU(或CPU内核)与虚拟机相绑定,与此相反,Hypervisor允许将一定比例的CPU循环分配给虚拟机。
虚拟机的CPU请求被Hypervisor截获后,就在可用CPU内核上调度该请求,并将响应传递给客户操作系统。硬件辅助虚拟化技术对于在虚拟机上共享CPU资源来说起到关键性的作用。
为虚拟机分配内存也要使用共享技术。通过共享技术将内存分配给Hypervisor时,同样会让客户操作系统认为是在使用物理内存资源。类似内存页和磁盘交换空间等技术会被用于