什么是KVM虚拟化

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

什么是虚拟化

维基百科关于虚拟化的定义是:“In computing,virtualization refers to the act of creating a virtual(rather than actual)version of something,including virtual computer hardware platforms,storage devices,and computer network resources。”(在计算机领域,虚拟化指 创建某事物的虚拟(而非实际)版本,包括虚拟的计算机硬件平台、存储设备,以及计算 机网络资源)可见,虚拟化是一种资源管理技术,它将计算机的各种实体资源(CPU、内 存、存储、网络等)予以抽象和转化出来,并提供分割、重新组合,以达到最大化利用物 理资源的目的。

 

如图所示的Virtual Machine Monitor(VMM,虚拟机监控器,也称为Hypervisor) 层,就是为了达到虚拟化而引入的一个软件层。它向下掌控实际的物理资源(相当于原本的操作系统);向上呈现给虚拟机N份逻辑的资源。为了做到这一点,就需要将虚拟机对物理资源的访问“偷梁换柱”——截取并重定向,让虚拟机误以为自己是在独享物理资源。虚拟机监控器运行的实际物理环境,称为宿主机;其上虚拟出来的逻辑主机,称为客户机。

软件虚拟化技术

软件虚拟化,顾名思义,就是通过软件模拟来实现VMM层,通过纯软件的环境来模 拟执行客户机里的指令。 最纯粹的软件虚拟化实现当属QEMU。

硬件虚拟化技术

硬件虚拟化技术就是指计算机硬件本身提供能力让客户机指令独立执行,而不需要 (严格来说是不完全需要)VMM截获重定向。

以x86架构为例,它提供一个略微受限制的硬件运行环境供客户机运行,在绝大多数情况下,客户机在此受限环境中运行与原生系统在非虚拟化环境 中运行没有什么两样,不需要像软件虚拟化那样每条指令都先翻译再执行,而VMM运行 在root mode,拥有完整的硬件访问控制权限。仅仅在少数必要的时候,某些客户机指令 的运行才需要被VMM截获并做相应处理,之后客户机返回并继续在non-root mode中运 行。可以想见,硬件虚拟化技术的性能接近于原生系统,并且,极大地简化了VMM的 软件设计架构。

Intel从2005年就开始在其x86 CPU中加入硬件虚拟化的支持——Intel Virtualization Technology,简称Intel VT。到目前为止,在所有的Intel CPU中,都可以看到Intel VT的身 影。并且,每一代新的CPU中,都会有新的关于硬件虚拟化支持、改进的feature加入。也 因如此,Intel x86平台是对虚拟化支持最为成熟的平台

############################################################################### 最理想的虚拟化的两个目标如下:

1)客户机完全不知道自己运行在虚拟化环境中,还以为自己运行在原生环境里。

2)完全不需要VMM介入客户机的运行过程。 纯软件的虚拟化可以做到第一个目标,但性能不是很好,而且软件设计的复杂度大大 增加。

半虚拟化

让客户机意识到自己是运行在虚拟化环境里,并做相应 修改以配合VMM,这就是半虚拟化(Para-Virtualization)。

一方面,可以提升性能和简 化VMM软件复杂度;另一方面,也不需要太依赖硬件虚拟化的支持,从而使得其软件设 计(至少是VMM这一侧)可以跨平台且是优雅的。“本质上,准虚拟化弱化了对虚拟机特 殊指令的被动截获要求,将其转化成客户机操作系统的主动通知。但是,准虚拟化需要修 改客户机操作系统的源代码来实现主动通知。”典型的半虚拟化技术就是virtio,使用virtio 需要在宿主机/VMM和客户机里都相应地装上驱动。

全虚拟化

与半虚拟化相反的,全虚拟化(Full Virtualization)坚持第一个理想化目标:客户机 的操作系统完全不需要改动。敏感指令在操作系统和硬件之间被VMM捕捉处理,客户操 作系统无须修改,所有软件都能在虚拟机中运行。因此,全虚拟化需要模拟出完整的、和 物理平台一模一样的平台给客户机,这在达到了第一个目标的同时也增加了虚拟化层 (VMM)的复杂度。

性能上,2005年硬件虚拟化兴起之前,软件实现的全虚拟化完败于VMM和客户机操 作系统协同运作的半虚拟化,这种情况一直延续到2006年。之后以Intel VT-x、VT-d为 代表的硬件虚拟化技术的兴起,让由硬件虚拟化辅助的全虚拟化全面超过了半虚拟化。但 是,以virtio为代表的半虚拟化技术也一直在演进发展,性能上只是略逊于全虚拟化,加 之其较少的平台依赖性,依然受到广泛的欢迎。

Type1和Type2虚拟化

