文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>六大Linux虚拟化技术全面讲解(2)

六大Linux虚拟化技术全面讲解(2)

时间:2010-08-27  来源:mydear

Linux包含两个重要的解决方案,可以同时实现完全虚拟化和半虚拟化。如Citrix的Xen是一个流行的解决方案,可以同时执行Type1和Type2型hypervisor,Amazon的EC2就采用Xen来进行服务器的虚拟化。

另一个重要的hypervisor是Linux Kernel Virtual Machine(KVM),同样都支持本地虚拟化和主机虚拟化模型。KVM是有特点的,它通过夹在内核模块可以对Linux内核进行小的修改,从而变成一 个全特性的hypervisor。KVM通过应用virtio可以支持半虚拟化,在Guest系统中包括用于半虚拟化的标准Linux驱动。

KVM也是第一个完全集成在主线内核(mainline kernel)的hypervisor,由Rad Hat开发,在一些关键领域被采用,比如IBM对云计算的开发和测试中。

需要注意的是无论是完全虚拟化还是半虚拟化,每种解决方案都应用了硬件协助虚拟化(hardware-assisted virtualization)。目前新的AMD和英特尔CPU都集成了优化hypervisor的指令集,来增强Guest虚拟机的I/O性能。

操作系统虚拟化

操作系统虚拟化是另外一个重要的虚拟化技术,正如其名,是对操作系统本身进行虚拟化,而不是平台。在这种方式下,操作系统提供一组用户空间 (User-Space)彼此隔离,而应用被限制在每个用户空间里面,就好像一个独立的主机。这种形式的虚拟化在虚拟主机环境中非常流行,让多个独立的用 户可以共享一个操作系统。

498)this.style.width=498;" class="fit-image" />

操作系统虚拟化

操作系统虚拟化依赖于可以创建和隔离用户空间(或者叫做容器或者私有虚拟服务器)的Linux内核,OS虚拟化最大的好处在于几乎没有任何开销,因 为用户只是简单的共享OS和主机,而不需要通过虚拟机。而缺点在于目前我们采用的OS虚拟化解决方案缺乏灵活性,不能在任意的操作系统上实施,用户共享主 机和操作系统还需要注意版本。尽管有这些不足,服务器虚拟化还是应用的非常广泛。

Linux包含很多的操作系统解决方案,具有很高的可配置性。比如OpenVZ、Linux-VServer和FreeVPS是其中三个最流行的,均支持CPU、内存网络、I/O和存储配额配置,OpenVZ还支持主机之间的在线VPSes迁移。

其他Linux虚拟化技术

在上面的文章中,我们讨论了模拟、平台虚拟化和操作系统虚拟化,这三种是最常用的虚拟化技术,除此之外,还有很多其他种类的虚拟化技术可以满足我们的需求,下面我们来看看几种不同于之前谈论范畴的虚拟化技术。

CoLinux

CoLinux,或者叫做协作Linux,是一种利用协作虚拟机的虚拟化方式。在CoLinux模式下,Linux Guest系统运行在微软Windows操作系统之上,共享底层的硬件资源。CoLinux需要Guest系统(即CoLinux本身)被修改,让它认为 自己运行在其他操作系统之上。CoLinux是一种半虚拟化的方式,是将Windows作为Host操作系统,并且每个Host系统上只能运行一个 CoLinux实例。由于这种限制,CoLinux被定义为一种特别的虚拟化技术。

498)this.style.width=498;" class="fit-image" />

CoLinux:特别的半虚拟化架构

用户模式(User-Mode)Linux

用户模式(User-Mode)Linux,即UML,和CoLinux有些类似,但是更加灵活。如上图右边的架构,UML允许在一个Linux Host系统上运行多个Linux Guest操作系统,UML也是一种半虚拟化架构,实现更好的性能。UML吸引人的一个方面是可以支持更高一层的UML,所以运行在Linux Host操作系统上的UML Guest内核可以支持更高级别的UML Guest系统。

Wine和Cygwin

Wine和Cygwin也是有趣的虚拟化解决方案,Wine实际上是“Wine is Not an Emulator”的缩写,表示“不是一个模拟器”,是在Linux Host操作系统上运行Windows应用的一种方式。Wine并不是完全的表现为Windows应用的模拟层,而是一个DLL(动态链接库)层来表示 Windows API。

498)this.style.width=498;" class="fit-image" />

Wine和Cygwin虚拟化方案

Cygwin是与之相反的解决方案,即在Windows上运行Linux应用,这是由Rat Hat开发,这是一种模拟的Unix环境,允许在Windows平台上开发Unix应用,比如POSIX以及其他类Unix工具。

Linux虚拟化的未来

在虚拟化领域,Linux虚拟化增长的很快速,不仅仅是对核心组件基于Linux的hypervisor的开发,还包括Linux虚拟化生态系统中的其他部分,包括工具和管理应用程序的开发。Linux虚拟化能够延伸出多种虚拟化技术,将不断的推动虚拟化技术的前进发展。


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载