0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算虚拟化基础介绍

架构师技术联盟 来源:架构师技术联盟 2023-10-17 17:15 次阅读

虚拟化对未被充分利用的服务器进行整合,不再为新项目另外购置硬件,从而降低资本成本,同时,精简 数据中心服务器的数量,又可以成比例地减少供电、制冷和场地方面的运营成本。

利用先进的虚拟化管理和云运营管理软件,建立安全的、可审核的数据中心环境,为业务部门提供 成本更低、服务水平更高的基础架构,从而能够针对业务部门的需求做出快速的响应。

通过虚拟化管理和云运营管理软件,完全实现数据中心 IT 基础设施的集中化管理,这样不仅可以精简IT操作,提高管理效率,而且还可以简化监控、管理、报告和远程访问等操作。

最初的x86架构不适合于虚拟化

X86架构存在17条敏感的非特权指令,运行时不会产生异常,这些指令在客户操作系统上的执行会破坏整个系统。

152c7d08-6cc3-11ee-939d-92fbcf53809c.png

解决方法1:半虚拟化(Para-Virtualization)

Xen 半虚拟化(Para-Virtualization)架构

154556ca-6cc3-11ee-939d-92fbcf53809c.png

在Hypervisor上运行的Guest OS已经集成了与半虚拟化有关的代码,使得Guest OS能够非常好地配合Hypervisor来实现虚拟化。

15493236-6cc3-11ee-939d-92fbcf53809c.png

Hypervisor提供Hypercall接口来满足Guest OS的关键内核操作,如内存管理、中断和时间同步等。

解决方法2:BT(Binary Translation,二进制翻译)

全虚拟化

VMware ESX 的软件系统架构

1550f67e-6cc3-11ee-939d-92fbcf53809c.png

Guest OS指令段在执行前进行整段翻译,将其中的敏感非特权指令替换为Ring0中执行对应特权指令。

1555175e-6cc3-11ee-939d-92fbcf53809c.png

非特权指令直接执行。

特权指令首先被陷入到VMM,并VMM通过一系列的模拟操作来实现此特权指令,然后返回给Guest OS,Guest OS从上次被中断的地方继续执行。

硬件辅助虚拟化

15595896-6cc3-11ee-939d-92fbcf53809c.png

硬件辅助虚拟化-CPU

155edef6-6cc3-11ee-939d-92fbcf53809c.png

CPU硬件虚拟化—Intel VT-i

150dc732-6cc3-11ee-939d-92fbcf53809c.png

硬件辅助虚拟化—内存

15702fb2-6cc3-11ee-939d-92fbcf53809c.png

1588fa7e-6cc3-11ee-939d-92fbcf53809c.png

IO虚拟化

客户机的设备驱动程序发起 I/O 请求操作请求,KVM 模块中的 I/O 操作捕获代码拦截这次 I/O 请求

159211fe-6cc3-11ee-939d-92fbcf53809c.png

经过处理后将本次 I/O 请求的信息放到 I/O 共享页 (sharing page),并通知用户空间的 QEMU 程序。

QEMU 程序获得 I/O 操作的具体信息之后,交由硬件模拟代码来模拟出本次I/O 操作。

完成之后,QEMU 将结果放回 I/O 共享页,并通知 KMV 模块中的 I/O 操作捕获代码。

KVM 模块的捕获代码读取 I/O 共享页中的操作结果,并把结果放回客户机。

主流的Hypervisor产品

159f4d56-6cc3-11ee-939d-92fbcf53809c.png

ARM处理器模式—虚拟化模式

在 x86 架构中,与根模式相对应的是非根模式(non-root mode),非根模式即传统的 CPU 模 式,包括Ring 0~Ring 3 的权限级;而在根模式中,也有对应的 Ring 0~Ring 3 的权限级。也就是说,根模式和非根模式是平行的;

而在 ARM 中,虚拟化模式和原有的几种模式是并列的,只是虚拟化模式拥有比管理模式更高 的权限等级。

KVM/ARM 虚拟化技术原理

15b1698c-6cc3-11ee-939d-92fbcf53809c.png

