使用基于容器的虚拟化技术提升虚拟机性能

2009-7-29   
分享到:
| |

导读:本文分析基于容器(container-based)的虚拟化(操作系统层虚拟化)能为用户带来性能优势。

关键词:虚拟化 容器虚拟化 操作系统层虚拟化 性能

 

【TechTarget中国原创】在过去的几年中,基于管理程序(hypervisor-based)的虚拟化逐渐占据虚拟化市场的主导地位。这不难理解,因为这种技术的灵活性使得用户几乎可以安装所有类型的操作系统。然而,如果你并不需要在同时运行多种不同类型操作系统环境下工作,基于容器(container-based)的虚拟化也许是一个更佳的选择,它能为用户带来性能优势。

    基于容器(container-based)的虚拟化技术的基本思想是在底层运行一个内核,其余多个不同的虚拟机运行于该内核之上。相比基于管理程序(hypervisor-based)的虚拟化,每个虚拟机不是完整的操作系统实例,这种技术仅安装每个操作系统实例的一部分,每个实例以智能的方式与安装在主操作系统内核中的虚拟化层协同工作。基于管理程序的虚拟化多用于Linux环境,现今最主要的两大阵营是商业化产品Parallels Virtuozzo和开源产品OpenVZ。

 
查看全文
 
 
 
分享到:
 
 

虚拟机性能管理

 
在许多案例里,虚拟机环境中早期的小错误会导致一些大型的性能问题发生。这些问题可能看起来是非常明显的简单错误,但是请记得再检查一下您的设置,或许您会有大的发现。
 
P2V迁移好处多多,但是在哪个工作负载可以虚拟化有限制,并且这个选择过程对于维护稳定的服务器环境非常关键。该怎么办呢?
 
如果你并不需要在同时运行多种不同类型操作系统环境下工作,基于容器(container-based)的虚拟化也许是一个更佳的选择,它能为用户带来性能优势。
 
如今,VMware在其vCenter产品家族完善了三个新品:VMware vCenter AppSpeed、Chargeback及Lab Manager的更新版本。
 
在上周,F5 Networks宣布将集成vSphere和vCenter Server,以帮助用户管理虚拟环境及自动化更多的应用交付过程。
 



【TechTarget中国原创】在过去的几年中,基于管理程序(hypervisor-based)的虚拟化逐渐占据虚拟化市场的主导地位。这不难理解,因为这种技术的灵活性使得用户几乎可以安装所有类型的操作系统。然而,如果你并不需要在同时运行多种不同类型操作系统环境下工作,基于容器(container-based)的虚拟化也许是一个更佳的选择,它能为用户带来性能优势。

    基于容器(container-based)的虚拟化技术的基本思想是在底层运行一个内核,其余多个不同的虚拟机运行于该内核之上。相比基于管理程序(hypervisor-based)的虚拟化,每个虚拟机不是完整的操作系统实例,这种技术仅安装每个操作系统实例的一部分,每个实例以智能的方式与安装在主操作系统内核中的虚拟化层协同工作。基于管理程序的虚拟化多用于Linux环境,现今最主要的两大阵营是商业化产品Parallels Virtuozzo和开源产品OpenVZ

  基于管理程序(hypervisor-based)的虚拟化VS基于容器(container-based)的虚拟化

    为了理解基于容器(container-based)的虚拟化,最好的办法就是跟基于管理程序(hypervisor-based)的虚拟化做对比。后者的工作方式是,通过管理程序层,来转发所有来自虚拟机的指令给底层硬件设备层。这个管理程序层是一个带有虚拟化功能特性的精简操作系统内核。在VMware ESX Server 和 思杰的XenServer产品中,管理程序层采用的是Linux内核,Windows Hyper-V采用微软内核完成这项工作。

    而虚拟机(VM)运行于管理程序层之上。这种模式下,每一个虚拟机就是一个完整的操作系统。这种技术最大的挑战来自于,在不提前虚拟化所有硬件的驱动的情况下,访问硬件设备。半虚拟化技术(paravirtualization)就是解决这个问题的方案;然而在另外一种全虚拟化的技术中,所有的硬件在分配给虚拟机(VM)使用前都必须首先进行虚拟化。虚拟机将运行的是一个完整的操作系统,应用程序也是被虚拟化的。

    基于容器(container-based)的虚拟化(也被称作操作系统虚拟化)使用了不用的方法来实现。标准的主机操作系统运行于底层,例如当使用Parallels Virtuozzo 虚拟化产品时,底层运行的是windows或Linux操作系统。在操作系统之上是虚拟化层,看起来就像虚拟化层是运行于操作系统上的一个应用程序一样。虚拟化层提供了自有的文件系统和内核服务提取能力,用来确保在所有虚拟机之间分割硬件资源,因此每个独立的虚拟机也被称为“容器“。虚拟化层保证了每一个容器对外成为一个独立的服务器。

    这两种虚拟化技术最大的不同就在于基于容器(container-based)的虚拟化技术中,每个虚拟机安装的不是完整的虚拟机。因此不需要安装一个完整安装的操作系统。部分虚拟化中,容器运行得更像一个完全独立的应用程序运行于操作系统中。虚拟化层保证它不合其他的容器相影响,然后容器本身呈现为一个虚拟机。这种方法的优点是不需要重复的功能,像硬件访问功能。只有一个操作系统关心硬件的访问。

    基于容器(container-based)的虚拟化同时也避免了传统方式下,由于通过虚拟驱动程序访问硬件设备所带来的性能问题。但是这种技术也有一项缺点,那就是灵活性受到限制,用户无法同时安装多种不同操作系统的虚拟机。然而,一般来讲,当用户需要的仅仅是在已经使用的某种操作系统基础上,再增加几个相同的实例时,为什么不选择基于容器(container-based)的虚拟化技术?

  基于容器(container-based)的虚拟化技术优势

    相比基于管理程序(hypervisor-based)的虚拟化,基于容器(container-based)的虚拟化提供了完全不同的虚拟化方法。它采用在一个OS中运行多个独立容器的方式,取代原有的在每个虚拟机中都安装完整操作系统的方式。因此在基于容器(container-based)的虚拟化设备中只需运行于一个完整操作系统环境,这种技术最大的优势就在于,无需安装重复的功能模块,从而提高了系统性能。

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录