【虚拟化】虚拟化简介 | Hypervisor介绍

目录

一、什么是虚拟化?

二、虚拟化的优点

三、Hypervisor

3.1 Hypervisor概述

3.2 Hypervisor 分类

3.3 Hypervisor 与虚拟机协作技术路线

(1) 全虚拟化

(2) 硬件辅助虚拟化

(3) 半虚拟化


一、什么是虚拟化


虚拟化是一种能够更有效地利用物理计算机硬件的过程,是云计算的基础。

虚拟化技术使用软件,在计算机硬件上创建一个抽象层,能够将单台计算机的硬件元素(处理器、内存、存储等)分成多个虚拟计算机(通常称为虚拟机 (VM))。 每个虚拟机都会运行自己的操作系统 (OS),其行为就像一台独立的计算机,即使它只在一部分实际底层计算机硬件上运行。

由此可见,虚拟化可以更高效地利用物理计算机硬件,提高组织在硬件投资方面的投资回报率。

如今,虚拟化已成为企业 IT 架构的标准实践。 它也是推动云计算经济发展的技术。 虚拟化使云提供商能够使用他们现有的物理计算机硬件为用户提供服务; 它使云用户能够在需要时仅购买所需的计算资源,并随着工作负载的增长经济实惠地扩展这些资源。


二、虚拟化的优点


虚拟化为数据中心运营商和服务提供商带来诸多好处:

  • 资源效率在虚拟化出现之前,每个应用服务器都需要自己的专用物理 CPU — IT 人员为想要运行的每个应用购买和配置单独的服务器。 (出于可靠性原因,IT 人员更倾向于在每台计算机上配置一个操作系统 (OS),运行一个应用。) 因此,每台物理服务器都不可避免地得不到充分利用。 相反,服务器虚拟化能够在单一物理计算机(通常是 x86 服务器)上运行多个应用,每个应用都在自己的 VM 上运行,使用自己的操作系统,而且不会牺牲可靠性。 这样就能够最大程度地利用物理硬件的计算能力。
  • 管理更加轻松通过用软件定义的 VM 取代物理计算机,可以更轻松地使用和管理用软件编写的策略。 这有助于创建自动化的 IT 服务管理工作流程。 例如,自动化部署和配置工具使管理员能够以软件模板的形式将一组虚拟机和应用定义为服务。 这意味着他们能够以统一方式重复安装这些服务,而无需繁琐耗时 而且容易出错的人工设置过程。 管理员可以根据虚拟机的角色使用虚拟化安全策略,以强制实施某些安全配置。 策略甚至可通过淘汰未使用的虚拟机以节省空间和计算能力,提高资源效率。
     
  • 最大程度减少宕机:操作系统和应用崩溃会导致宕机,对用户生产力造成影响。 管理员可以同时运行多个冗余虚拟机,当出现问题时,可在它们之间进行故障转移。 运行多台冗余物理服务器的成本比较高。
     
  • 配置速度更快:为每个应用购买、安装和配置硬件非常耗时。 如果硬件已部署,那么配置虚拟机以运行所有应用的速度要快得多。 甚至可以使用管理软件自动进行配置,并将其构建到现有工作流程中。

三、Hypervisor


3.1 Hypervisor概述


hypervisor一种运行在物理服务器和操作系统之间的中间层软件,可以允许多个操作系统和应用共享一套基础物理硬件。可以将hypervisor看做是虚拟环境中的“元”操作系统,可以协调访问服务器上的所有物理设备和虚拟机,所以又称为虚拟机监视器(virtual machine monitor)。hypervisor是所有虚拟化技术的核心,非中断的支持多工作负载迁移是hypervisor的基本功能。

3.2 Hypervisor 分类


  • 一类是 Type1 裸机型,Hypervisor 直接运行在硬件设备上的,也叫做 Bare-Metal Hardware Virtualization(裸机虚拟化环境);
  • 一类是 Type2 主机托管型,也叫做 Hosted Virtualization (主机虚拟化环境)。

如图展示了两种 Hypervisor 的分层架构。

Type2 型 Hypervisor 需要借助宿主操作系统来管理 CPU、内存、网络等资源,由于 Hypervisor 和硬件之间存在一个宿主操作系统,Hypervisor 及 VM 的所有操作都要经过宿主操作系统,所以就不可避免地会存在延迟、性能损耗,同时宿主操作系统的安全缺陷及稳定性问题都会影响到运行在之上的 VM(虚拟机),所以 , Type-2 型 Hypervisor 主要用于对性能和安全要求不高的场合,比如 : 个人 PC 系统。

Type1 型的 Hypervisor 不依赖主机操作系统,其自身具备操作系统的基础功能。设计上更简洁,直接运行于硬件之上,整体代码量和架构更为精简,对内存和存储资源要求更少。

