当前位置:文档之家› 虚拟化技术原理精要

虚拟化技术原理精要

虚拟化技术原理精要
虚拟化技术原理精要

虚拟化技术原理

精要CurrentVersion: 1.0

Date: 2011-02-24

Author: Jack Tan

版本历史

版本状态作 者参与者起止日期备注

0.1Jack Tan09-08-13完成草稿

1.0Jack Tan11-02-24修订

1. 概述

1.1 虚拟化

虚拟化(Virtualization) 是资源的逻辑表示,其不受物理限制的约束。

虚拟化技术的实现形式是在系统中加入一个虚拟化层,将下层的资源抽象成另一形式的资源,提供给上层使用。

本质上,虚拟化就是由位于下层的软件模块,通过向上一层软件模块提供一个与它原先所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层软件可以直接运行在虚拟环境上。

通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成一份。

虚拟化中的两个重要的定语名词:宿主(Host) 和客户(Guest)

Host 用在物理资源前,Guest 则用于虚拟出来的资源前。如将一个物理机器虚拟成多个虚拟机器,则称物理机为Host Machine,运行其上的OS 为Host OS;称多个虚拟机为Guest Machine,运行其上的OS 为Guest OS

1.2 虚拟机

虚拟机(Virtual Machine) 是由虚拟化层提供的高效、独立的虚拟计算机系统,其皆拥有自己的虚拟硬件(CPU,内存,I/O 设备)。通过虚拟化层的模拟,虚拟机在上层软件看来,其就是一个真实的机器。这个虚拟化层一般称为虚拟机监控器(Virtual Machine Monitor, VMM)

1974 年,Popek 和Goldberg 在论文"Formal Requirements for Virtualizable Third Generation Architectures" 中将VM 定义为物理机的一种高效、隔离的复制,且指出VM 的三个特征:

I. 同质(Equivalence)

即VM 的运行环境和物理机的环境在本质上是相同的,表现上可以有一些差异。如CPU 的ISA 必须一致,CPU core 的个数可以不同。

II. 高效(Efficiency)

即VM 的性能必须接近物理机。因此,常见的模拟器(boches, simics ...) 就不能称为VM 为达此目的,软件在VM 上运行时,大多数指令要直接在硬件上执行,只有少量指令需要VMM 的模拟或处理。

III. 资源受控(Resource control)

即VMM 对物理机的所有资源有绝对的控制力

1.3 Full virtualization and Paravirtualization

Full virtualization: 所抽象的VM 具有完全的物理机特性,OS 在其上运行不需要任何修改。典型的有VMWare, Virtualbox, Virtual PC, KVM-x86 ...)

Paravirtualization: 需OS 协助的虚拟化,在其上运行的OS 需要修改。起初采用主要是

为了解决x86 体系结构上完全虚拟化的困难(没有Intel VT & AMD-V 硬件虚拟化支持前;且不屑于动态扫描指令修补之方法的性能),后来则主要是为了提高虚拟化的效率。典型的有Xen, KVM-PowerPC 等。下表是市面上流行的虚拟化技术的一个概况:

数据来自"VIRTUALIZATION WITH LOGICAL DOMAINS AND SUN COOLTHREADS SERVERS"

1.4 硬件虚拟化概况

1.4.1 x86

鉴于x86 本身完全虚拟化的困难以及虚拟化性能的考虑,Intel 在2006 年是引入VT (VT-x for IA32, VT-i for Itanium)来解决之,AMD 以AMD-V 紧随之。

其后Intel 又引入VT-d (AMD 为IOMMU) 对x86 平台上的I/O 虚拟化作了增强。

1.4.2 PowerPC

2001 年IBM 在Power4 中加入虚拟化支持,并在2004 年的Power5 中推出增强的虚拟化支持,且在2009 年发布的Power ISA v2.06 中规范化。Freescale 亦在e500mc 中实现PowerISA v2.06 的虚拟化增强。

1.4.3 SPARC

2005 年SUN 即在SPARC 中引入虚拟化支持。

2. 处理器虚拟化原理精要

VMM 对物理资源的虚拟可以划分为三个部分:处理器虚拟化、内存虚拟化和I/O 设备虚拟化。其中以处理器的虚拟化最为关键。

2.1 体系结构背景

简而言之,处理器呈现给软件的接口就是一堆的指令(指令集)和一堆的寄存器(含用于通用运算的寄存器和用于控制处理器行为的状态和控制寄存器)。而I/O 设备呈现给软件的接口也就是一堆的状态和控制寄存器(有些设备亦有内部存储)。这些都是系统的资源,其中影响处理器和设备状态和行为的寄存器称为关键资源或特权资源,如x86 之CR0 ~

CR4,MIPS 的CP0 寄存器,PowerPC 的Privileged SPR(SPR 编号第5 位为1)。

可以读写系统关键资源的指令叫做敏感指令,如x86 的lgdt/sgdt/lidt/sidt/in/out,MIPS 的mtc0/mfc0,PowerPC 的mtmsr/mfmsr,SPARC 的rdpr/wrpr 等,此类又可称为控制敏感指令。

还有一类行为敏感指令,该类指令的执行结果依赖于系统的状态(如x86 之popf)

现代计算机体系结构一般至少有两个特权级,(即用户态和核心态,未加虚拟化扩展的SPARC和PowerPC 即是,MIPS 有三个特权级(外加一个Supervisor 态,没什么用),而x86 有四个特权级(Ring0 ~ Ring3))用来分隔系统软件和应用软件。

决大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行,如果执行特权指令时处理器的状态不在内核态,通常会引发一个异常而交由系统软件来处理这个非法访问(陷入)。

“”

少数敏感指令是非特权指令,如x86 的sgdt/sidt 等,非特权指令可以在用户态读取处理器的状态,如sgdt/sidt 则可在用户态(Ring3) 将GDTR 和IDTR 的值读取到通用寄存器

中。

对于一般RISC 处理器,如MIPS,PowerPC 以及SPARC,敏感指令肯定是特权指令,唯x86 例外。

正是为了这个例外,造就了后来x86 上的虚拟化技术的江湖纷争。先是以VMware 为代表的Full virtualization 派对无需修改直接运行理念的偏执,到后来Xen 适当修改Guest OS 后获得极佳的性能,以至让Para virtualization 大热,再到后来Intel 和AMD 卷入战火,从硬件上扩展,一来解决传统x86 虚拟化的困难,二来为了性能的提升;到最后硬件扩展皆为Full 派和Para 派所采用,自此Para 派的性能优势再不那么明显,Full 派的无需修改直接运行的友好性渐占上风。

2.2 经典的虚拟化方法

经典的虚拟化方法主要使用特权解除(Privilege deprivileging) “”

和陷入-模拟(Trap-

“”

and-Emulation) 的方式。即:将Guest OS 运行在非特权级(特权解除),而将VMM 运行于最高特权级(完全控制系统资源)。解除了Guest OS 的特权后,Guest OS 的大部分指令仍可以在硬件上直接运行,只有当执行到特权指令时,才会陷入到VMM 模拟执行(陷入-模拟)。其早期的代表系统是IBM VM/370

由此可引入虚拟化对体系结构(ISA) 的要求:

A. 须支持多个特权级

此亦是现代操作系统的要求

B. 非敏感指令的执行结果不依赖于CPU 的特权级

陷入-模拟的本质是保证可能影响VMM 正确运行的指令由VMM 模拟执行,大部分的“”

非敏感指令还是照常运行。

C. CPU 需支持一种保护机制,如MMU,可将物理系统和其它VM 与当前活动的VM 隔离

以上三个条件,现代体系结构一般都满足,唯有最后一个也是最重要的条件:

D. 敏感指令需皆为特权指令

此为保证敏感指令在VM 上执行时,能陷入到VMM.

