首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐
2025年5月29日 星期四 7:34pm

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

  • 24-03-05 02:21
  • 3278
  • 12142
blog.csdn.net

戳蓝字“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 真香,朕在看了!
注:本文转载自blog.csdn.net的CSDN云计算的文章"https://blog.csdn.net/FL63Zv9Zou86950w/article/details/89443543"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top