HCIA-虚拟化

news2024/11/25 20:48:35

1、虚拟化概述

KVM是所有云平台的底座,虚拟化是所有云的基础,虚拟化只提供基础架构,云可以提供服务。
CNA是个定制的欧拉系统EulerOS,基于centos内核只保留和虚拟化相关的代码,CNA默认已经部署好kvm虚拟化的软件。CNA=迷你版欧拉系统EulerOS+kvm
在物理服务器上安装CNA操作系统,这台物理服务器就具备了虚拟化能力,可以将底层的物理资源如存储、计算、网络资源进行虚拟化,然后再提供给上层的业务使用。
在这里插入图片描述
Guest OS 虚拟机操作系统
Guest Machine 虚拟机
Hypervisor 虚拟化软件层/虚拟机监控机(Virtual Machine Monitor,VMM)
(对虚拟机的所有操作都是由这个虚拟化中间层实现,控制虚拟机的创建、删除、开启关闭等等)
Host OS 运行在物理机之上的OS
Host Machine 物理机
在这里插入图片描述

2、虚拟化历史

1964年,IBM就在自己的大型机上去尝试虚拟化
1972年,IBM推出实现了大型机上的虚拟机
1993年,IBM推出可升级的POWER并行系统,这是第一款采用RS/6000技术,基于微处理器的超级计算机。
1998年,著名的x86仿真模拟器Bochs发布。
1998年,VMware成立,1999年推出了可以流畅运行的商业虚拟化软件VMware Workstation。从此虚拟化技术终于走下了大型机的神坛。
1999年,IBM在AS/400上第一次提出了LPAR(Logical Partition,逻辑分区)虚拟化技术。
2000年,Citrix(思杰)桌面虚拟化产品发布。
2002年,Xen正式开源,后被Citrix(思杰)收购。
2004年,IBM发布了虚拟化解决方案APV(Advanced Power Virtualization),支持资源共享。该方案在2008年改名为PowerVM。
2005年,Xen 3.0.0发布,该版本可以在32位服务器上运行,是第一个支持Intel VT-x的虚拟机监控程序。
2006年,以色列的创业公司Qumranet在完成了虚拟化Hypervisor基本功能、动态迁移以及主要的性能优化之后,正式对外宣布了KVM(Kernel-based Virtual Machine,基于内核的虚拟机)的诞生。
2006-至今,云计算与大数据时代。
2007年,德国InnoTek公司开发了VirtualBox虚拟化软件,后被美国甲骨文Oracle收购。
2008年,Linux Container(LXC)发布0.1.0版本,可以提供轻量级的虚拟化。
2010年,红帽发布RHEL 6.0,这个版本将默认安装的Xen虚拟化机制彻底去除,仅提供KVM虚拟化机制。红帽在5.0加入Xen虚拟化,5.4版本xen和kvm虚拟化并行。
2013年,Docker推出(容器技术是内容空间的隔离、进程级别隔离,虚拟化是资源的隔离)
2015年,Kubernetes v1.0发布,进入云原生时代。
xen 和 kvm 区别,xen和kvm 都是开源虚拟化
2001-2002 Xen ,2007年被思杰收购了。
2007年,红帽RHEL5.0 加入xen,红帽刚加入xen同年xen被思杰收购。
2006年的时候,出现了kvm基于内核虚拟化,后被红帽收购。
RHEL5.0-5.4 只有xen
从RHEL5.4-6.0 xen和kvm两个虚拟化产品并行。
RHEL6.0红帽剔除了 xen虚拟化。
为什么红帽选择kvm?
1.xen虚拟化没有给红帽带来更多的收益
2.xen 被思杰收购了
3.最重要的:xen不愿意把源码内置到红帽源码里面。
这就意味着红帽每发布一个产品,都要去维护两套内核。
一套base基础内核,一套带了xen的内核。
内核维护量非常大,非常不方便。

Xen虚拟化(当年还没有硬件辅助的时候),Xen虚拟化需要修改guest os(虚拟机操作系统)内核源码的,以支持它本身的虚拟化特性,意味着xen当年只支持linux(开源),不支持windows(闭源)。
Kvm虚拟化(Kernel-based Virtual Machine)基于内核的虚拟机。Kvm已经作为了红帽内核源码的一部分了,内核的维护很方便。不修改客户机源码,不仅支持linux,而且也支持windows。
VMware虚拟化闭源的,不讨论。xen和kvm 是开源虚拟化。