因控制敏感指令的执行可能改变系统(处理器和设备)的状态,为保证VMM 对资源的绝对控制力维护VM 的正常运行,这类指令的执行需要陷入而将控制权转移到VMM,并由其模拟处理之。

行为敏感指令的执行结果依赖于CPU 的最高特权级,而Guest OS 运行于非最高特权级,为保证其结果正确,亦需要陷入VMM,并由其模拟之。

2.3 x86 ISA 分析

x86 ISA 中有十多条敏感指令不是特权指令,因此x86 无法使用经典的虚拟化技术完全虚拟化。

如:sgdt/sidt/sldt 可以在用户态读取特权寄存器GDTR/IDTR/LDTR 的值;popf/pushf 在Ring0 和Ring3 的执行结果不同;其它的还有smsw, lar, lsl, verr, verw, pop, push, call, jmp, int n, ret, str, move

关于这些指令的详细分析可以参见:"Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor"

2.4 x86 虚拟化方法

鉴于x86 指令集本身的局限,长期以来对x86 的虚拟化实现大致分为两派,即以VMWare 为代表的Full virtualization 派和以Xen 为代表的Para virtualization 派。两

派的分歧主要在对非特权敏感指令的处理上,Full 派采用的是动态的方法,即:运行时监测,捕捉后在VMM 中模拟;而Para 派则主动进攻,将所有用到的非特权敏感指令全部替换,

上下文切换> —

模拟> 上下文切换过程,获得了大幅的

这样就少掉了大量的陷入> —

性能提升,但缺点也很明显。后来x86 的主要厂商Intel 和AMD 也卷入战火,且都引入

各自的硬件虚拟化技术来扩展。

2.4.1 全虚拟化派 (Full virtualization)

秉承无需修改直接运行的理念,该派一直在对运行时监测,捕捉后模拟的过程,进行偏执

“”

的优化。该派内部之实现又有些差别,其有VMWare 为代表的BT 和以SUN 为代表的Scan-and-Patch

2.4.1.1 基于二进制翻译(BT) 的全虚拟化(Full virtualization)

其主要思想是在执行时将VM 上执行的Guest OS 之指令,翻译成x86 ISA 的一个子集,其中的敏感指令被替换成陷入指令。翻译过程与指令执行交叉进行。不含敏感指令的用户态程序可以不经翻译直接执行。该技术为VMWare Workstation,VMWare ESX Server 早期版本,Virtual PC 以及QEMU 所采用。

2.4.1.2基于扫描与修补(Scan-and-Patch) 的全虚拟化(Full virtualization)

主要思想:

(1) VMM 会在VM 运行每块指令之前对其扫描,查找敏感指令

(2) 补丁指令块会在VMM 中动态生成,通常每一个需要修补的指令会对应一块补丁指令

(3) 敏感指令被替换成一个外跳转,从VM 跳转到VMM,在VMM 中执行动态生成的补丁

指令块

(4) 当补丁指令块执行完后,执行流再跳转回VM 的下一条指令处继续执行

SUN 之Virtualbox 即采用该技术。

2.4.2 OS 协助的类虚拟化派(Paravirtualization)

其基本思想是通过修改Guest OS 的代码,将含有敏感指令的操作,替换为对VMM 的超调用(Hypercall,类似OS 的系统调用,可将控制权转移到VMM)。该技术的优势在于VM 的性能能接近于物理机,缺点在于需要修改Guest OS.

该技术因Xen 项目而广为人知。

目前嵌入式领域的虚拟化,考虑到性能的因素,亦会在可以使用经典虚拟化方法实现全虚拟的体系结构上采用类虚拟化技术。

2.4.3 硬件协助的虚拟化

鉴于x86 在虚拟化上的缺陷,Intel 和AMD 都引入自己的硬件虚拟化技术来协助完成虚拟化。

Intel VT-x (Virtualization Technology for x86)

Intel VT-i (Virtualization Technology for Itanium)

Intel VT-d (Virtualization Technology for Directed I/O)

AMD-V (AMD Virtualization)

其基本思想就是引入新的处理器运行模式和新的指令,使得VMM 和Guest OS 运行于不同的模式下,Guest OS 运行于受控模式,原来的一些敏感指令在受控模式下全部会陷入,这样就解决了部分非特权的敏感指令的陷入模拟难题,而且模式切换时上下文的VMM —

保存恢复由硬件来完成,这样就大大提高了陷入模拟时上下文切换的效率。

该技术的引入使x86 可以很容易地实现完全虚拟化。其皆被双方所采用,如:KVM-

x86,新版VMWare ESX Server 3,Xen 3.0

2.5 其它体系结构分析

其它RISC 之体系结构,如MIPS, PowerPC, SPARC 等,似乎不存在有敏感指令为非特权指令的情形。即它们应不存在虚拟化的困难。但由于设计理念不一样,RISC 不太可能(至少目前我还没看到)在硬件上实现像x86 那样复杂的虚拟化扩张,因此为了性能的考虑,一样皆采用Paravirtualization,在嵌入式领域尤其如此。

至于硬件上的扩展,概况如下:

2001 年IBM 在Power4 中加入虚拟化支持,并在2004 年的Power5 中推出增强的虚拟化支持,且在2009 年发布的Power ISA v2.06 中规范化。Freescale 亦在e500mc 中实现PowerISA v2.06 的虚拟化增强。

2005 年SUN 即在SPARC 中引入虚拟化支持。

MIPS 至今未见动作。

2.6 其它体系所采用之虚拟化方法

目前可见的非x86 体系的虚拟化产品,似乎都倾向于使用类虚拟化的技术手段。

3. 内存虚拟化原理精要

3.1 概述

因为VMM (Virtual Machine Monitor) 掌控有所有系统资源,因此VMM 握有整个内存资源,其负责页式内存管理,维护虚拟地址到机器地址的映射关系。

因Guest OS 本身亦有页式内存管理机制,则有VMM 的整个系统就比正常系统多了一层映射:

A. 虚拟地址(VA),指Guest OS 提供给其应用程序使用的线性地址空间

B. 物理地址(PA),经VMM 抽象的、虚拟机看到的伪物理地址

C. 机器地址(MA) ,真实的机器地址,即地址总线上出现的地址信号

映射关系如下:

Guest OS: PA = f(VA)

VMM: MA = g(PA)

VMM 维护一套页表,负责PA 到MA 的映射。

Guest OS 维护一套页表,负责VA 到PA 的映射。

实际运行时,用户程序访问VA1,经Guest OS 的页表转换得到PA1,再由VMM 介入,使用VMM 的页表将PA1 转换为MA1.

3.2 页表虚拟化基本思想

普通MMU 只能完成一次虚拟地址到物理地址的映射,在虚拟机环境下,经过MMU 转换所得到的物理地址并不是真正的机器地址。若需得到真正的机器地址,必须由VMM 介入,“”

再经过一次映射才能得到总线上使用的机器地址。

显然,如果虚拟机的每个内存访问都需要VMM 介入,并由软件模拟地址转换的效率是很低下的,几乎不具有实际可用性,为实现虚拟地址到机器地址的高效转换,现普遍采用的思想是:

由VMM 根据映射f 和g 生成复合的映射fg,并直接将这个映射关系写入MMU

其可行性在于:

VMM 维护着映射g

VMM 能够访问Guest OS 的内存,因此可以直接查询Guest OS 的页表,从而获得映射f 计算复合映射fg 能够在恰当的时候高效地进行

3.3 页表虚拟化实现

目前采用的页表虚拟化方法主要有两个:MMU 类虚拟化(MMU Paravirtualization) 和影子页表

3.3.1 MMU Paravirtualization

