Openstack平台虚拟化

虚拟化的概念

虚拟化是指对计算机资源的抽象和模拟,计算机资源是指cpu、内存、硬盘、网络,其中虚拟和抽象实现的方法有平台虚拟化、资源虚拟化(SDN针对网络做的虚拟化)、应用程序虚拟化(应用程序与操作系统解耦和,无需本地安装应用程序,通过web端就可以运行应用程序)。虚拟化的根本目的是实现资源的充分调用,云计算的底层技术依靠于虚拟化。

平台虚拟化

  1. 全虚拟化
  2. 半虚拟化
  3. 硬件辅助虚拟化

符合虚拟化架构的三个充分条件

  • 效率性
    客户机的指令应该由硬件直接执行而无虚拟化管理程序参与。
  • 资源控制
    虚拟化管理程序(VMM)对系统资源有完全的控制能力和管理权限,包括资源的分配、监控和回收。
  • 等价性
    一个运行于虚拟机上的程序,其行为应与直接运行于物理机上的同程序的行为基本一致,只允许细微的差异,比如在系统时间方面。

VMM 虚拟机监控器

运行在物理服务器和操作系统之间的中间软件层。允许多个操作系统和应用共享一套基础的物理硬件,它可以协调访问--- 服务器上的所有物理设备和虚拟机。

CPU虚拟化

目的是GuestOS里的指令能够正常执行(资源控制),然后还要保证性能和效率(效率性),尽可能的接近物理机(等价性)。
X86支持虚拟化的技术变革

  • CPU全虚拟化是指虚拟机模拟了完整的底层硬件,使得为原始硬件设计的操作系统或其他系统软件完全不做任何修改就可以在虚拟机中运行了。特权级(在x86的cpu中存在四个特权级指令rang0-rang3,其中rang0执行特权敏感指令,普通进程和非特权指令运行在rang3中,rang1和rang2运行其他的驱动程序,通过特权级压缩和二进制翻译,可将指令线降一级(特权级压缩的功能)然后在经过二进制翻译模拟成rang0进行执行,其实是将不能在下86中虚拟化运行的指令通过二进制翻译转化为能在虚拟机下运行的指令,vmm在rang0中运行。rang0运行在操作系统的kernel。)压缩和二进制翻译(BT)技术去实现。
  • CPU半虚拟化,同样是为了解决x86做虚拟机中存在的指令越级的问题,对虚拟机的操作系统进行内核改造,虚拟机有自己特殊的指令,然后和vmm一起配合工作。这项技术的性能更好,也更能接近物理机的速度,通常损耗2%,最多8%(理论值),最为典型的在libvirt下的xen,但其也具有缺点无法虚拟Windows系统(Windows系统内核是闭源的),实际上是通过修改操作系统内核代码,使一些特殊的指令也可以在rang1中运行,避免了捕获、翻译、模拟的过程,性能也就打打提高了。
  • CPU硬件辅助虚拟化,是对cpu指令做了改造,让cpu从根本上支持虚拟化,其中AMD的叫做AMD-v,而intel的叫VT-x。具体查看cpu是否支持虚拟化的命令为:
    cat/proc/cpuinfo | grep vmx #在amd中搜索是svm
    补:vt-x技术创建vmx分为root模式和non-root模式,其中vmm运行在root,而guestOS运行在non-root下,当guestOS有特殊指令时,就可通过指令改造传递给vmm。 它的典型代表就是kvm,也是应用最多的cpu虚拟化技术

物理内存的划分

  • 块和块号
    在操作系统中,物理内存会被划分成许多同样大小的连续部分。被划分的每一部分就叫做块,每一块都有块号,一般按照自零自增排序。
  • 页和页号
    页是指分页存储管理,它的意思是将用户作业(用户要求计算机系统所做工作的总称)的逻辑地址划分为一系列同等大小的部分,也有自己的编号为页号。
  • 页表
    页号和块号形成的对应关系生成的一张表。

Mem虚拟化

guestOS和宿主机用的是相同的物理内存,要做到相互不影响

  • 内存全虚拟化
    借助于影子页表技术
  • 内存半虚拟化
    借助于页表写入法
  • 内存硬件辅助虚拟化
    借助于ept(扩展页表)技术

I/O虚拟化

为了让虚拟机访问到他们所需的I/O资源

  • I/O全虚拟化
    通过模拟IO设备来实现,模拟出的IO设备在虚拟机组中并不知道它是虚拟出来的,虚拟出来的设备与底层硬件无关。
  • I/O半虚拟化
    采用前端驱动加后端驱动架构的,该架构主要依靠IO共享环机制,既前端驱动发送事件请求到IO共享环,同时也将事件写入授权表,接下来通过vmm事件通道告诉后端驱动,后端驱动对共享环中前端驱动发送的事件进行分析,然后再从授权表中获取具体的数据,接着后端驱动就会去通知真实的驱动,事件完成后再由真实驱动告知后端驱动,后端驱动在通过事件通道告知前端驱动。
  • I/O硬件辅助虚拟化
    IO硬件虚拟化就是为了让虚拟机直接使用物理设备,常用技术有因特尔的vt-d,通过一个专用的内存区域,让IO设备和虚拟机可以独立访问。
    为什么会有这么多的虚拟方式呢,感谢x86吧~~
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • ****1. 为什么需要 CPU 虚拟化**** X86 操作系统是设计在直接运行在裸硬件设备上的,因此它们自动认...
    51reboot阅读 4,192评论 0 8
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,244评论 1 22
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,885评论 3 34
  • 二月二 龙抬头 愿大家都有个好兆头~
    大悦儿儿阅读 229评论 2 12
  • 回老家时,大伯问,你们那边也打麻将多吗?
    勇敢追坚持爱阅读 151评论 0 0