思杰收购了xen,赞助了一家开源社区 cloudstack
红帽收购了kvm,赞助了一家开源社区 openstack
Hypervisor(VMM)分类
Hypervisor 虚拟化软件层/虚拟机监控机(Virtual Machine Monitor,VMM)
(对虚拟机的所有操作都是由这个虚拟化中间层实现,控制虚拟机的创建、删除、开启关闭等等)
CNA,计算节点代理,安装了CNA.ISO的物理服务器,这台物理服务器就具备了虚拟化能力,它就能创建虚拟机了。
1、裸金属型,VMM跑在物理硬件上(VMM虚拟化层是作为操作系统一部分直接运行在物理硬件上)
2、宿主型,VMM跑在物理服务器操作系统上(在物理硬件上跑的物理服务器操作系统,安装的虚拟化软件充当VMM虚拟化层,VMM虚拟化层是在物理服务器操作系统之上,不直接属于物理服务器操作系统)
在这里插入图片描述
虚拟化技术分类
1、二进制翻译技术VMware率先实现的,本质就是通过VMM来回翻译,里面的虚拟机永远不知道自己是个虚拟机,所以二进制翻译(Binary Translation(BT))性能可能不是很好。BT就是一个软件实现的完全虚拟化。
2、早期(xen)半虚拟化只支持 linux(开源),而不支持windows(闭源)。
3、硬件辅助虚拟化:直接在cpu底层修改cpu架构,cpu会直接捕获那些出现漏洞的指令集,通过cpu硬件辅助执行,效率非常高。Vmware 安装 64位操作系统,如果未开启vt-x或amd-v cpu辅助虚拟化,则是无法创建虚拟机的。VMware支持BT实现的完全虚拟化为什么还要开启硬件辅助虚拟化,因为考虑性能问题,必须开启。
注意:半虚拟化是早期xen的解决方案,但是有了cpu硬件辅助虚拟化之后,xen虚拟化也通过cpu硬件辅助虚拟化,可以实现完全虚拟化。所以现在的XEN:靠自己支持半虚拟化,靠cpu支持全虚拟化。
二进制翻译和cpu硬件辅助:完全虚拟化(软件完全虚拟化/硬件辅助完全虚拟化)
Xen:早期半虚拟化代表
全虚拟化:特权和敏感指令集都是由VMM来传递,来回传递翻译,效率低。不知道自己是个虚拟机。
半虚拟化:guest os 明确自己是虚拟机操作系统,修改内核,要求系统必须开源,指令无需中间虚拟化的封装解码操作,速度相对比较快。性能好一些。
硬件辅助:修改cpu底层架构,cpu直接捕获敏感指令进行执行,硬件执行效率最高(现在计算机默认开启使用硬件辅助虚拟化),主板bios未开启虚拟化报错如下图
在这里插入图片描述

3、存储虚拟化

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3的watchEffect的妙用,与watch的区别

前言 在Vue3中,引入了Composition API,其中的watchEffect()函数是一个非常强大和灵活的工具,用于处理响应式数据的变化,使得项目更加弹性和灵活。它与watch有所不同,本文将介绍watchEffect()的定义、特点、与watch的区…

LeetCode 1183 矩阵中 1 的最大数量 (图解)