该技术为Xen 所采用。其基本原理是:当Guest OS 创建一个新的页表时,会从它所维护的空闲内存中分配一个页面,并向Xen 注册该页面,Xen 会剥夺Guest OS 对该页表的写权限,之后Guest OS 对该页表的写操作都会陷入到Xen 加以验证和转换。Xen 会检查页表中的每一项,确保他们只映射了属于该虚拟机的机器页面,而且不得包含对页表页面的可写映射。后,Xen 会根据自己所维护的映射关系g,将页表项中的物理地址替换为相应的机器地址,最后再把修改过的页表载入MMU。如此,MMU 就可以根据修改过页表直接完成虚拟地址到机器地址的转换。

3.3.2影子页表

类虚拟化需要修改Guest OS。对全虚拟化,则使用影子页表(Shadow Page Table) 技术来实现。

VMWare Workstation, VMWare ESX Server 和KVM for x86 都是使用该技术。

与类虚拟化类似,影子页表技术也是采用将复合映射fg 直接写入MMU 的思路。不同在于

类虚拟化技术直接将fg 更新到Guest OS 的页表项中,而影子页表则是VMM 为Guest

的每个页表维护一个影子页表,并将合成后的映射关系写入到影子中,Guest OS OS ““”“

的页表内容则保持不变。最后VMM 将影子页表写入MMU

影子页表的实现挑战在于其时间和空间的开销很大。

时间:由于Guest OS 构造页表时不会主动通知VMM,VMM 必须等到Guest OS 发生缺页时通过分析缺页原因,再为其补全影子页表。

空间:VMM 需要支持多个虚拟机同时运行,而每个虚拟机的Guest OS 通常会为其上运行的每个进程都创建一套页表系统,因此影子页表的空间开销会随着进程数量的增多而迅速增大。

在时间开销和空间开销中做出权衡的方法是使用影子页表缓存(Shadow Page Table

Cache),即VMM 在内存中维护部分最近使用过的影子页表,只有当影子页表在缓存中找不到时,才构建一个新的,当前主要的全虚拟化都采用了影子页表缓存技术。

4. I/O 虚拟化原理精要

VMM 通过I/O 虚拟化来复用有限的外设资源,其通过截获Guest OS 对I/O 设备的访问请求,然后通过软件模拟真实的硬件。

软件通过I/O设备的一堆的状态寄存器、控制寄存器、中断(有些设备有内部存储)与其交互。

目前I/O 设备的虚拟化方式主要有三种:

设备接口完全模拟

前端/后端模拟

直接划分

4.1 设备接口完全模拟

即软件精确模拟与物理设备完全一样的接口,Guest OS 驱动无须修改就能驱动这个虚拟设备。

优点:没有额外的硬件开销,可重用现有驱动程序

缺点:为完成一次操作要涉及到多个寄存器的操作,使得VMM 要截获每个寄存器访问并进行相应的模拟,这就导致多次上下文切换;由于是软件模拟,性能较低。

4.2 前端/后端模拟

VMM 提供一个简化的驱动程序(后端, Back-End)

Guest OS 中的驱动程序为前端(Front-End, FE)

前端驱动将来自其他模块的请求通过与Guest OS 间的特殊通信机制直接发送给Guest

OS 的后端驱动,后端驱动在处理完请求后再发回通知给前端。

Xen 即采用该方法。

优点:基于事务的通信机制,能在很大程度上减少上下文切换开销;没有额外的硬件开销缺点:需要VMM 实现前端驱动;后端驱动容易成为瓶颈

4.3 直接划分

即直接将物理设备分配给某个Guest OS,由Guest OS 直接访问I/O 设备(不经VMM)目前与此相关的技术有IOMMU(Intel VT-d, PCI-SIG 之SR-IOV 等)

优点:重用已有驱动;直接访问减少了虚拟化开销;

缺点:需要购买较多额外硬件。

5. VMM 结构

5.1 概述

当前主流的VMM (Virtual Machine Monitor) 实现结构可以分为三类:

宿主模型(OS-hosted VMMs)

Hypervisor 模型(Hypervisor VMMs)

混合模型(Hybrid VMMs)

5.2 宿主模型

该结构的VMM,物理资源由Host OS (Windows, Linux etc.) 管理

实际的虚拟化功能由VMM 提供,其通常是Host OS 的独立内核模块(有的实现还含用户进程,如负责I/O 虚拟化的用户态设备模型)

VMM 通过调用Host OS 的服务来获得资源,实现CPU,内存和I/O 设备的虚拟化

VMM 创建出VM 后,通常将VM 作为Host OS 的一个进程参与调度

如上图所示,VMM 模块负责CPU 和内存虚拟化,由ULM 请求Host OS 设备驱动,实现I/O 设备的虚拟化。

优点:可以充分利用现有OS 的设备驱动,VMM 无需自己实现大量的设备驱动,轻松实现I/O 设备的虚拟化。

缺点:因资源受Host OS 控制,VMM 需调用Host OS 的服务来获取资源进行虚拟化,其效率和功能会受到一定影响。

采用该结构的VMM 有:VMware Workstation, VMWare Server (GSX), Virtual PC, Virtual Server, KVM(早期)

5.3 Hypervisor 模型

该结构中,VMM 可以看作一个为虚拟化而生的完整OS,掌控有所有资源(CPU,内存,I/O 设备)

VMM 承担管理资源的重任,其还需向上提供VM 用于运行Guest OS,因此VMM 还负责虚拟环境的创建和管理。

优点:因VMM 同时具有物理资源的管理功能和虚拟化功能,故虚拟化的效率会较高;安全性方面,VM 的安全只依赖于VMM 的安全

缺点:因VMM 完全拥有物理资源,因此,VMM 需要进行物理资源的管理,包括设备的驱动,而设备驱动的开发工作量是很大的,这对VMM 是个很大的挑战。

采用该结构的VMM 有:VMWare ESX Server, WindRiver Hypervisor, KVM(后期)

5.4 混合模型

该结构是上述两种模式的混合体,VMM 依然位于最底层,拥有所有物理资源,但VMM 会主动让出大部分I/O 设备的控制权,将它们交由一个运行在特权VM 上的特权OS 来控制。

VMM 只负责CPU 和内存的虚拟化,I/O 设备的虚拟化由VMM 和特权OS 共同完成:

服务器虚拟化基础知识

服务器虚拟化基础知识:如何虚拟化? 关于服务器虚拟化的概念,各个厂商有自己不同的定义,然而其核心思想是一致的,即它是一种方法,能够通过区分资源的优先次序并随时随地能将服务器资源分配给最需要它们的工作负载来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源 虚拟机(VM)是支持多操作系统并行运行在单个物理服务器上的一种系统,能够提供更加有效的底层硬件使用。在虚拟机中,中央处理器芯片从系统其它部分划分出一段存储区域,操作系统和应用程序运行在“保护模式”环境 虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,简单说就是一句话,虚拟出来的电脑,你干什么都行。现在说一下虚拟机的软件,主要是两中,Virtual PC 和VMware。软件的选择也是有门道滴,嘿嘿,简单来说,VPC的设置很简单,一路next就行了,VM设置相对麻烦一些,不过也不是麻烦很多,但是VM拥有更好的性能,可以说和真实的电脑性能完全一样,还可以用桥接的方式和现在的电脑互连^_^,可以研究的东西就更多了,呵呵

虚拟机概念详解 比较通俗的回答(适合没有电脑基础的朋友) 虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,简单说就是一句话,虚拟出来的电脑,你干什么都行。现在说一下虚拟机的软件,主要是两中,Virtual PC 和VMware。软件的选择也是有门道滴,嘿嘿,简单来说,VPC的设置很简单,一路next就行了,VM设置相对麻烦一些,不过也不是麻烦很多,但是VM拥有更好的性能,可以说和真实的电脑性能完全一样,还可以用桥接的方式和现在的电脑互连^_^,可以研究的东西就更多了,呵呵 比较专业的回答(适合有一点电脑基础的朋友) 在一台电脑上将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系统而互不干扰,这些“新”机器各自拥有自己独立的CMOS、硬盘和操作系统,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。在虚拟系统崩溃之后可直接删除不影响本

