虚拟化的目的:是为了提高资源的利用率,提高管理的便携性,是云计算的底层基础。

虚拟化的实现:是将底层的物理硬件都抽象成各种逻辑资源,也就是资源池化(虚拟化),然后再在这些逻辑资源之上,建立虚拟机操作系统。

虚拟化需要解决的一个大问题就是,如何感知内核模式,即:现有的系统是这样的,操作系统运行在内核态中,用户程序运行在用户态中,当用户程序需要执行内核态功能(比如IO操作)的时候,会被系统捕捉,并由内核执行并返回。然而,在虚拟化中,如果不更改操作系统代码,则虚拟机操作系统系统也运行在内核态中,这样就会产生冲突,因为这时候宿主系统和虚拟系统内核同时运行在内核态中,这就会出问题。所以,虚拟化的重要的一步就在于,如何截获虚拟机命令对物理硬件的访问(内核态),并且将其重定向到逻辑资源池中。基于此又有两种不同的方式

  1. 基于软件的方法
    比如VMware workstation,它监控虚拟机操作系统的指令,并将虚拟机中的内核态命令截取,并转化为软件调用来实现该功能。
    另外一种就是著名的Qemu,它通过软件来仿真每条指令的取指令,解码指令,和执行指令,虚拟机操作系统的所有指令都是用软件模拟的,这种方式的性能较低。

  2. 基于硬件的方法
    就是依靠物理平台的本身提供对特殊指令的截获或者重定向的硬件支持,从而提升性能,

为了能在一台物理设备上能够安装多个虚拟机操作系统,目前已经出现了多种技术,比如Qemu,xen,kvm,vmware 等多种技术。

Qemu:用软件的形式,模拟一个虚拟机操作系统的所有设备。
Xen: 刚开始支持半虚拟化,后来支持全虚拟化,Xen是一个直接在硬件上运行的管理程序,也就是说Xen相当于宿主操作系统,负责虚拟机管理和资源的调度。
Kvm: 即内核虚拟机,它基于Linux 内核和支持虚拟化扩展的X86硬件,是一种全虚拟化方法。在KVM中,一个虚拟机实例表现为一个Linux 进程,所以,可以很好的利用Linux 成熟的进程调度方法,同时KVM还利用了QEMU的虚拟化来实现IO.
等等。。。

有如此众多的解决方法,而各个方案的管理方式,命令,工具又各不相同,学习和掌握这些不能的工具又费时又低效,所以一种能够用一个统一的方法来管理这些虚拟机的工具就应运而生,那就是我们要学习的Libvirt。

Libvirt的位置:提供一种Hpyervisor不可知的 API 来安全管理运行于主机上的客户操作系统。它为受支持的虚拟机监控程序实现的常用功能提供通用的 API。libvirt 起初是专门为 Xen 设计的一种管理 API,后来被扩展为可支持多个虚拟机监控程序,它基于驱动程序的架构,该架构允许一种通用的 API 以通用方式为大量潜在的虚拟机监控程序提供服务。

个人总结的虚拟化系统图如图1所示:

在KVM和XEN中,KVM+Linux Kernel 的功能与Xen Hpyervisor +Domian 0 的功能相当,KVM利用了Linux 内核的一些成熟的特性,并且可以受益于Linux 内核的发展。而Domain 0 运行的是修改过的linux 系统,其它虚拟机的IO部分,主要和Domain 0 进行通信。Xen的半虚拟化方式,需要修改操作系统的代码,所以它也和KVM一样,只能运行受限的操作系统。

纠正的一些错误理解:
1. 虚拟机包括虚拟的硬件和虚拟的操作系统,而不仅仅是虚拟操作系统而已,以前一直错误的认为虚拟机只是一个虚拟操作系统(VMware workstation)。
2. Libvirt 作为一个函数库API存在,它没有专门的物理硬件来运行它,而是宿主在Domain 0 或者Linux 系统中。