题目省略了 题解 很多题解都写的是,求正方形矩阵在原矩阵的等效位置的数量,但是不画图可能不好理解,比如我现在有个 3*3 的矩阵,需要用2*2的正方形填充 上图中我枚举了所有的点在小正方形可能出现的情况(A、B、C、D&…

Appium-Python-Client 源码剖析 (一) driver 的元素查找方法

目录 前言 源码版本:0.9 结构图: mobileby.py appium 的 webdriver.py selenium 的 webdriver.py seleniumdriver appiumdriver 前言 Appium-Python-Client是一个用于Python语言的Appium客户端库,它提供了丰富的API和功能,用于编写和…

SpringBoot整合缓存(Caffeine、Redis)

SpringBoot整合缓存 注解介绍 EnableCaching 标记在CacheManager统一配置类,需要配合Configuration使用 Cachable 标记在需要使用缓存的实现类上,一般用于查询操作。当该方法输入参数对应的缓存数据不存在与缓存引擎中(类似Redis&#x…

视频配音乐怎么制作?教你简单好用的配乐方法

在很多情况下,为视频配乐可以增强观众的情感体验,使观众更加投入到视频内容中。配乐可以增强视频的节奏和情感共鸣,使观众更容易理解和接受视频的信息。此外,配乐还可以为视频添加品味和风格,使其更具吸引力。教大家几…

人际关系处理文库 怎样与女人相处 怎样与领导相处 张胜利 岳贵安著 PDF 网盘免费...

人际关系处理文库-17部大全 怎样与男人相处、怎样与女人相处、怎样与领导相处、怎样对付小人、怎样识别谎言、怎样洞察人心、怎样变通协调、怎样出人头地、怎样对付难缠的人、怎样对付小报告、怎样广结人缘、怎样看穿陷阱、怎样笼络人心、怎样妙言善辩、怎样轻松自如、怎样善解…

Huggingface tokenizer decode batch_decode报错解决思路与分析

文章目录 摘要引出原因最初报错的解决办法batch_decode 源码decode 和 batch_decode 都可以成功运行的例子decode 和 batch_decode 不能同时成功运行的例子源码将输入转成 python list 摘要 本篇文章,由笔者最初遇到的decode报错开始,叙述笔者如何解决这…

继连续亏损后,软银依然下注机器人,今年能否在人工智能浪潮中分一杯羹?

原创 |文 BFT机器人 近日,将近7个月没露面的孙正义,现身软银集团年度股东大会并表示,软银目前账面现金有5万亿日元(约合人民币2547亿元),已准备好将防守模式转变为进攻模式,All in AI&#xff…

imazing怎么导出app,Imazing修改APP存档的方法【2023详解】

相信很多小伙伴都不清楚Imazing导出APP及能够帮助我们更好地去管理手机,还能够替换从网上下载的游戏存档,让用户可以有一个更好地体验,那么具体要如何去操作呢?下面就跟着小编一起来看看Imazing修改APP存档的方法吧。 使用软件 iM…

修改windows文件没有权限

一、问题描述:有时候我们在修改windows文件时,提示没有修改权限。 二、解决方案 修改windows的hosts文件 为例

Android平台GB28181设备接入侧音频采集推送示例

技术背景​ GB/T28181是广泛应用于视频监控行业的标准协议规范,可以在不同设备之间实现互联互通。今天我们主要探讨Android平台的Audio采集部分。 先说如何拿到数据源,在Android平台上采集音频,常用的方式如下: 1. 使用MediaRe…

LeetCode206.反转链表

LeetCode206.反转链表 一、双指针法 这道题如果再定义一个新的链表,实现链表元素的反转,其实是对内存空间的浪费 我们只需要改变链表的next指针的指向,直接将链表反转 之前链表头节点是元素1,反转之后头节点是元素5,…

Qt与Web混合开发:实现双向通信

引言 在当今的软件开发中,将Qt和Web技术结合起来进行混合开发变得越来越流行。Qt作为强大的C框架,提供了丰富的图形界面和功能库,而Web技术则提供了灵活性和跨平台的优势。结合这两种技术,我们可以开发出功能强大、具有吸引力的应…

【电路原理学习笔记】第4章:能量与功率:4.2 电路中的功率

第4章:能量与功率 4.2 电路中的功率 电能转换成热能所产生的热量,通常是电流通过电路中的电阻而产生的不必要的副产品。然而,在某些情况下,产生热量是电路的主要目的,例如,电阻式加热器。 当有电流通过电…

NLP 开源形近字算法之相似字列表(番外篇)

需求 有时候我们并不是需要返回两个字的相似,而是需要返回一个汉字的相似列表。 实现思路 我们可以分别计算所有的汉字之间的相似度,然后保留最大的前100个,放在字典中。 然后实时查询这个字典即可。 实现方式 bihuashu_2w.txt 中我们主…

BUG解决Button类不能从UnityEngine.UI中引用

Button does not contain a definition for onClick and no accessible extension method onClick accepting a first argument of type Button could be found (are you missing a using directive or an assembly reference?) 一个非常奇葩的问题;突然!!!!! using UnityEn…

什么是低代码开发平台(apaas)?低代码开发平台的价值有哪些

手码6500字,带你快速看懂:什么是低代码开发平台(apaas),低代码有哪些价值,以及低代码平台的使用逻辑和心得。 一、什么是低代码开发平台(apaas)? 低代码开发平台是一种a…

【C++ 学习记录】(一)--你好,C++

写在前面 工作需要,重学C,实在是太痛苦了,大二的时候应试就没学会!! 进入正题 1.编程是怎么回事 C在百科上的解释是一种静态数据类型检查 的、支持多种编程范式(面向过程与面向对象等)的通用…

BTP Integration Suite学习笔记 - (Unit3) Developing with SAP Integration Suite

BTP Integration Suite学习笔记 - (Unit1) Developing with SAP Integration Suite BTP Integration Suite学习笔记 - (Unit2) Developing with SAP Integration Suite 带着一个问题去学:明明可以直接访问一个后端系统的OData服务,为什么还要再多绕一道C…

UE学习记录02----UMG创建控件模板+事件分发器

官网4.27: 创建控件模板 | 虚幻引擎文档 (unrealengine.com) 使用UMG创建的每个 控件蓝图 都被视为 用户控件,其可在其他控件蓝图中重复使用和放置。 其视觉效果和脚本功能都将延续到该蓝图中。 利用某些蓝图脚本,可创建UI控件的运行方式或…