虚拟化的三大含义

虚拟化的三大含义 2012-01-06 虚拟化“简单的来说就是要突破过去的哲学两次转向,给我们业已”浇铸成型“的哲学底座注入一点新的东西。这是计算机、互联网技术深刻嵌入到人的社会生活各个层面之后,自然引发的哲学思考。 符号化 如何给业已“浇铸成型”哲学底座给予新鲜意义呢?这就引出了虚拟化的第一含义—符号化。从哲学的语言学转向之后,分析哲学作为一个主要的流派,在研究语言的构成、逻辑、语言与真实的关系等。人们希望语言能够比照化学,物理的原理,最好能够像元素周期表、化学反应式或者物理定律那样,将语言量化。有好多语言学家、逻辑学家甚至传媒学家都在试图找到一个公式,希望找到“表意”的最后配方。 人们对符号化显得无可奈何。人类从语言诞生到现在,一切都是符号。语言学的元规则就是表达,表达就是指认。在主体同一的笛卡尔模式下,你会发现,这个世界姿态万千,在日常生活中总会产生“理越辩越明”“理不讲不清”的情结和幻觉。 但是真实的生活经验告诉我们,“理越辩越明”“理不讲不清”是靠不住的,那种所谓的清晰简单的“主体认识客体的、主体传达信息给另一个主体、最后不同的主体之间达成共识”的抽象模式,在现实生活中根本做不到,所以我们必须接受这种看上去表层的现

实,即“世界的符号化”。符号是人接触这个世界,接触他者,沉思与表达的唯一“抓手”,甚至“沉默也是一种表达”。 内爆与外爆 虚拟化的第二含义是麦克卢汉讲的“内爆和外爆”,即主体和客体的边界发生了巨大的游离。如果勉强借用笛卡尔主客体的术语,现在的人们认识到,似乎可以在主体和客体的边界勉强划一条线,但是我们千万不要把这条线当做真实的存在,更不能当作是亘古不变的。 内爆,是指人在对外部世界的探察、挖掘已经抵达临界,并受到局限和抑制的时候,就会“闭目内视”,开始挖掘自己的内心世界,表达日益丰富的、细腻的内心感受。 外爆,是指征服外部世界,指工业化、现代化、城市化的过程。这种内爆和外爆的过程,实际上就是主体和客体“亘古有之”的相互交融的进程,这时候,我们可以得出这样的结论,笛卡尔哲学的简化版是一个伪哲学,以现代人的观点看,它的害处大于益处。 笛卡尔哲学之所以害处大于益处,因为他说的都是玄思妙想之后的“断言”,这种断言是缺乏支撑的,这种断言容易在宏大叙事的大旗下塞入私货。垄断资本主义,法西斯主义,独裁和集权主义政治都有这个特点。因为这种断言又有科学做帮凶,于是人们几百年来不得不供奉这样的信条——“科学等于进步,还等于理性”。这其实是一种禁锢。 历史上对这种伪断言批判很多,无论是文学家,例如法国诗人

虚拟化技术详解

虚拟化技术 虚拟化技术是继互联网后又一种对整个信息产业有突破性贡献的技术。对应于计算系统体系结构的不同层次,虚拟化存在不同的形式。在所有虚拟化形式中,计算系统的虚拟化是一种可以隐藏计算资源物理特征以避免操作系统、应用程序和终端用户与这些资源直接交互的去耦合技术,包括两种涵义:使某种单一资源(例如物理硬件、操作系统或应用程序)如同多个逻辑资源一样发挥作用,或者使多种物理资源(例如处理器、内存或外部设备)如同单一逻辑资源一样提供服务。通过分割或聚合现有的计算资源,虚拟化提供了优于传统的资源利用方式。 虚拟化技术的发展为信息产业特别是总控与管理子系统的建设带来了革新性的变化,其所涉及到的技术领域相当广泛。在总控与管理子系统的设计和实现中,虚拟化技术将体现在多个方面,为系统资源的整合及性能的提升产生重要的作用。 1.1.1虚拟化原理 虚拟机是对真实计算环境的抽象和模拟,VMM(Virtual Machine Monitor,虚拟机监视器)需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM 调度虚拟机时,将其部分状态恢复到主机系统中。 1.1.2虚拟化有何优势 目前,大多数只能运行单一应用的服务器,仅能利用自身资源的20%左右,

而其他80%甚至更多的资源都处于闲置状态,这样就导致了资源的极大浪费,虚拟化技术通过资源的合理调配,利用其它的资源来虚拟其它应用将使得服务器变得更加经济高效。除能提高利用率外,虚拟化还兼具安全、性能以及管理方面的优势。 用户可以在一台电脑中访问多台专用虚拟机。如果需要,所有这些虚拟机均可运行完全独立的操作系统与应用。例如,防火墙、管理软件和IP语音—所有应用均可作为完全独立的系统。这为目前单一的系统使用模式提供了巨大的管理和安全优势。在单一的使用模式下,只要某个应用出现故障或崩溃,在故障排除之前,整个系统都必须停止运行,从而导致极高的时间和成本支出。 提供相互隔离、安全、高效的应用执行环境。用户可以在一台计算机上模拟多个系统,多个不同的操作系统,虚拟系统下的各个子系统相互独立,即使一个子系统遭受攻击而崩溃,也不会对其他系统造成影响,而且,在使用备份机制后,子系统可以被快速的恢复。同时,应用执行环境简单易行,大大提高了工作效率,降低总体投资成本。 采用虚拟化技术后,虚拟化系统能够方便的管理和升级资源。传统的IT服务器资源是硬件相对独立的个体,对每一个资源都要进行相应的维护和升级,会耗费企业大量的人力和物力,虚拟化系统将资源整合,在管理上十分方便,在升级时只需添加动作,避开传统企业进行容量规划、定制服务器、安装硬件等工作,提高了工作效率。 虚拟化的其它优势还包括:可以在不中断用户工作的情况下进行系统更新;可以对电脑空间进行划分,区分业务与个人系统,从而防止病毒侵入、保证数据安全。此外,虚拟化紧急情况处理服务器(Emergency Server)支持快速转移

IBM虚拟化基本概念(1)---设计