【云计算虚拟化】虚拟化学习认识总结相关推荐

  1. 网络虚拟化NSX学习笔记

    网络虚拟化NSX学习 第一章VMware NSX 6.2简介 1.1 数据中心演化趋势 软件定义数据中心SDDC(私有云) 1.演化趋势 1)Apple Store式的IT服务 2)期望自服务:web ...

  2. 云计算之虚拟化技术概述(KVM/Xen/Hyper-V/VMware)

    文章目录 虚拟化技术 什么是虚拟化 服务器虚拟化 cpu的虚拟化 内存虚拟化管理 硬盘的虚拟化 网络虚拟化 IO虚拟化 Intel虚拟化技术 主流的虚拟化技术 虚拟化技术对比 KVM Xen Hype ...

  3. 虚拟化精华问答 | 为什么云计算需要虚拟化?

    虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源.这些 ...

  4. 云计算与虚拟化概述-你不得不知的云计算与虚拟化基础知识

    本文主要灵感来自老男孩架构师班-赵班长实战讲解KVM,以及speedy Cloud云公司CEO董伟(董总)云计算与虚拟化讲座,综合整理而来.--为表示感谢--特整理此文分享给大家. 1.1云计算概述 ...

  5. 云计算和虚拟化的课程介绍

    云计算和虚拟化的课程介绍 H3C:商业化平台,24台 虚拟化的实现: 容器虚拟化* 重点 学习通(理论),易优云(实践) 云计算的概念 认识云计算 <变化的世界> 一.什么是云计算 ? 云 ...

  6. 走进云计算与虚拟化的底层核心

    本文讲的是走进云计算与虚拟化的底层核心,2012年3月在国务院政府工作报告附录部分中,政府对云计算给出了官方的解释,体现了政府对云计算产业的高度重视和美好愿景.云计算在工作报告中是这样定义的:&quo ...

  7. 漫谈云计算、虚拟化、容器化--云平台技术栈05

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的虚拟化! 什么是云计算? 1.1 云计算概念 云计算是最近几年才兴起的概念,但是这样的需求其实早都有了,现阶段广为接受的是美国国家 ...

  8. 关于云计算存储虚拟化技术三个层次上的实现

    关于云计算存储虚拟化技术三个层次上的实现 随着企业的成长,业务和应用不断增加,IT 系统规模日益庞大,带来高能耗.数据中心空间紧张.IT 系统总体拥有成本过高等问题;而现有服务器.存储系统等设备又没有 ...

  9. 云计算和虚拟化选修课程报告

    声明:本报告是云计算和虚拟化选修课的课程报告,老师要求比较低,只需要谈谈自己对云计算相关的见解.所以本报告确实写得比较简陋,仅做参考哈! 概要: 云计算作为当前IT行业的热门技术,它一直是社会里的热点 ...

  10. OpenStack云计算与虚拟化—架构篇

    云计算与虚拟化 云计算与虚拟化这个概念是什么时候出现在我们脑海里的?一开始的亚马逊云服务再到阿里巴巴推出的阿里云,紧接着各大厂商争先恐后的推出自己的公共云平台,腾讯云,华为云,微软云等等,那么究竟什么 ...

最新文章

  1. kali linux 内核,关于kali编译安装内核和多内核保留的问题求解答。
  2. Java troubleshooting guide
  3. 一个实现生产和消费的例子(并且使用了接口和反射技术,动态调用方法)小框架...
  4. SecureCRT退出全屏的方法
  5. Dalvik分析(二)
  6. 支付宝php 验签 解密,支付宝敏感信息解密 - osc_fcq4wwqo的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. c语言函数游戏,C语言做游戏常用到一些函数大全 2011.doc
  8. 编曲技巧:使用FL Studio来制作停顿的效果
  9. 卸载 Navicat!事实已证明,正版客户端,它更牛逼……
  10. VMware vSphere 6.7 U3b 下载
  11. 微信缓存文件要这样处理,分分钟多出几个G!
  12. 无源贴片晶振四角引脚_有源晶振四引脚详细用法
  13. 如何查看某台计算机的IP地址 物理地址,显示ip:如何查看电脑ip地址和物理地址(地址)? _ 惠州SEO...
  14. Tebleau-四象限图
  15. 还可以这么玩:盘点iOS 11中Siri的12项新功能
  16. scrollView无限滚动,横屏和竖屏
  17. 不会PS怎么抠图?这4个在线抠图工具,助你一键抠图
  18. UE5笔记【六】流明引擎Lumen简介;Lumen处理发光物体。
  19. windows桌面远程连接(以XP连windows7为例)
  20. 高性能MySQL -- 查询性能优化

热门文章

  1. 计算机平面设计在线大专,国家开放大学电大专科《计算机平面设计(1)》网络课形考任务1答案.doc...
  2. 在EXCEL中添加水印
  3. scrapy框架学习记录(2)
  4. ubuntu有线网卡RTL8111/8168/8411安装驱动
  5. 湖北省黄石市谷歌高清卫星地图下载
  6. 四位全加器的设计与仿真
  7. 最佳 React UI 组件库,前端开发必备!
  8. 携程2016研发工程师笔试题
  9. c语言ni保存成tdms文件,使用C++读写TDM以及TDMS文件
  10. 澳洲纽卡斯尓大学计算机排名,澳洲纽卡斯尔大学计算机科学computer science专业排名第251~300名(2020THE泰晤士高等教育世界大学排名)...