首页 > 其他分享 >【虚拟化】虚拟化简介 | Hypervisor介绍

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

时间:2024-09-21 11:52:55浏览次数:10  
标签:操作系统 虚拟化 Hypervisor 虚拟机 硬件 简介 OS

目录

一、什么是虚拟化?

二、虚拟化的优点

三、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,虚拟机,硬件,简介,OS
From: https://blog.51cto.com/teayear/12073759

相关文章

  • Seata简介
    Seata的架构TC(TransactionCoordintor)-事务协调者:维护全局和分支事务的状态,协调全局事务提交或者回滚。TM:(TransactionManager)-事务管理器:定义全局事务的范围,开始全局事务,提交和回滚事务RM(ResourceManager)-资源管理器:管理分支事务,与TC交谈以注册分支事务和报告分支事务的状态......
  • HTPX 简介:适用于 JavaScript 和 Nodejs 的轻量级多功能 HTTP 客户端
    作为开发人员,我们的web应用程序通常需要一个可靠且高效的http客户端,无论我们是在浏览器中使用javascript还是在服务器端使用node.js进行构建。这就是我创建htpx的原因——一个强大的轻量级解决方案,旨在简化http请求,同时为现代开发提供一系列功能。在本文中,我将引导您......
  • 信息系统监理师简介(信息系统监理师是什么?有什么用?考什么?)
    一、信息系统监理师是什么信息系统监理师,属于计算机技术与软件(中级)专业技术资格。通过本考试的合格人员能掌握信息系统工程监理的知识体系、完整的监理方法、手段和技能;能运用信息技术知识和监理技术方法编写监理大纲、监理规划和监理细则等文档;能有效组织和实施监理项目;具有工程师......
  • 海光处理器在Windows下提示虚拟化不可用的解决办法
    一句话总结:需要打开Windows安全中心里的内核隔离功能打开方式:设置-安全与更新-设备安全性-内核隔离,点开关打开遇到不兼容的驱动怎么解决:首先先在设置-应用-应用和功能里查找该驱动的名字,然后卸载掉。(或者控制面板里的程序和功能里找找)如果提示找不到卸载程序,你可以去找找......
  • 数据库系统工程师简介(数据库系统工程师是什么?有什么用?考什么?)
    一、数据库系统工程师是什么数据库系统工程师,属于计算机技术与软件(中级)专业技术资格。通过本考试的合格人员能参与应用信息系统的规划、设计、构建、运行和管理,能按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库;作为数据管理员管理信息系统中的数据资源,作为数据库管理......
  • 信息系统管理工程师简介(信息系统管理工程师是什么?有什么用?考什么?)
    一、信息系统管理工程师是什么信息系统管理工程师,属于计算机技术与软件(中级)专业技术资格。通过本考试的合格人员能对信息系统的功能与性能、日常应用、相关资源、运营成本、安全等进行监控、管理与评估,并为用户提供技术支持;能对信息系统运行过程中出现的问题采取必要的措施或对系统......
  • D23 kubernetes 工作负载资源对象-DaemonSet{简介}
    1、DaemonSet简介DaemonSet资源用于在集群中的每个节点上运行一个pod副本,具有以下特点-在每个节点上运行一个pod-当向集群中加入一个新节点或者从集群中移除一个节点时,DaemonSet会自动在新节点上启动一个pod或在移除的节点上删除pod-可以使用节点选择器或亲和性来定义pod......
  • http REST 简介
    REST简介REST代表表现层状态转移(REpresentationalStateTransfer),由RoyFielding在他的论文中提出。REST是一种软件架构风格,不是技术框架,REST有一系列规范,满足这些规范的API均可称为RESTfulAPI。REST规范中有如下几个核心:1,REST中一切实体都被抽象成资源,每个......
  • Java8的Optional简介
    文章目录环境背景方法1:直接获取方法2:防御式检查方法3:Java8的Optional概述map()测试flatMap()测试总结参考注:本文主要参考了《Java8实战》这本书。环境Ubuntu22.04jdk-17.0.3.1(兼容Java8)背景现有Insurance、Car、Person类,定义如下:Insurance:publ......
  • k8s 中的 Ingress 简介【k8s 系列之三】
    〇、前言前边已经介绍了k8s中的相关概念和Service,本文继续看下什么是Ingress。Ingress的重要性不言而喻,它不仅统一了集群对外访问的入口,还提供了高级路由、七层负载均衡、SSL终止等关键功能,同时支持动态配置更新、灰度发布等高级特性。下文将进行详细介绍。一、关于Ingr......