IBM虚拟化基本概念(1)---设计 前言 为什么服务器需要虚拟化 可以有效控制服务器数量,提高资源利用率。 利用IBM 的PowerVM 技术,我们实现了 1 台p570 划分20 个分区,如果实际购买机器,至少需要20 台p510。 节能减排,降低投资. 显而易见,服务器虚拟化可以省电省散热省空间,大量减少PCI 卡等等投资。拿宝信实验室举例,1 台p55A 能顶掉原来10 台p52A,空间节省75%,电节省80%,散热减少80%,投资也至少减少70%,长期下来节能效果相当惊人。 简化服务器的部署、管理 利用IBM 的PowerVM 技术,可以使得服务器的环境完全一致,使得加上NIM 安装技术的成功率大大提高,可以在短短60 分钟内,部署8 台以上的虚拟服务器,由于APV 和IBM 硬件控制台(HMC)密不可分,也就可以很方便地实现了这些虚拟服务器远程管理,包括启停、调整系统资源等等。 模拟各类操作系统和各个资源不同的机器,实现良好的学习测试实验环境。 对于IBM 的PowerVM 技术,目前支持AIX5.3、AIX6.1,部分Linux,可以模拟多台从0.1CPU,128 MB 到小于物理机器资源的机器。 PowerVM 的主要组成部分及概念 最新的PowerVM 是在基于IBM POWER 处理器的硬件平台上提供的具有行业领先水平的虚拟化技术家族。它是IBM Power System 虚拟化技术全新和统一的品牌(逻辑分区,微分区,Hypervisor,虚拟I/O 服务器,APV,PowerVM Lx86,Live Partition Mobility)。随着Power6 的推出和i 和p 系列的合并,APV 也发展成为PowerVM。PowerVM 有三个版本,分别是PowerVM Express Edition,PowerVM Standard Edition,PowerVM Enterprise Edition。对于Power6,PowerVM 新支持Multiple Shared Processor Pools 功能和Live Partition Mobility 功能。 下面就其主要部分介绍一下,以方便后面实战部分的阅读。 微分区(Micro-Partitioning) 微分区改变了POWER 系列服务器的整个规划结构。实施APV 后,可以在资源分配方面提供更大的灵活性和细分能力。添加处理器的部分处理能力而不是整个处理器,还能够帮助客户更好地利用服务器。使用工作负载管理器(WLM)和PLM 有助于更好地优化这些资源。 现在,分区要么是专用的处理器分区(按整个处理器的增量来分配处理能力),要么是共享的处理器分区(使用微分区);不会出现两者的组合。使用微分区时,可以将一组处理器分配到共享处理器池(SPP),然后使LPAR 可以(根据在池中获得的容量和优先级)使用这些处理器。此时,服务器上仅有一个SPP 可用,但多个LPAR 可以共享这些资源。 虚拟I/O 服务器 APV 功能部件的关键组件之一是虚拟I/O 服务器。该设施可以提供I/O 虚拟化和网络资源虚拟化。虚拟I/O 服务器是一个分区,用于提供I/O 资源共享,还用于为一个或多个客户机LPAR 托管虚拟盘、光存储和SEA。 虚拟LAN 虚拟LAN 不是APV 的一部分,它只需要POWER5 系统上有AIX 5L V5.3 或支持的Linux 版本。HMC 用于定义虚拟LAN 设备,从而使LPAR 通过内存而非以太网卡连接。一个LPAR 可支持多达256 个虚拟LAN,每个虚拟LAN 的传输速度都在1 到3 Gbps 之间。

虚拟化技术原理精要

虚拟化技术原理 精要CurrentVersion: 1.0 Date: 2011-02-24 Author: Jack Tan

版本历史 版本状态作 者参与者起止日期备注 0.1Jack Tan09-08-13完成草稿 1.0Jack Tan11-02-24修订

1. 概述 1.1 虚拟化 虚拟化(Virtualization) 是资源的逻辑表示,其不受物理限制的约束。 虚拟化技术的实现形式是在系统中加入一个虚拟化层,将下层的资源抽象成另一形式的资源,提供给上层使用。 本质上,虚拟化就是由位于下层的软件模块,通过向上一层软件模块提供一个与它原先所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层软件可以直接运行在虚拟环境上。 通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成一份。 虚拟化中的两个重要的定语名词:宿主(Host) 和客户(Guest) Host 用在物理资源前,Guest 则用于虚拟出来的资源前。如将一个物理机器虚拟成多个虚拟机器,则称物理机为Host Machine,运行其上的OS 为Host OS;称多个虚拟机为Guest Machine,运行其上的OS 为Guest OS 1.2 虚拟机 虚拟机(Virtual Machine) 是由虚拟化层提供的高效、独立的虚拟计算机系统,其皆拥有自己的虚拟硬件(CPU,内存,I/O 设备)。通过虚拟化层的模拟,虚拟机在上层软件看来,其就是一个真实的机器。这个虚拟化层一般称为虚拟机监控器(Virtual Machine Monitor, VMM)

云计算虚拟化技术与应用-教学大纲

《云计算虚拟化技术与应用》教学大纲 学时:62 代码: 适用专业: 制定: 审核: 批准: 一、课程的地位、性质和任务 本课程是云计算技术、计算机网络技术、计算机应用技术等专业的一门专业核心课程,主要讲授虚拟化技术发展史、虚拟化技术分类、虚拟化架构特性并对目前主流的虚拟化技术都有涉及,重点讲授虚拟化技术在服务器、桌面及网络上的应用。通过本课程的学习,使学生掌握虚拟化的基本知识,掌握虚拟化的基本原理和方法。能够对目前主流的虚拟化产品进行熟练的使用、部署及维护,并培养学生团结协作、严守规范、严肃认真的工作作风和吃苦耐劳、爱岗敬业等职业素养。 二、课程教学基本要求 1.了解虚拟化的基本概念及发展情况、虚拟化的技术分类及虚拟化的基本技术架构等知识。 2. 了解服务器虚拟化、存储虚拟化和网络虚拟化的基本概念及基础架构原理,了解市场主流虚拟化技术及产品。 3. 了解VMware ESXi的基本概念并熟练掌握VMware ESXi的安装、配置的基本方法与技术;了解VMware ESXi的重要功能并掌握VMware ESXi虚拟机的创建、定制技术。 4. 了解XenServer的功能特性、虚拟基础架构及XenServer系统架构,掌握XenServer服务器和XenCenter管理平台的安装、配置以及创建虚拟机环境的基本方法与技术。 5. 了解Microsoft Hyper-V的功能特性及系统架构,掌握安装Microsoft Hyper-V服务器角色以及创建、定制虚拟机环境的基本方法与技术。 6. 了解KVM的应用前景及基本功能,掌握KVM环境构建、硬件系统维护、KVM服务器安装及虚拟机维护的基本方法与技术。 7. 了解Docker的功能特性及系统架构,掌握Docker的使用技术,包括Docker的安装与卸载、Docker镜像与容器以及Docker Hub的应用技术等。 8. 掌握虚拟机服务器的部署,包括虚拟服务器的配置、工具的部署、虚拟服务器调优、虚拟服务器安全性、虚拟机备份、虚拟机业务迁移及物理机转虚拟机的方法及技术。 9. 了解虚拟化终端的类型及其特点、熟悉常见共享桌面的种类。了解主流虚拟桌面的产品及其厂商,掌握VMware View虚拟桌面的部署步骤过程。 10. 掌握虚拟专用网络VPN的部署与使用方法,包括硬件VPN和软件VPN;掌握虚拟局域网(VLAN)的部署与使用方法,包括标准VLAN、VMware VLAN和混合VLAN;掌握虚拟存储设备的配置与应用,包括IP-SAN在vSphere平台的挂载方法。 11. 掌握虚拟化架构规划的需求分析及设计选型的一般方法,能够针对具体的项目需求给出虚拟化架构规划实施方案。

虚拟化技术展望

