虚拟化概念详解

这篇具有很好参考价值的文章主要介绍了虚拟化概念详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

虚拟化的定义

虚拟化技术可以认为是一种对物理资源抽象化,进而形成虚拟化的版本的技术
虚拟化,杂项,云计算,docker,运维

虚拟化的目的

物理资源组成庞大的资源池,然后可以按需分配,随意切割物理资源
虚拟化,杂项,云计算,docker,运维

虚拟化资源分类

  • 服务器虚拟化
    服务器虚拟化就是将虚拟化技术应用于服务器,将一台服务器虚拟成若干虚拟服务器,在该服务器上可以支持多个操作系统同时运行
  • 网络虚拟化
    将一个物理网络逻辑拆分为多个逻辑网络的方法(VLAN)
  • 存储虚拟化
    存储设备的能力、接口协议等差异性很大,存储虚拟化技术可以将不同存储设备进行格式化,将各种存储资源转化为统一管理的数据存储资源,可以用来存储虚拟机磁盘、虚拟机配置信息、快照等信息
  • 桌面虚拟化
    桌面虚拟化(Desktop Virtualization)是指将计算机的终端系统(也称作桌面)进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过任何设备,在任何地点,任何时间通过网络访问属于我们个人的桌面系统。

特权级别

大部分的现代计算机体系结构都有两个或两个以上的特权级别,用来分隔内核和应用软件。以x86为例,为了得到更高的保护控制,在x86的保护模式下定义了当前特权级别(Current Previleged Level,简称CPL),一共有四个特级层次(0 to 3)被定义,我们一般称之为Ring。Ring后面的数字越大特权越小,我们的操作系统一般都运行在Ring0上,而Ring1和2一般用来支持设备驱动,Ring3上面跑的就是应用软件了。而在现在的x86处理器中,64位架构已经非常普遍,64位CPU因为必须支持页表模式,所以只有两个特权级别,我们可以简单理解为Ring0和Ring3(实际上另有明确定义),这种模型我们常称为0/3模型。

系统中有一些关键操作指令只能在最高特权级别上执行,它们一般被称为特权指令,特权指令仅仅在当前的特权级别为零时(CPL=0)才会执行。如果在非特权级别上试图执行特权指令,将生成一个一般保护异常(这通常会生成一个应用程序错误),而非特权指令则可以在任何一个权限级别执行。

敏感指令:在虚拟化世界的VMM模型中,我们可以看到所有的客户机操作系统都运行在非特权模式下,即非Ring0级。因为Guest OS已经不处在特权级别,所以存在一部分原本应该在特权级别执行但现在因为层级权限不够必须转交VMM进行处理的指令,这部分指令就叫敏感指令。
虚拟化,杂项,云计算,docker,运维

虚拟化技术分类

VMM(virtual machine monitor,虚拟机管理层),统一管理虚拟机,对虚拟机的请求进行集中调度,虚拟操作系统与硬件通信必须经过VMM层

全虚拟化

优点:不需要修改虚拟机OS

VMM(虚拟化层)用来统一管理上层虚拟机,工作在Ring 0级别,对虚拟机的请求进行集中调度

全虚拟化中客户操作系统没有做任何修改,虚拟机中的CPU指令集与工作在物理机上的CPU指令集一致

客户操作系统工作在Ring 1级别,那么如果客户操作系统发出Ring 0级别的指令就会导致异常(权限不够),这里的这个异常会被VMM层捕获。VMM层将捕获的异常进行翻译找出客户操作系统发出的什么样的高权限指令,然后模拟这个指令并将结果反馈给客户操作系统。
全虚拟化中每个请求都要经过异常捕获、翻译、模拟、反馈四个步骤,所以其性能比较低

虚拟化,杂项,云计算,docker,运维
典型产品:VMware Workstation、Virtual PC、QEMU

半虚拟化(操作系统辅助虚拟化)

需要对客户操作系统的内核做修改

对操作系统的内核进行修改,使客户机工作在Ring 0级别,此时VMM不需要监控异常,只需要在客户操作系统发出Ring 0级别的指令时,在VMM层提供超级调用接口,将指令转发到计算机系统硬件即可。

半虚拟化需要对内核进行修改,但是windows的内核是不开源的,不能进行修改,所以windows不能使用半虚拟化技术,linux内核是开源的,可以使用半虚拟化技术
不能跨平台,操作系统发出的指令相当于通过超级调用转发到硬件,那么OS发出的指令必须与硬件匹配

虚拟化,杂项,云计算,docker,运维

硬件辅助全虚拟化

硬件本身支持虚拟化技术,引入了Root模式和非Root模式

客户操作系统直接工作在Ring 0,此时不需要对OS做任何修改,发出的CPU指令不会出现异常

VMM工作在Ring 0层以下,通过超级调用转发客户操作系统的指令
虚拟化,杂项,云计算,docker,运维
典型产品:VMware EXSI、Xen3.0及以后的产品、MicroSoft Hyper-V、KVM

虚拟化体系架构

宿主模型(OS-Hosted VMM)

物理服务器上需要安装如Windows、Linux等操作系统,这些传统操作系统并不是为虚拟化而设计的,因此本身并不具备虚拟化功能,所有的虚拟化功能都由VMM来提供
VMM通常是宿主机操作系统独立的内核模块(工作在Ring 0层),有些实现中还包括用户态进程,如负责I/O虚拟化的用户态设备模型。VMM通过调用宿主机操作系统的服务来获得资源,实现处理器、内存和I/O设备的虚拟化
VMM层依托于宿主机

原生架构模型(Hypervisor VMM)