本文来自“计算虚拟化基础介绍”,主要介绍虚拟化的产生与发展,KVM的CPU、内存和IO虚拟化,ARM和X86的比较。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2695

    浏览量

    47431
  • 服务器
    +关注

    关注

    12

    文章

    9123

    浏览量

    85324
  • 操作系统
    +关注

    关注

    37

    文章

    6801

    浏览量

    123283
  • 虚拟化
    +关注

    关注

    1

    文章

    371

    浏览量

    29790

原文标题:计算虚拟化基础介绍

文章出处:【微信号:架构师技术联盟,微信公众号:架构师技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    计算虚拟的差异理解

    虚拟和私有云这两个概念让很多IT专业人士常常感到一头雾水。两者一样吗?还是有差别?到底差在哪里?我们已经对大多数的计算资源进行了虚拟,那
    发表于 03-06 10:59 1527次阅读
    云<b class='flag-5'>计算</b>和<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>的差异理解

    #硬声创作季 云计算原理与实践:17-虚拟实现介绍

    计算虚拟
    Mr_haohao
    发布于 :2022年10月15日 16:21:02

    什么是计算虚拟

    计算虚拟是一种型的计算模式, 能够动态组织多种计算资源, 隔离硬件体系结构和软件系统之间的依赖关系, 实现透明
    发表于 12-21 06:42

    虚拟仪器中的科学计算可视系统

    虚拟仪器中的科学计算可视系统:介绍虚拟仪器中科学计算可视
    发表于 06-22 14:15 25次下载

    虚拟仪器中的科学计算可视系统

    虚拟仪器中的科学计算可视系统:介绍虚拟仪器中科学计算可视
    发表于 10-28 16:59 25次下载

    虚拟技术在云计算中的发展

    虚拟技术 是云计算实现的关键技术,通过虚拟可以为应用提供灵活可变、可扩展的服务。云计算的发展
    发表于 06-10 16:54 33次下载
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>技术在云<b class='flag-5'>计算</b>中的发展

    计算虚拟技术应用

    虚拟(Virtualization)技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。虚拟
    发表于 10-11 15:43 15次下载
    云<b class='flag-5'>计算</b>的<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>技术应用

    浅谈云计算虚拟的关系及虚拟的类型

    说到虚拟,一般是指将物理的实体,通过软件模式,形成若干虚拟存在的系统,其实真是运作还是在实体上,只是划分了若干区域或者时域划分。而云计算的基础是
    发表于 11-09 16:18 1768次阅读

    虚拟机内存及云计算虚拟技术的研究

    虚拟是云计算的本质核心问题,由于所涉及的技术问题宽泛,从纵向及横向综合进行分析。结合云桌面应用系统实例、网络中间层驱动开发实例、Windows 操作系统驱动例子程序 FileDisk.c
    发表于 11-14 17:17 12次下载
    <b class='flag-5'>虚拟</b>机内存及云<b class='flag-5'>计算</b><b class='flag-5'>虚拟</b><b class='flag-5'>化</b>技术的研究

    虚拟和云计算之间的关系

    计算计算当做是公共资源,虚拟是云计算的重要支撑技术,虚拟
    发表于 02-26 16:33 5181次阅读

    一文解析云计算、SDN、虚拟三者关系

    本文主要介绍的是云计算、SDN、虚拟三者关系,首先介绍了云计算的优势及服务模式,其次
    的头像 发表于 04-20 17:46 1.5w次阅读

    虚拟角度下的云计算架构

    从云计算提出以来虚拟技术就被提到了很高的地位,虚拟技术被称为云计算的核心技术,但广义的来讲
    发表于 07-02 10:52 933次阅读

    I/O虚拟及Virtio接口介绍

    I/O虚拟计算虚拟最复杂的部分,因为涉及到CPU、操作系统、Hypervisor以及I/O设备的相互配合。I/O
    的头像 发表于 10-26 17:21 4203次阅读

    虚拟技术是什么 虚拟技术介绍

      虚拟(Virtualization)是一个广义的术语,简单来说,是指计算机相关模块在虚拟的基础上而不是真实的独立的物理硬件基础上运行,这种把有限的固定的资源根据不同需求进行重新规
    发表于 07-19 11:26 1次下载

    计算中的虚拟技术应用

    计算中的虚拟技术是一种将计算机物理实体(如服务器、存储设备、网络设备)通过软件技术划分为多个虚拟实体的技术,每个
    的头像 发表于 10-24 09:22 603次阅读