云计算之基,一文带你速懂虚拟化KVM和XEN

戳蓝字“CSDN云计算”关注我们哦!

640?wx_fmt=jpeg

技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!

作者 :Pasca

来源 :蛋蛋团

正文 :共2022 字

预计阅读时间:6 分钟


前言



”云计算“这个技术经过十余年的普及到如今已经可以称得上是家喻户晓了,基于云计算平台,在多个领域内创造了一个又一个的记录:电子商务里亿万人同时在线抢购的的”双11“神话;几个月里从0到千万用户级别的游戏应用;集结海量计算力从无用数据中寻找价值的大数据分析;


种种一切,无不在叙说着这种新型信息技术所带来的伟力与震撼。


云计算诞生于互联网行业,而又不止于影响互联网。无论是马云所说”数字经济体“又或者马化腾所说的”产业互联网“,归根究底是使用自身云计算的能力去影响或者去重构传统行业,带来产业融合的新创新价值。


640?wx_fmt=jpeg


”信息技术改革“一触即发,云计算不是一门技术,是一种”合作创新,云以致用“服务和理念。而其背后最重要的技术莫过于虚拟化技术了,今天就让我们来揭晓云计算应用最广的KVM和XEN虚拟化技术。




1、虚拟化和云计算的关系




在云计算行业历练多年,笔者集各家之对云计算的解释,总结出了了个“云计算三四五定律”。

三是指云计算的服务模式:IaaS(基础设施即服务)Paas(平台即服务)、SaaS(软件即服务)。

四指的是部署方式:公有云、私有云、行业云(政务云、工业云等集合)以及混合云。

五指的是云计算的基本特征:按需接入、BGP线路、资源池化、弹性伸缩以及可计量的费用。


那么,最重要的,资源如何达到池化的效果呢?


这里先来理解下虚拟化的定义。

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

 --来自维基百科


虚拟化技术是云计算的基石,早在上世纪的90年代,已经有人在研究如何利用虚拟化技术来平衡昂贵硬件和利用率不足之间的矛盾,中间出现了类似如VMware以卖虚拟化软件而崛起的公司,也随着虚拟化技术发展,出现了开源的XEN和KVM两种虚拟化技术。正因为开源虚拟化技术的普及,才有了云计算的如今的发展势头。





2、虚拟化的分类与优缺点




虚拟化核心思想是提高硬件资源的利用率,通过在系统中加入一个虚拟化层,将下层资源池化后,向上层操作系统提供一个预期一致的服务器硬件环境,并允许不同操作的系统的虚拟机互相隔离且并发运行在一台物理机上。


640?wx_fmt=jpeg

尽管虚拟化技术上个世纪已经出现,然后当时虚拟化技术主要应用于IBM的大型机中,随着X86服务器架构流行,VMware第一个针对X86服务器的商用虚拟化技术。后来,IT界最不缺开源精神,剑桥大学一名讲师发布了开源虚拟化项目XEN。


但是问题是,XEN有个缺点:需要对内核补丁,稍微不慎,系统崩溃。


640?wx_fmt=jpeg


KVM其实比XEN出现的晚,但是当KVM出现时,已经全盘使用XEN虚拟技术的Redhat直接抛弃了已经使用多年的XEN,究其原因,KVM是Linux的一部分, 可使用通常的Linux调度器和内存管理. 这意味着KVM更小更易使用。

640?wx_fmt=png

上图是KVM和XEN的架构对比图,首先,两者都属于硬件虚拟化(硬件提供结构支持帮助创建虚拟机监视并允许客户机操作系统独立运行)。


• 全虚拟化:虚拟机完整的模拟了底层硬件,linux系统直接内核支持,不需要对操作系统进行修改。简单来讲,虚拟机以为自己运行在硬件上。

• 半虚拟化:虚拟机能够感知是运行在Hypervisor(虚拟机器监视器,简称VMM)之中,且为了支持Hypervisor,需要对操作系统进行专门的更改。


640?wx_fmt=jpeg


XEN包含三个基本组件:Hypervisor、Domain 0、Domain U。

其中Hypervisor运行在硬件之上,承载所有的操作系统,提供CPU和内存调度的作用。

Domain 0是管理员,相当于一个大管家,主要负责IO 虚拟化。

Domain U则是真正的XEN中的虚拟客户机,而Domain U又分为两类:一类全虚拟客户机,一类半虚拟客户机,后者是运行在经过修改的操作系统之上。


640?wx_fmt=jpeg


只支持全虚拟化的KVM则简单的多了,主要两个部分组成:KVM驱动和Qemu。


KVM驱动直接被集成到linux系统(Intel-VT或AMD-V))中了,主要负责虚拟机创建、CPU和内存的分配等等。


Qemu是用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。这里我们来看下两者的图解对比。


640?wx_fmt=jpeg

640?wx_fmt=jpeg

大多数XEN和KVM性能基准测试表明,XEN比KVM拥有更好的处理性能。



3、总结




当然,在如今,两种虚拟化的边界也越来越模糊,选择适合自己的才是最重要的。而作为世界最大的云计算厂商AWS从诞生以来一直是XEN的拥护者,然后近几年也开始接入KVM,开始两者融合,为用户提供所需的服务。

640?wx_fmt=jpeg 640?wx_fmt=jpeg


而作为国内最大的云厂商阿里云,目前在基本已经KVM虚拟化方案了。

毫无疑问,KVM拥有更好的生态,更多的开源支持。而XEN诞生时间较长,也是目前最成熟的虚拟化技术。

但是未来,究竟是XEN夺得先机,还是KVM更胜一筹?