只需要Hypervisor VMM层,底层不需要原始的操作系统,但要调动硬件需要各种接口以及各种硬件的驱动。
在原生架构模型(Hypervisor VMM)中,VMM首先可以被看作是一个完备的操作系统,与传统操作系统不同的是,VMM是为虚拟化而设计的,因此其本身就具备虚拟化功能。
从架构上看,首先所有的物理资源如处理器、内存和I/O设备等都归于VMM所有,因此,VMM承担着管理物理资源的责任;其次,VMM需要向上提供虚拟机用于运行客户机操作系统,因此,VMM还负责虚拟环境的创建和管理。

混合模型(Hybrid VMM)

混合模型(Hybrid VMM)是上述两种模式的混合体。VMM依然位于最底层,拥有所有的物理资源,包括处理器、内存和I/O设备等。与Hypervisor模型不同的是,VMM会腾让出大部分I/O设备的控制权,将他们交由一个运行在特权虚拟机中的特权操作系统来控制,相应的,VMM虚拟化的职责也会被分担。处理器、内存虚拟化依然由VMM来完成,I/O设备虚拟化则由VMM和特权操作系统共同来完成文章来源地址https://www.toymoban.com/news/detail-812435.html

到了这里,关于虚拟化概念详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云计算学习教程】云计算虚拟化技术和容器技术详解_云计算虚拟化技术与容器技术

    这跟交通网络很相似,连接两个城市的交通网络具备的第一个功能就是汽车从一个城市到达另一个城市;第二个功能是控制到底走哪条线路最好。前者就是由公路组成的交通网络,后者就是交通控制系统。 下面我们再来看看传统的网络设备(比如一台路由器)的逻辑分层结构

    2024年04月22日
    浏览(57)
  • 云计算与虚拟化技术详解

    1、云计算资源类型 下图所示为计算机科学的虚拟化层次: 节点和网络物理硬件通过多层虚拟化的逻辑简化过程形成弹性化的计算、存储和网络带宽三者整合的虚拟资源池,也就是所讲的云计算模式。 可见云计算的概念是对最底层的物理硬件经过多次虚拟化抽象而形成的,这

    2024年01月17日
    浏览(43)
  • Docker从认识到实践再到底层原理(二-1)|容器技术发展史+虚拟化容器概念和简介

    那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏《Docker从认识到实践再到底层原理》希望大家多多关

    2024年02月09日
    浏览(39)
  • 运维操作---虚拟化

    1. 虚拟化概述 (1). 引入   美国环境保护署(EPA)报告的一组有趣的统计数据就证明了其好处。EPA研究服务器和数据中心的能源效率的时候发现,实际上的服务器只有5%d的时间是在工作的。其他的时间,服务器都在处于”休眠”的状态。    --讲解的时候 联系现实生活中的案例

    2024年02月11日
    浏览(38)
  • 云计算是指利用互联网所提供的基础设施、网络服务和平台,实现数据中心的虚拟化、动态管理、自动化运维功能

    作者:禅与计算机程序设计艺术 云计算是指利用互联网所提供的基础设施、网络服务和平台,实现数据中心的虚拟化、动态管理、自动化运维功能。传统的数据中心的资源由专业IT人员手动管理,而云计算则让硬件资源可按需弹性扩展、弹性迁移、自动化伸缩、降低成本。

    2024年02月08日
    浏览(50)
  • 虚拟化内核概念

    虚拟化与云计算 2022年9月13日 13:51 VMM X86系统是完全运行在裸机上的。X86提供四个特权等级,分别是ring 0-1,ring 0 的级别是最高的。 在Linux+X86中,操作系统需要直接访问内存和硬件所以需要运行在ring0上,而应用程序需要运行在ring3上,如果需要进行访问磁盘、读写文件的操作

    2024年02月04日
    浏览(39)
  • 云计算基础-计算虚拟化-内存虚拟化

    内存在物理上是由内存卡提供的,也就是我们俗称的内存条,内存条提供了物理内存。 在物理内存之上还有虚拟内存,虚拟内存操作系统给程序分配的一段连续的内存,属于逻辑上的概念。 虚拟内存和物理内存之间会有一个映射关系,这个映射关系我们称之为页表,通过页

    2024年02月20日
    浏览(55)
  • 开源免费虚拟化KVM的部署及其虚拟机资源变更、快照、克隆等常见运维操作

    实践说明:基于RHEL9(AlmaLinux9.1)部署,同类系统(CentOS9,RockyLinux9等)适用,但适用场景是不限于此的。 文档说明:本文档旨在帮助快速应用KVM虚拟化技术,重在实践操作,提供了简要参考。 文档形成时期:2021-2023年 因系统或软件版本不同,构建部署可能略有差异,但本文未做细

    2024年02月02日
    浏览(53)
  • 云计算基础-计算虚拟化-CPU虚拟化

    在CPU的工作原理中,CPU有不同的指令集,如下图,CPU有4各指令集:Ring0-3,指令集是在服务器上运行的所有命令,最终都会在CPU上执行,但是CPU并不是说所有的命令都是一视同仁的,它会把命令分为不同的指令集 Ring0指令集称之为内核态指令集,改啊指令集里面啊运行的主要

    2024年02月20日
    浏览(42)
  • 虚拟化,容器化,云原生,大数据概念

    虚拟化,是指通过虚拟化技术将 一台计算机虚拟为多台逻辑计算机 。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在 相互独立的空间内运行而互不影响 ,从而显著 提高计算机的工作效率 。 虚拟化使用软件的方法重

    2024年01月23日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包