当代虚拟化技术和产品介绍 获得产品和技术 Bochs和QEMU: 是PC模拟器,允许如Windows或Linux运行在linux操作系统的用户空间。VMware: 是一个流行的全虚拟化解决方案, 能够虚拟无需修改的操作系统。 z/VM: 是一个最新的基于64位z/架构的虚拟机操作系统。 z/VM提供全虚拟化和支持大多的操作系统, 包括Linux。Xen: 是一个开源的半虚拟化解决方案, 需修改客户机的操作系统, 通过与hypervisor的协作能获得接近于原始系统的性能。 User-mode Linux: 是另外一个开源的半虚拟化解决方案。每一个客户操作系统是主机操作系统的一个标准进程。 coLinux, 或协作Linux: 是一个提供两个操作系统共同分享底层硬件的虚拟化解决方案。 Linux-Vserver: 是一个linux上的操作系统级的虚拟解决方案, 每一个客户服务器都被安全的隔离开来。 OpenVZ: 是一个操作系统级的虚拟化解决方案, 支持检查点和动态迁移。 Linux KVM: 是第一个整合到Linux主线内核的虚拟化技术。 Linux内核在载入一个内核可加载模块(kvm)后, 内核自身成为了一个Hypervisor程序, 如果有合适的硬件支持(Intel VT或AMD SVM处理器), 系统可运行未修改过的linux和windows客户机操作系统。 虚拟化技术的应用十分广泛。当前虚拟化技术主要关注于服务器的虚拟化, 或在单个主机上寄存多个独立的操作系统。本文首先介绍虚拟化技术的原理, 然后讨论多个虚拟化技术的实现方法。另外介绍一些其它的虚拟化技术, 比如Linux上操作系统级的虚拟化技术。 虚拟化把事物从一种形式改变为另一种形式。计算机的虚拟化使单个计算机看起来像多个计算机或完全不同的计算机。虚拟化技术也可以使多台计算机看起来像一台计算机。这叫做服务器聚合(server aggregation)或网格计算(grid computing)。 虚拟化技术的历史。虚拟化技术不是一个新的主题; 实际上, 它已有40年的历史。最早使用虚拟化技术的是IBM 7044计算机, 它是基于MIT(麻省理工学院)为IBM704计算机开发的分时系统CTSS(Compatible Time Sharing System), 和曼彻斯特大学的Atlas项目(世界最早的超级计算机之一), 首次使用了请求调页和系统管理程序调用。 硬件虚拟化 IBM早在1960年就认识到虚拟化技术的重要性, 于是开发了型号为Model 67的System/360主机。 Model 67主机通过虚拟机监视器(VMM, Virtual Machine Monitor)虚拟

虚拟化概念

概念简介 网络虚拟化的内容一般指虚拟专用网络 (VPN)。VPN 对网络连接的概念进行了抽象,允许远程用户访问组织的内部网络,就像物理上连接到该网络一样。网络虚拟化可以帮助保护IT 环境,防止来自Internet 的威胁,同时使用户能够快速安全的访问应用程序和数据。 "Virtual Private Network"。vpn被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定隧道。使用这条隧道可以对数据进行几倍加密达到安全使用互联网的目的。 网络虚拟化就是在一个物理网络上模拟出多个逻辑网络来。目前比较常见的网络虚拟化应用包括虚拟局域网,即VLAN,虚拟专用网,VPN,以及虚拟网络设备等。 VLAN如图1所示,是指管理员能够根据实际应用需求,把同一物理局域网内的不同用户,从逻辑上划分为不同的广播域,即实现了VLAN。每一个VLAN相当于一个独立的局域网络。同一个VLAN中的计算机用户可以互连互通,而不同VLAN之间的计算机用户不能直接互连互通。只有通过配置路由等技术手段才能实现不同VLAN之间的计算机的互连互通。 我们知道,局域网的特点,就是里面的计算机之间是互联互通的。可见从用户使用的角度来看,模拟出来的逻辑网络与物理网络在体验上是完全一样的。 常见网络虚拟化形式 基于网络的虚拟化方法是在网络设备之间实现存储虚拟化功能,具体有下面几种方式: 1. 基于互联设备的虚拟化 基于互联设备的方法如果是对称的,那么控制信息和数据走在同一条通道上;如果是不对称的,控制信息和数据走在不同的路径上。在对称的方式下,互联设备可能成为瓶颈,但是多重设备管理和负载平衡机制可以减缓瓶颈的矛盾。同时,多重设备管理环境中,当一个设备发生故障时,也比较容易支持服务器实现故障接替。但是,这将产生多个SAN孤岛,因为一个设备仅控制与它所连接的存储系统。非对称式虚拟存储比对称式更具有可扩展性,因为数据和控制信息的路径是分离的。 基于互联设备的虚拟化方法能够在专用服务器上运行,使用标准操作系统,例如Windows、Sun Solaris、Linux或供应商提供的操作系统。这种方法运行在标准操作系统中,具有基于主机方法的诸多优势--易使用、设备便宜。许多基于设备的虚拟化提供商也提供附加的功能模块来改善系统的整体性能,能够获得比标准操作系统更好的性能和更完善的功能,但需要更高的硬件成本。

三种主要的虚拟化架构类型

目前市场上各种x86 管理程序(hypervisor)的架构差异,三个最主要的架构类别包括: ? I型:虚拟机直接运行在系统硬件上,创建硬件全仿真实例,被称为“裸机”。 ? II型:虚拟机运行在传统上,同样创建的是硬件全仿真实例,被称为“托管”hypervisor。 ? 容器:虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例,指向底层托管操作系统,被称为“操作系统虚拟化”。 图1 三种主要的虚拟化架构类型 上图显示了每种架构使用的高层“堆栈”,应当指出,在每种模型中,虚拟层是在不同层实现的,因此成本和效益都会不一样。 除了上面的架构类别外,知道hypervisor的基本元素也同样重要,它包括: ? 虚拟机监视器(Virtual Machine Monitor,VMM):它创建、管理和删除虚拟化硬件。 ?半虚拟化(Paravirtualization):修改软件,让它知道它运行在虚拟环境中,对于一个给定的hypervisor,这可能包括下面的一种或两种: - 内核半虚拟化:修改操作系统内核,要求客户机操作系统/hypervisor兼容性。 - 半虚拟化:修改客户机操作系统I/O驱动(、等),如Vmware Tools,MS Integration Components。 操作系统虚拟化:容器 在容器模型中,虚拟层是通过创建虚拟操作系统实例实现的,它再指向根操作系统的关键系统文件,如下图所示,这些指针驻留在操作系统容器受保护的中,提供低内存开销,因此虚拟化实例的密度很大,密度是容器架构相对于I型和II型架构的关键优势之一,每个虚拟机都要求一个完整的客户机操作系统实例。 图2 容器型虚拟化架构

虚拟化技术灾备解决方案原理分析

虚拟化技术灾备解决方案原理分析 虚拟化技术灾备解决方案的核心思想是双向复制,数据在其他地方实时产生一份可用的副本,此副本不需要做数据恢复,即可投入使用,当中断恢复后再还原回去。 当主服务器突然发生故障或者因其他损坏而停止工作时,和主服务器同步并做备份的虚拟主机开始启动,它将临时客串成为主服务器,同时向管理员发送邮件或者直接发送通知到管理员的移动终端上。当主服务器恢复后,虚拟机上包括操作系统、数据库、应用程序和其他相关数据都被无缝地迁移回原来的主服务器。完成这些操作只需要轻松地点击几下鼠标,用户根本感觉不到曾有业务中断。“这一切都是利用虚拟化技术灾备解决方案所带来的方便。”Novell公司工程师杨英宏说。 用户大量的业务系统依靠IT作为支撑,如果IT系统环境出现问题,将很难保证业务的正常运行,同时带来较大损失。市场上流行着各种各样的灾备技术和系统,但是,由于传统灾备系统的安装、配置和复杂度比较高,价格也比较昂贵,用户80%的投入只保护了20%的服务器,而且并不能真正保证业务运行。 灾备的目的是当灾难发生后,要立即恢复系统,尽快投入使用,所以灾备采用的各种技术,无论是数据备份、数据复制还是其他技术,都将围绕着业务的连续来进行。衡量这些灾备技术的指标主要是RPO(Recovery Point Object,恢复点目标)和RTO(Recovery Time Object,恢复时间目标)。 在虚拟化技术的灾备解决方案中,把要备份的目标定义为工作负载,这是指独立于硬件平台之上的一些应用运行环境,包括操作系统、数据和应用。 虚拟化技术灾备解决方案的核心思想是双向复制,数据在其他地方实时产生一份可用的副本,此副本不需要做数据恢复,即可投入使用,当中断恢复后再还原回去。数据复制的最大好处是副本数据立即可用,没有数据恢复时间,RTO 非常好。因为是实时复制,RPO也非常好,几乎不会丢失多少数据。

网络虚拟化技术介绍及应用实例

