基础知识:虚拟机的构成和CPU虚拟化

基础知识:虚拟机的构成和CPU虚拟化

作者:顾炯 2018-03-13 15:08:19

云计算

虚拟化 模拟执行的方法有很多种,典型的有解释执行和二进制执行。软件模拟的方法效率相对硬件支持要低,所以在采购资源池的X86服务器都要求采购带有Intel VT-x和AMD SVM标志的64位服务器,因为现在CPU硬件就可以解决这个问题。

 回忆一下主要内容:

1、 计算虚拟化包括了“一虚多”和“多虚一”;现在阶段硬件能力过盛,一虚多”成为主流。

2、 裸金属架构更适合部署在资源池内如VMWARE、CitrixXenServerv、RHEV,适合企业使用,寄居架构适合单机,适合个人折腾。

3、 全虚拟化和半虚拟化各有优缺点。KVM发展迅猛,XEN开始走入暮年。

其实,对于应用来看,虚拟机就是一台X86服务器。所以能运行在X86服务器上的应用,也能运行在虚拟机上。虚拟机的构成和物理机也完全一致,主要是CPU、内存、硬盘,输入、输出设备。但是虚拟机的这些“构件”都是虚拟或共享的,都可以由所在的物理机提供出来的,但是为了实现虚拟机的迁移功能,虚拟机的硬盘***由和这台物理服务器相连的共享存储提供。

[[222329]]

CPU虚拟化技术主要分为两大部分。一是将CPU核运行时间进行切片,通过VMM(虚拟化层管理)调度,将CPU运行时间片分配、调度到不同的虚拟机上,当虚拟机运行完成或超时,将这个时间片控制权交回VMM,再进行下一次的调度。分配给应用的vCPU不是固定在某个CPU上,它只是可以执行命令的一个或几个时间片,这一次分配在这些物理核上,下一次分配在另外一些核上。通过时间片,可以提高物理CPU的利用率。原来物理机的CPU好比是私家车,上下班的时候在路上跑,平时都停在路边;CPU被时间切片被调度后就像加入“优步”的私家车,一直在路上跑,有需求就搭客运营,提高了利用率。

二是CPU需要“欺骗”虚拟机上的操作系统(guest OS)执行敏感指令。CPU是通过Ring级别来进行访问控制的,级别共分4层,RING0,RING1,RING2,RING3。RING0层拥有***的权限,是个操作系统使用的,可以访问所有层的数据,而其他驱动程序位于RING1、RING2层,RING3可以运行应用。每一层只能访问本层以及权限更低层的数据。如果普通应用程序企图执行RING0指令,则会认为“非法指令”错误信息。但是在虚拟机内,RING0被比guest OS更“低级”的VMM所霸占,只能运行在RONG1。而操作系统的有些指令一定要在RING0执行的,这些指令叫做敏感指令。RING0已经被“控制者”霸占,在执行浙西敏感指令时候就会出现异常而“陷入”,执行一定会出现异常。如何处理“陷入”的敏感指令就是CPU虚拟化需要干的事情。

解决这个冲突,有2种方法:软件模拟和硬件支持(Intel VT-x和AMD SVM)。

软件模拟的方式就是当这些“陷入”的指令被送到VMM层进行模拟并执行,并将执行的结果返回到虚拟机的guest OS。模拟执行的方法有很多种,典型的有解释执行和二进制执行。软件模拟的方法效率相对硬件支持要低,所以在采购资源池的X86服务器都要求采购带有Intel VT-x和AMD SVM标志的64位服务器,因为现在CPU硬件就可以解决这个问题。

以Intel VT-x为例,VT-x提供了一套称作VMX的新的工作模式,工作在该模式下的处理器又具有两类操作模式:VMX root operation和VMX non-root operation。VMM占据VMX root operation,而guest OS使用VMX non-root operation。对操作系统来说,VMX non-root operation模式与传统的x86处理器兼容,***的差别在于当虚拟机执行一些访问全局资源的指令时将导致虚拟机退出操作(VM-Exit),从而使VMM获得控制权,以便对访问全局资源的指令进行模拟。然后,VMM可以通过虚拟机进入操作(VM-Entry)使虚拟机重新获得控制权。

虚拟化的CPU和物理机的CPU还是有一定的差别。就像上面的例子,物理机的CPU是固定被操作系统占用的,用和不用,都是被一个操作系统控制的,所有CPU配置越大,不会影响应用的执行,只是CPU的利用率越来越低。但是虚拟CPU就不一样了,当你配置的CPU的核数越多,本质上是等待相应核数的时间片,而且VMM的调度程序一定要等到配置的vCPU的核数全部到位后,才能执行,所以在超配的情况下,核数越多,等待的时间越长。在虚拟CPU下,配置的原则是在满足需求的情况下CPU数量越少越好。也可以再看一下我以前写的文章《基础知识——CPU的分配原则》。

还有一个需要注意的,虚拟机的时钟会比实际的慢。因为计算机的时间是通过CPU的主频计算出来的,虚拟机的时间也是靠vCPU计算出来的,而vCPU经常被调度到其他虚拟机上,“时间被偷走了”,虚拟机上的时间走的慢。所以虚拟机***连接时间同步服务器。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/230715.html<

(0)
运维的头像运维
上一篇2025-04-19 08:54
下一篇 2025-04-19 08:56

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注