3.3 Hypervisor 与虚拟机协作技术路线


(1) 全虚拟化

最初的虚拟化是通过软件模拟具有完整硬件系统功能的、运行在一个隔离环境中的计算机系统,即通过软件虚拟硬件设备提供给 GuestOS 使用,优点是 GuestOS 不感知外部真实硬件环境、不用改动。

由于 Guest OS 中每次访问全虚拟化硬件都要陷入到 Hypervisor 中,直接导致该方式虚拟的硬件性能较差,一般只用来模拟如串口等比较简单的硬件。

操作系统上安装kvm,kvm即Hypervisor,它会 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。除此之外:VirtualBox 和 VMWare Workstation 都属于这个类型。

(2) 硬件辅助虚拟化

Intel 最早提出硬件辅助虚拟化技术,由硬件直接提供共享功能,支持多 GuestOS 的访问,减少软件虚拟技术带来的延时和性能损耗。

Intel 提出了分别针对处理器 & 内存、IO、网络的 Intel VT-x、Intel VT-d 和 Intel VT-c 技术等。随着 ARM 算力提升,从移动端向边缘、甚至云算力中心发展,ARM 也在不断增强其硬件辅助虚拟化技术,比如 stage 2 页表转换、虚拟异常等。

(3) 半虚拟化

在硬件辅助虚拟化技术不完善、不强大的发展阶段,或者对于某些复杂外设的共享复用,为避免全虚拟化的性能问题,可以采用 GuestOS 与 Hypervisor 协作的半虚拟化技术。

这种技术一般应用于 IO 设备虚拟化,采用前后端的方式来实现 IO 设备虚拟化,在 Guest OS 中实现前端驱动,在 Hypervisor 或 Host OS 中实现后端驱动,前后端一般按照 VirtIO 标准来实现,后端驱动作为硬件的实际访问方。

Guest OS 中前端驱动通过 Virt Queue 等通信机制与后端驱动进行通信,前端驱动将 Guest OS 的请求传递给后端驱动,后端驱动将请求发送给硬件驱动,处理完后将结果再传回给前端驱动。半虚拟化相对全虚拟化实现的硬件性能较好,且可实现相对比较复杂的硬件,比如 : 块设备,网卡,显示设备等。


原文链接:虚拟化 (Hypervisor) 技术详解-CSDN博客

云计算——虚拟化层架构_虚拟化架构-CSDN博客

虚拟化 (Hypervisor) 技术详解-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/383848.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5G赋能新能源,工业5G路由器实现充电桩远程高效管理

随着5G技术的广泛应用,新能源充电桩的5G应用正逐步构建起全新的生态系统。在数字化转型的浪潮中,新能源充电桩行业正迎来数字化改革。工业5G路由器的引入,为充电桩的远程管理提供了强有力的技术支持,新能源充电桩5G路由器网络部署…

软考:软件设计师 — 5.计算机网络

五. 计算机网络 1. OSI 七层模型 层次名称主要功能主要设备及协议7应用层实现具体的应用功能 POP3、FTP、HTTP、Telent、SMTP DHCP、TFTP、SNMP、DNS 6表示层数据的格式与表达、加密、压缩5会话层建立、管理和终止会话4传输层端到端的连接TCP、UDP3网络层分组传输和路由选择 三…

土耳其云手机提升TikTok电商效率

在数字化飞速发展的今天,TikTok不仅是一个社交平台,更是一个巨大的电商市场。随着TikTok电商功能在全球范围内的扩展,土耳其的商家和内容创作者正面临着前所未有的机遇。本文将详细介绍土耳其云手机怎样帮助商家抓住机遇,实现业务…

linux/windows wps node.js插件对PPT状态监听并且通知其他应用

需求背景 公司要求对Window系统,和国产操作系统(UOS)的wps 软件在 PPT开始播放 结束播放,和播放中翻页 上一页 下一页 等状态进行监听,并通知到我们桌面应用。 技术方案 开发WPS插件,使用node.JS 插件开…

关于promise的一些例题(运行步骤详细说明)

关于promise的一些例题(详细说明) 基本例题 // 直接运行 输出 1 2 const promise new Promise((resolve, reject) > {console.log(1);resolve();console.log(2); });// then后面放入微队列 promise.then(() > {console.log(3); });// 输出4 之后没有代码了所以运行为队…

数据清洗系统设计

设计一个高效的数据清洗系统旨在确保数据的质量,以便后续分析和决策过程可以基于准确、一致和完整的信息。以下是设计实时数据清洗系统时需要考虑的关键要素,结合之前提到的设计目标和原则: 1. 高效的数据处理 技术选型:采用并行…

vite构建vue3项目hmr生效问题踩坑记录