网络虚拟化介绍及应用实例 技术背景 随着社会生产力的不断发展,用户需求不断发展提高,市场也不断发展变化,谁能真正掌握市场迎合用户,谁就能够占领先机提高自己的核心竞争力。企业运营中关键资讯传递的畅通可以帮助企业充分利用关键资源,供应链、渠道管理,了解市场抓住商机,从而帮助企业维持甚至提高其竞争地位。作为网络数据存储和流通中心的企业数据中心,很显然拥有企业资讯流通最核心的地位,越来越受到企业的重视。当前各个企业/行业的基础网络已经基本完成,随着“大集中”思路越来越深入人心,各企业、行业越来越迫切的需要在原来的基础网络上新建自己的数据中心。数据中心设施的整合已经成为行业内的一个主要发展趋势,利用数据中心,企业不但能集中资源和信息加强资讯的流通以及新技术的采用,还可以改善对外服务水平提高企业的市场竞争力。一个好的数据中心在具有上述好处之外甚至还可以降低拥有成本。 1.虚拟化简介 在数据大集中的趋势下,数据中心的服务器规模越来越庞大。随着服务器规模的成倍增加,硬件成本也水涨船高,同时管理众多的服务器的维护成本也随着增加。为了降低数据中心的硬件成本和管理难度,对大量的服务器进行整合成了必然的趋势。通过整合,可以将多种业务集成在同一台服务器上,直接减少服务器的数量,有效的降低服务器硬件成本和管理难度。 服务器整合带来了巨大的经济效益,同时也带来了一个难题:多种业务集成在一台服务器上,安全如何保证?而且不同的业务对服务器资源也有不同的需求,如何保证各个业务资源的正常运作?为了解决这些问题,虚拟化应运而生了。虚拟化指用多个物理实体创建一个逻辑实体,或者用一个物理实体创建多个逻辑实体。实体可以是计算、存储、网络或应用资源。虚拟化的实质就是“隔离”—

Xen-VMware-ESXi-Hyper-V和KVM等虚拟化技术的原理解析

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解 析 XEN 与 VMware ESXi,Hyper-V 以及 KVM 特点比较: XEN 有简化虚拟模式,不需要设备驱动,能够保证每个虚拟用户系统相互独立,依赖于 service domains 来完成一些功能; Vmware ESXI 与 XEN 比较类似,包含设备驱动以及管理栈等基本要素,硬件支持依赖于 VMware 创建的驱动; Hyper-V 是基于 XEN 管理栈的修改; KVM 与XEN 方式不同,KVM 是以Linux 内核作为管理工具得。 虚拟机的体系结构 XEN 体系结构 图 3. XEN 体系结构图 一个XEN 虚拟机环境主要由以下几部分组成: XEN Hypervisor; Domain 0 —— Domain Management and Control(XEN DM&C); Domain U Guest(Dom U) 下图4 显示除了各部分之间的关系: 图 4. Xen 三部分组成之间关系图

XEN Hypervisor : XEN Hypervisor 是介于操作系统和硬件之间的一个软件描述层。它负责在各个虚拟机之间进行CPU 调度和内存分配。XEN Hypervisor 不仅抽象出虚拟机的硬件,同时还控制着各个虚拟机的执行。XEN Hypervisor 不会处理网络、存储设备、视频以及其他I/O. Domain 0: Domain 0 是一个修改过的Linux kernel,是唯一运行在Xen Hypervisor 之上的虚拟机,它拥有访问物理I/O 资源的权限,同时和系统上运行的其他虚拟机进行交互。Domain 0 需要在其它Domain 启动之前启动。 Domain U: 运行在Xen Hypervisor 上的所有半虚拟化(paravirtualized)虚拟机被称为“Domain U PV Guests”,其上运行着被修改过内核的操作系统,如Linux、Solaris、FreeBSD 等其它UNIX 操作系统。所有的全虚拟化虚拟机被称为“Domain U HVM Guests”,其上运行着不用修改内核的操作系统,如Windows 等。 2.Hyper-V 体系结构 图 5. Hyper-V 体系结构图 Hyper-V 是微软提出的一种系统管理程序虚拟化技术,采用微内核的架构,兼顾了安全性和性能的要求。Hyper-V 底层的Hypervisor 运行在最高的特权级别下,微软将其称为ring -1(而Intel 则将其称为root mode),而虚机的OS 内核和驱动运行在ring 0,应用程序运行在ring 3 下,这种架构就不需要采用复杂的BT(二进制特权指令翻译)技术,可以进一步提高安全性。从架构上讲Hyper-V 只有“硬件-Hyper-V-虚拟机”三层,本身非常小巧,代码简单,且不包含任何第三方驱动,所以安全可靠、执行效率高,能充分利用硬件资源,使虚拟机系统性能更接近真实系统性能。 Hyper-V 支持分区层面的隔离。分区是逻辑隔离单位,受虚拟机监控程序支持,并且操作系统在其中执行。Microsoft 虚拟机监控程序必须至少有一个父/ 根分区,用于运行64 位版本的Windows Server 2008 操作系统。虚拟化堆栈在父分区中运行,并且可以直接访问硬

详解云存储中虚拟化的技术构成与模型

详解云存储中虚拟化的技术构成与模型 存储领域国际权威机构SNIA(存储网络工业协会)给出了存储虚拟化(StorageVirtualization)的定义:“通过将存储系统/子系统的内部功能从应用程序、计算服务器、网络资源中进行抽象、隐藏或隔离,实现独立于应用程序、网络的存储与数据管理”。 存储虚拟化技术将底层存储设备进行抽象化统一管理,向服务器层屏蔽存储设备硬件的特殊性,而只保留其统一的逻辑特性,从而实现了存储系统的集中、统一、方便的管理。 与传统存储相比,虚拟化存储的优点主要体现在:磁盘利用率高,传统存储技术的磁盘利用率一般只有30-70%,而采用虚拟化技术后的磁盘利用率高达70-90%;存储灵活,可以适应不同厂商、不同类别的异构存储平台,为存储资源管理提供了更好的灵活性;管理方便,提供了一个大容量存储系统集中管理的手段,避免了由于存储设备扩充所带来的管理方面的麻烦;性能更好,虚拟化存储系统可以很好地进行负载均衡,把每一次数据访问所需的带宽合理地分配到各个存储模块上,提高了系统的整体访问带宽。 虚拟化存储有多种分类方法,从大的方面可以分为:根据在I/O路径中实现虚拟化的位置不同进行分类;根据控制路径和数据路径的不同进行分类。根据在I/O路径中实现虚拟化的位置不同,虚拟化存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存储。根据控制路径和数据路径的不同,

虚拟化存储分为对称虚拟化与不对称虚拟化。 虚拟化存储的系统构成 云存储中的一种典型存储方式为分布式存储。在这种方式中,一般采用带外虚拟化的方式管理存储设备,元数据管理和数据传输都是通过IP网络来完成。这种虚拟化存储系统主要有四类不同的存储设备。 客户端: 客户端向外为客户提供各种应用服务,如万维网服务、数据库、文件服务、科学计算等。客户端上运行存储代理软件,提供网络虚拟设备供应用程序读写访问。 配置管理服务器: 配置管理服务器用来进行系统的配置和管理。通过Internet、Telnet

9. 服务器虚拟化、网络虚拟化和存储虚拟化