从软件框架的角度上,根据虚拟化层是直接位于硬件之上还是在一个宿主操作系统之 上,将虚拟化划分为Typel和Type2<文章来源地址https://www.toymoban.com/news/detail-401801.html

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

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

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

相关文章

  • kvm网络虚拟化介绍

    在QEMU中,主要给出了客户机提供了4种不同的网络配置方案: 1、基于网桥(Bridge)的虚拟化网卡模式 2、基于NAT的虚拟网络模式 3、QEMU内置的用户网络模式 4、直接分配网络设置模式 网桥和NAT是基于linux-bridge实现的软件虚拟网络模式,QEMU是QEMU软件虚拟的网络模式,第四种网络模

    2024年02月14日
    浏览(54)
  • 【KVM虚拟化环境部署】

    1、装系统时手动选择安装 2、CentOS 7 最小化安装 安装好CentOS 7后,去设置里面点击处理器,将右边虚拟化引擎勾上 添加一块硬盘 分区并格式化 创建虚拟机,本例使用iso镜像 选择镜像路径

    2024年02月12日
    浏览(43)
  • KVM虚拟化ubuntu

    KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,它将Linux内核作为虚拟机的底层操作系统,利用硬件虚拟化支持创建和管理虚拟机。KVM虚拟化技术被广泛应用于云计算、虚拟化服务器、虚拟化桌面等场景。 KVM虚拟化技术的主要特点包括: 1.硬件虚拟化支持:

    2024年02月10日
    浏览(45)
  • 【KVM虚拟化】· 命令行KVM安装linux

    目录 🍁基础本环境配置 🍁添加lvm卷 🍁qemu-img创建磁盘文件 🍂创建raw格式 🍂创建虚拟机 🍂转换格式为qcow2 🍁virt-install命令参数 🍁案例操作    🦐博客主页:大虾好吃吗的博客    🦐专栏地址:KVM虚拟化专栏 最小化安装centos系统,勾选虚拟化功能。   修改网卡信息,

    2024年02月04日
    浏览(50)
  • 【KVM虚拟化】· 图形化KVM安装linux

    目录 🍁虚拟化技术 🍂KVM的整体结构 🍂KVM 的功能列表 🍂KVM 工具集合 🍁安装kvm虚拟化功能 🍁创建虚拟机    🦐博客主页:大虾好吃吗的博客    🦐专栏地址:KVM虚拟化专栏 全虚拟化 半虚拟化 硬件辅助的虚拟化 从GUI到Linux内核,包括以下五个组件: virt-manager一个用来

    2024年02月01日
    浏览(48)
  • KVM虚拟化基本操作

    虚拟化软件是可以让一台物理主机建立与执行一至多个虚拟化环境的软件,虚拟化将硬件、操作系统和应用程序一同封装一个可迁移的虚拟机档案文件中。 安装位置分类 目前从Hypervisor(虚拟机管理程序)安装位置分类,虚拟化层面包括安装在硬件层上、安装在宿主操作系统层

    2024年01月25日
    浏览(47)
  • 虚拟化技术KVM入门学习

      虚拟化[Virtualization]技术最早出现在 20 世纪 60 年代的 IBM ⼤型机系统,在70年代的 System370 系列中逐渐流⾏起来,这些机器通过⼀种叫虚拟机监控器[Virtual Machine Monitor,VMM]的程序在物理硬件之上⽣成许多可以运⾏独⽴操作系统软件的虚拟机[Virtual Machine]实例。随着近年多核

    2024年02月10日
    浏览(55)
  • Ubuntu 安装 KVM 虚拟化

    KVM 是 Linux 内核中一个基于 hypervisor 的虚拟化模块,它允许用户在 Linux 操作系统上创建和管理虚拟机。 如果机器的CPU不支持硬件虚拟化扩展,是无法使用KVM(基于内核的虚拟机)直接创建和运行虚拟机的。此时最多只能使用QEMU的完全软件仿真模式来运行虚拟机,但是性能会极度

    2024年04月29日
    浏览(31)
  • VirtualBox 部署 KVM 虚拟化

    KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,它是Linux内核的一部分。KVM通过将Linux内核转换为Hypervisor,允许在同一物理主机上运行多个虚拟机实例,每个实例可以独享一部分系统资源。 KVM的工作原理是将Linux内核扩展为虚拟化管理程序,它直接在硬件上运行,并提

    2024年02月11日
    浏览(44)
  • KVM虚拟化解决方案系列之KVM架构篇

    虚拟化是云计算的基础,在有虚拟化之前,一个物理主机上只能安装一个操作系统和运行一个核心业务程序。在有了虚拟化之后,一个物理主机上可以运行多台虚拟机,虚拟机上可以安装不同的操作系统和运行不同的核心业务程序,虚拟机共享物理主机的CPU、内存、I/O硬件资

    2024年02月09日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包