vite构建vue3项目hmr生效问题踩坑记录 hmr的好处 以下是以表格形式呈现的前端开发中HMR(热模块替换)带来的好处: 好处描述提升开发效率允许开发者在不刷新整个页面的情况下实时更新修改的代码,减少等待时间保持应用状态在模块替…

MES系统具体有哪些功能?如何更高效的利用MES系统

MES系统(Manufacturing Execution System,制造执行系统)是现代制造业中非常重要的一个信息化管理系统,它在生产过程中起到了关键的作用。MES系统的具体功能可以归纳如下: 万界星空科技MES系统的具体功能 生产计划管理…

HarmonyOS入门-状态管理

View(UI):UI渲染,指将build方法内的UI描述和Builder装饰的方法内的UI描述映射到界面。 State:状态,指驱动UI更新的数据。用户通过触发组件的事件方法,改变状态数据。状态数据的改变,引起UI的重新渲染。 装…

FPGA开发——奇数分频器的设计

一、概论 在我们进行FPGA分频器的学习当中,我们通常会学习怎样完成任意分频器的设计,其中就包括偶数分频最为常见。在实现的分频器的同时我们也会不定时的要求同时设置对应的占空比。今天我们就来看看怎样同时设置奇数分频器和其对应50%的占空比。 二、…

oracle读写时相关字符集详解

服务器端操作系统(Oracle linux)字符集 服务器端数据库字符集 客户端操作系统(Oracle linux)字符集 客户端工具sqlplus字符集 结论1:客户端工具sqlplus的会话,使用的字符集,是数据库字符集。…

【CPS出版】2024年智能计算与数据分析国际学术会议(ICDA 2024,9月6日-8)

为探讨数据科学和计算智能领域的关键问题,促进相关交流,2024年智能计算与数据分析国际学术会议(ICDA 2024)将于2024年9月6日-8日在中国青岛召开。 本届会议拟邀请数据分析和计算智能领域的顶级专家、学者和产业界优秀人才,围绕当前…

数据结构(Java):七大排序算法【详解】

目录 1、排序的概念 1.1 排序 1.2 排序的稳定性 1.3 内部排序&外部排序 1.4 各排序算法总结对比 2、 插入排序 2.1 🌸直接插入排序 2.2 🌸希尔排序 3、 选择排序 3.1 🌸直接选择排序 3.2 直接选择排序优化 3.3 🌸…

[红明谷CTF 2021]write_shell 1

目录 代码审计check()$_GET["action"] ?? "" 解题 代码审计 <?php error_reporting(0); highlight_file(__FILE__); function check($input){if(preg_match("/| |_|php|;|~|\\^|\\|eval|{|}/i",$input)){// if(preg_match("/| |_||p…

C语言------指针讲解(3)

一、字符指针 在指针中&#xff0c;我们知道有一类指针类型为字符指针char*; int main() {char ch w;char* pc &ch;*pc w;return 0; } 还有一种使用方式如下&#xff1a; 上述代码中&#xff0c;本质是把hello的首字符的地址放到了pstr中。即把一个常量字符串的首字符…

神经网络处理器模拟器的一点思考

一 神经网络处理器 通常基于FPGA的神经网络处理器进行部署某种网络&#xff0c;考虑的因素较多&#xff0c;具体包括网络模型的不同&#xff0c;涵盖不同的算子、激活函数、调度策略等等&#xff1b;具体硬件实现&#xff0c;涉及神经网络处理器并行度、硬件资源消耗&#xff0…

OpenGL入门第六步:材质

目录 结果显示 材质介绍 函数解析 具体代码 结果显示 材质介绍 当描述一个表面时,我们可以分别为三个光照分量定义一个材质颜色(Material Color):环境光照(Ambient Lighting)、漫反射光照(Diffuse Lighting)和镜面光照(Specular Lighting)。通过为每个分量指定一个颜色,…

C++STL详解(五)——list类的接口详解

一.list的介绍 list容器的底层是双向循环带头链表&#xff0c;在CPP中&#xff0c;我们对双向循环带头链表进行了一定程度的封装。 如果你不了解双向链表&#xff0c;那么可以浏览此片博文&#xff1a;双向链表 二.list的定义方式以及赋值 2.1list的构造方式 在这里我们要…

Haproxy 下载、编译部署、使用

文章目录 前言Haproxy 下载、编译部署、使用1. 下载2. 编译部署3. 使用3.1. 验证配置文件3.2. 启动 HAProxy 并指定配置文件路径3.3. 关闭HAProxy3.4. 重载HAProxy 3. 测试 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&am…

PCB工艺边设计准则

在PCB设计时&#xff0c;通常会在电路板的边缘预留一定的空间&#xff0c;这部分空间被称为工艺边。它有助于在生产过程中确保电路板的尺寸和形状的准确性。以使得组装时更加顺畅、便捷。而工艺边的加工&#xff0c;使得线路板上的元件可以精准地与设备对接&#xff0c;从而提高…