服务器虚拟化、网络虚拟化和存储虚拟化 1.概念: 虚拟化是计算、存储、网络等资源的一种逻辑表示,并不拘泥于这些资源的实现方式、物理包装和物理位置等限制。 虚拟化包括: 1)在一个单独的物理设备上创建多个虚拟资源; 2)管理许多虚拟资源就像管理一台服务器一样; 3)在整个基础架构上动态地调整计算资源; 虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行;而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。 虚拟化技术的四个技术特征如下: 1)共享:在单一物理服务器上可同时运行多个虚拟机。 2)隔离:每一个虚拟机都与一个服务器上的其他虚拟机隔离 3)封装:虚拟机将整个系统,包括硬件配置、操作系统以及应用等封装在档案文 件中。 4)迁移:可以在不同的服务器之间直接迁移正在运行的虚拟机。 2.服务器虚拟化 服务器虚拟化是通过企业级服务器虚拟化技术和云计算操作系统来实现,在单个物理服务器实体上,利用服务器强大的处理能力,生成多个虚拟服务器,而每一个虚拟服务器,从功能、性能和操作方式上,等同于传统的单台物理服务器,在每个虚拟服务器上,再通过迁移或重新安装配置操作系统,进而迁移或重新安装现有的应用软件,这样以前的每个物理服务器就变身成为物理服务器上的虚拟机,从而大大提高资源利用率,降低成本,增强了系统和应用的可用性,提高系统的灵活性和快速响应,完美的实现了服务器虚拟架构的整合。 单台物理服务器配置多个虚拟服务器的性能依据:

虚拟化桌面3D虚拟化 GPU技术详解

VDI 桌面3D虚拟化技术详解 目录 一.3D虚拟化技术透析及竞争分析 (2) 1名词解释 (2) 2不同技术的适用场景分析 (2) 2.1sVGA的原理:VMware设计的虚拟的WDDM驱动程序 (3) 2.2vSGA的原理:多个虚拟机均分安装在物理服务器上的显卡资源 (3) 2.3vDGA的原理:为每个虚拟机分配独立的安装在物理服务器上的物理显卡 (6) 2.4GPUPass-through的原理:为每个虚拟机分配独立的安装在物理服务器上的物理 显卡 (8) 2.5SharedGPU的原理:将GPU卡透传给Hypervisor之上的XenApp平台 (8) 2.6vGPU技术出场:将GPU卡资源切片分给Hypervisor之上运行的VM (12) 3竞争分析 (14) 二、vGPU技术详解及配置要求 (16) 1vGPU的实现条件 (16) 1.1 Citrix组件包括如下: (16) 1.2NVidia组件包括如下: (17) 1.3硬件使用需求: (18) GRIDK1 (18) GRIDK (18) 1.4操作系统支持: (19) 2 vGPU相关文档 (19) 3 NVidiaKeplerGRID卡支持的vGPU数量和适用场景 (19) 4 vGPU配置步骤 (21) 5 vGPU配置注意事项 (22) 三、Citrix3D解决方案一览 (22)

1客户群体分类 (23) 2不同使用者对应3D处理技术 (24) 2.1图形工作站级别用户 (25) 2.2中度图形用户对应的3D虚拟化技术 (28) 2.3知识型用户对应的3D虚拟化技术 (30) 四、Citrix3D技术StepbyStep配置指导手册 (31) 一.3D虚拟化技术透析及竞争分析 sVGA、vSGA、vDGA、vGPU、GPUPass-through,的含义。 1名词解释 ●sVGA:VMware公司技术缩写,意思是:软件3D模拟渲染技术; ●vSGA:VMware公司技术缩写,意思是:虚拟共享图形加速技术 ●vDGA:VMware公司技术缩写,意思是:虚拟专用图形加速技术 ●GPUPass-through:Citrix公司技术缩写,意思是:GPU透传技术 ●SharedGPU:Citrix公司技术缩写,意思是:GPU共享技术; ●vGPU:业内统一术语,意思是:以类似于服务器虚拟化上将CPU虚拟化的技 术,将GPU卡虚拟化后,提供给虚拟机使用。 目前,Citrix公司和NVIDIA公司合作,开发出了业界首个vGPU技术! 2不同技术的适用场景分析

虚拟机的概念

虚拟机的概念 1、通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。因此,当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,我可以马上恢复虚拟机到安装软件之前的状态。目前流行的虚拟机软件有VMware和Virtual PC,它们都能在Windows系统上虚拟出多个计算机,用于安装Linux、OS/ 2、FreeBSD 等其他操作系统。微软在2003年2月份收购Connectix后,很快发布了Microsoft Virtual PC 2004。但出于种种考虑,新发布的Virtual PC 2004已不再明确支持Linux、FreeBSD、NetWare、Solaris等操作系统,只保留了OS/2,如果要虚拟一台Linux 计算机,只能自己手工设置。相比而言,VMware不论是在多操作系统的支持上,还是在执行效率上,都比Virtual PC 2004明显高出一筹,这也是本文选择它的理由之一。电脑一台变两台,学用Linux不再有后顾之忧VMware 4.5有Workstation、GSX server等多种版本,其中Windows版的Workstation应用最广,本文即以它为基础进行各种实战演习。虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。 虚拟机(virtual machine) 虚拟机(VM)是支持多操作系统并行运行在单个物理服务器上的一种系统,能够提供更加有效的底层硬件使用。在虚拟机中,中央处理器芯片从系统其它部分划分出一段存储区域,操作系统和应用程序运行在“保护模式”环境下。如果在某虚拟机中出现程序冻结现象,这并不会影响运行在虚拟机外的程序操作和操作系统的正常工作。 虚拟机具有四种体系结构。第一种为“一对一映射”,其中以IBM 虚拟机最为典型。第二种由机器虚拟指令映射构成,其中以Java 虚拟机最为典型。Unix 虚拟机模型和OSI 虚拟机模型可以直接映射部分指令,而其它的可以直接调用操作系统功能。 在真实计算机系统中,操作系统组成中的设备驱动控制硬件资源,负责将系统指令转化成特定设备控制语言。在假设设备所有权独立的情况下形成驱动,这就使

虚拟化概念、目的、解决方案、维护、模式、评估

虚拟化 目录 虚拟化 (1) 一、基本概念 (1) 二、虚拟化的目的 (2) 三、解决方案 (3) 四、软件 (4) 五、厂商 (7) 六、虚拟化方案比较 (8) 七、维护 (8) 八、模式 (9) 八、评估 (10) 一、基本概念 虚拟化[1]是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。 虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运

行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。 虚拟化技术也与VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。 虚拟化技术有很多定义,下面就给出了一些这样的定义。 “虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来表示它们。换句话说,它为数据、计算能力、存储资源以及其他资源提供了一个逻辑视图,而不是物理视图。” —— Jonathan Eunice, Illuminata Inc。 “虚拟化是表示计算机资源的逻辑组(或子集)的过程,这样就可以用从原始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位置或底层资源的物理配置的限制。” —— Wikipedia “虚拟化:对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。” —— Open Grid Services Architecture Glossary of Terms。 二、虚拟化的目的 虚拟化的主要目的是对IT基础设施进行简化。它可以简化对资源以及对资源管理的访问。 消费者可以是一名最终用户、应用程序、访问资源或与资源进行交互的服务。资源是一个提供一定功能的实现,它可以基于标准的接口接受输入和提供输出。资源可以是硬件,例如服务器、磁盘、网络、仪器;也可以是软件,例如Web 服务。 虚拟化支持的操作系统有:Windows和Linux各种系统。[1] 消费者通过受虚拟资源支持的标准接口对资源进行访问。使用标准接口,可以在IT基础设施发生变化时将对消费者的破坏降到最低。例如,最终用户可以重用这些技巧,因为他们与虚拟资源进行交互的方式并没有发生变化,即使底层物理资源或实现已经发生了变化,他们也不会受到影响。另外,应用程序也不需要进行升级或应用补丁,因为标准接口并没有发生变化。 IT 基础设施的总体管理也可以得到简化,因为虚拟化降低了消费者与资源之间的耦合程度。因此,消费者并不依赖于资源的特定实现。利用这种松耦合关系,管理员可以在保证管理工作对消费者产生最少影响的基础上实现对 IT 基础

相关主题
文本预览
相关文档 最新文档