北京华为HCIE云计算技术的基础 必须了解的什么是虚拟化?-ielab网络实验室

本文主要是介绍北京华为HCIE云计算技术的基础 必须了解的什么是虚拟化?-ielab网络实验室,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

北京华为HCIE云计算技术的基础 必须了解的什么是虚拟化?-ielab网络实验室在计算机中,虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件。

虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。在计算机方面,虚拟化一般指通过对计算机物理资源的抽象,提供一个或多个操作环境,实现资源的模拟、隔离或共享等。

本质上,虚拟化就是由位于下层的软件模块,通过向上一层软件模块提供一个与它原先所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层软件可以直接运行在虚拟环境上。通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成一份。

虚拟化可以分为虚拟化对象和虚拟化过程:

  1. 虚拟化对象:
  • CPU虚拟化:目标是使虚拟机上的指令能被正常执行,且效率接近物理机。
  • 内存虚拟化:目标是能够做好虚拟机内存空间的隔离,使每个虚拟机都认为自己拥有了整个内存地址,且效率接近物理机。
  • I/O虚拟化:目标是不仅让虚拟机访问到他们需要的I/O资源,而且也要做好隔离工作,同时减轻虚拟化带来的开销。
  1. 虚拟化过程:
  • 全虚拟化:使用VMM实现CPU、内存、设备I/O的虚拟化,而Guest OS和计算机系统硬件都不需要进行修改。
  • 半虚拟化:使用VMM实现CPU和内存虚拟化,设备I/O虚拟化由Guest OS实现,这种方式兼容性较差。
  • 硬件辅助虚拟化:借助硬件的支持来实现高效的全虚拟化,该方式不需要修改Guest OS,兼容性好。

 

我们接下来主要看看如何进行虚拟化:

  1. CPU虚拟化:

主要的两个关键问题:

  • 如何模拟CPU指令:

敏感指令:可以读写系统关键资源的指令

特权指令:只能在处理器的最高特权级执行

  • 如何共享CPU:

利用与Native操作系统类似的机制——通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。

  1. 内存虚拟化:

把物理机的真实物理内容统一管理,包装成多个虚拟机的内存给若干虚拟机使用。KVM通过内存虚拟化共享物理系统内存,动态分配给虚拟机。

一般来说物理地址都是从0开始的,而且内存都是连续的。但是物理地址的0只有一个,无法满足所有的虚拟机从0开始的请求;而且虽然可以实现连续的物理地址分配,但是内存使用效率不高,缺乏灵活性。

  1. I/O虚拟化:

可以被看做是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guest可以重复使用有限的外设资源。I/O虚拟化的过程,就是模拟设备的这些寄存器和内存,截获Guest OS对I/O端口和寄存器的访问。在KVM中,客户机可用的设备可分为三类:

  1. 模拟设备:由纯软件模拟的设备;
  2. Virtio设备:实现VIRTIO API的半虚拟化设备;
  3. PCI设备直接分配。
  1. 全虚拟化:

也称为原始虚拟化技术,该模型使用虚拟机协调Guest操作系统和原始硬件,VMM在Guest操作系统和裸硬件之间用于工作协调,一些受保护指令必须由Hypervisor(虚拟机管理程序)来捕获处理。全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机,因为Hypervisor需要占用一些资源。北京华为HCIE云计算技术的基础 必须了解的什么是虚拟化?-ielab网络实验室

  1. 半虚拟化:

另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的Guest操作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作。半虚拟化需要Guest操作系统做一些修改,使Guest操作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原操作系统相近的性能。

  1. 硬件辅助虚拟化:

Intel/AMD等硬件厂商通过对部分全虚拟化和半虚拟化使用到的软件技术进行硬件化来提高性能。硬件辅助虚拟化技术常用于优化全虚拟化和半虚拟化产品,最出名的例子莫过于VMware Workstation,它虽然属于全虚拟化,但是在它的6.0版本中引入了硬件辅助虚拟化技术,比如Intel的VT-x和AMD的AMD-V。现在市面上的主流全虚拟化和半虚拟化产品都支持硬件辅助虚拟化,包括VirtualBox,KVM,VMware ESX和Xen。通过引入硬件技术,将使虚拟化技术更接近物理机的速度。北京华为HCIE云计算技术的基础 必须了解的什么是虚拟化?-ielab网络实验室

这篇关于北京华为HCIE云计算技术的基础 必须了解的什么是虚拟化?-ielab网络实验室的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643305

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.