让我们拭目以待。


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • VMware竟然出了一款防火墙

  • OpenStack网络的下一步原来这么走 | 技术头条

  • 你的 AI 老师已上岗

  • 技术头条

  • 助力 Android 抗衡 iOS,华为发布方舟编译器!

  • 程序员的黑砖窑,东南亚博彩骗局详解

  • 售价910元!周志华等人英文新书《演化学习》出炉!


640?wx_fmt=png真香,朕在看了!

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

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

相关文章

gradle下载及配置

下载:https://gradle.org/install/#manually 参考链接:https://www.cnblogs.com/linkstar/p/7899191.html 配置: 新建系统变量: GRADLE_HOME D:\Program Files\gradle-5.2.1编辑path,添加全局变量: ;%GRADLE_HOME%\…

qt自定义含有拖动功能的窗口在点击窗口的下拉列表时窗口移动

提要 自定义的弹出窗口,窗口可以实现按下鼠标拖动,鼠标释放停止拖动,窗口种含有子控件,下拉列表,在点击下拉列表时窗口移动。 解决方法 因为点击下拉列表的时候,触发了窗口的移动事件,所以添…

数字化转型2.0落地的正确姿势 | 人物志

戳蓝字“CSDN云计算”关注我们哦!人物志:观云、盘点、对话英雄。以云计算风云人物为核心,聚焦个人成长、技术创新、产业发展,还原真实与鲜活!如今,企业数字化转型已经进入2.0时代,数字化转型2.0…

新华三首发数字大脑计划;微软进军物联网领域?说好的三星折叠屏发布会,就这样不开了?Google 发布小型芯片 Jacquard...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 波音首席执行官“声明安全”…

OpenGL 图像白平衡色温

目录 一.OpenGL 图像白平衡色温 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 图像白平衡色温 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenG…

Linux6、7 系列 安装、卸载mysql

Linux环境下载mysql: 点击链接: https://blog.csdn.net/weixin_40816738/article/details/90111456 一、安装环境依赖: yum install -y cmake make gcc gcc-c libaio ncurses ncurses-devel二、安装流程 1、软件解压2、添加系统mysql组和m…

Kafka精华问答 | Kafka的主要应用场景有哪些?​

Kafka是最初由Linkedin公司开发,具有高性能、持久化、多副本备份、横向扩展能力。今天,我们就看看看关于Kafka的精华问答吧。1:Q:什么是Kafka?A:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写…

强推!十大顶级大数据可视化工具 | 程序员硬核评测

戳蓝字“CSDN云计算”关注我们哦!程序员硬核评测:客观、高效、不说软话。无论是技术质量、性能水平,还是工具筛选,一测便知!编译作者:风车云马前言Salesforce公司的一项调查显示:53%的员工要经常…

代码版本管理 GitLab介绍

一、前言 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。 它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的…

国内首款全国产固态硬盘控制芯片发布

4月22日,国科微与龙芯中科战略合作签约暨国内首款全国产固态硬盘控制芯片发布仪式在北京人民大会堂举行。双方将建立长期稳定的业务合作伙伴关系,携手打造关键信息基础设施国产化生态。作为首个战略合作成果,国科微发布全新的GK2302系列芯片&…

使用gitlab初次上传代码

提要 项目开发中需要使用gitlab来管理代码,将自己开发的模块上传到gitlab,第一次使用这个代码管理仓库,记录一下。 方法 1.首先注册gitlab的账号。这个在百度上搜一下gitlab的官网,进去后首页就是注册及登陆页面,没有账号的先注…

云数据库精华问答 | 现有数据库优化到云环境有什么好处​?

云数据库可以实现按需付费、按需扩展、高可用性以及存储整合等优势。我们就看看看关于云数据库的精华问答吧。1:Q:什么是云数据库?A:云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性…

上传更新的代码到gitlab

提要 项目开发中已经初次上传代码到gitlab上,那么后面在本地修改了代码之后怎么上传,本文作以说明。 方法 首先说明一点,若你本地代码要上传的代码在你之前创建的本地仓库之外,那么你需要将要上传的代码拷贝到本地仓库中&#…

华为2019年第一季度业绩曝光;联想and谷歌加入英特尔新晋云计划;即特斯拉起火,蔚来ES8也维修起了火...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 亚马逊仓库(图片…

怎么从gitlab上下载别人的代码

提要 当需要从gitlab上下载别人的代码时,这里简述一下如何操作。 方法 按如下的步骤来实现: 1.在自己的电脑脑上新建一个空文件夹,文件夹的名称自己取。 2.在新建的文件夹上右键,选择git bash here菜单,弹出一个命令…

集群概述

一、什么是集群 1. 集群概念2.集群的特点3. 集群的两大能力4. 集群与分布式的区别 1. 集群概念 ①集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。②在某种意义上,他们可以被看作是一台计算机。集…

在这座智慧岛上 看华为的坚定与“野心”

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!在ICT这个江湖里,不乏拼搏向上的企业,但是耐得住性子、扛得住诱惑&#xf…

深入浅出Docker 镜像 | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作为云计算的当红明星Docker 来势汹汹,它就像一场森林大火,烧到了我们中间…

一分钟弄懂什么是分布式和微服务

微服务是架构设计方式,分布式是系统部署方式,两者概念不同 一、微服务 1、简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。 2、这个服务可以单独部署运行,服务之间可以通过RPC来相互交互…

Centos7 Docker镜像操作_入门试炼02

文章目录一、镜像操作常用命令二、镜像基础操作2.1. 删除所有镜像2.2. 列出镜像2.3. 搜索镜像2.4. 拉取镜像2.5. 查看所有镜像2.6. 镜像加速器2.7. 删除指定镜像2.8. 列出所有镜像ID2.9. 删除所有镜像一、镜像操作常用命令 说明命令列出docker下的所有镜像docker images列出所…