火疗做法 体控电疗 根治脑梗

容器式的虚拟化 Parallels虚拟化技术解释 - 商海桥

来源: 时间:2018/10/31 21:39:53点击:


  一旦提及虚拟化技术,人们一般首先想到的都是VMware、微软和Citrix XenServer,却忘记了虚拟化家族中另外一个很重要的成员。Parallels Virtuozzo使用一种截然不同的虚拟化方法,提供了一种可以代替hypervisor虚拟化实现方式。

  Virtuozzo和OpenVZ这两产品背后的公司名字从前叫SWsoft现在叫Parallels,Virtuozzo OS Virtualization和Virtuozzo Server Virtualization是SWsoft公司的商业版产品,OpenVZ是采用SWsoft源码的开源项目。

  与微软,VMware,citrix等公司的的虚拟化产品相比,SWsoft的产品运行在更高的层次上。用专业术语来说,Virtuozzo和OpenVZ属于Application Container——应用程序的容器。

  VMware、XEN、MS这些所虚拟出来的,都是一个个“硬”的主机,你得在这些虚机上再装操作系统。而Virtuozzo和OpenVZ所虚出来的,是一个个已经装好系统的主机。也就是说,VMware、XEN、MS所虚拟的是硬件资源,而Virtuozzo和OpenVZ所虚拟的是操作系统环境。

  所以Virtuozzo和OpenVZ里面没有VM(Virtual Machine)这个概念,取而代之的是VE(Virtual Environment)或称VPS(Virtual Private Server)。而进到VE/VPS里面,看到的就是一个现成的操作系统环境。

  具体来说。比方说Windows下安装某个程序,要改注册表是吧?还有创建目录和文件是吧?Virtuozzo能把这些动作统统截获,并且偷偷在其它地方执行,而不真正修改原来的系统环境。这样程序自以为万事OK,很Happy的运行,殊不知却是被Virtuozzo给骗了。

  Virtuozzo这个有所不同的机制,对资源管理更为灵活,某个虚拟环境只有活动的时候,才会被分配资源。因此在相同的硬件资源下,Virtuozzo可以配置出更多的虚拟环境。一般VMware和XEN只能在一台服务器上跑几十个虚拟机,而Virtuozzo号称可以一台机器支持5000个虚拟环境!

  当然Virtuozzo也有很明显的不方便之处,就是Linux上只能虚拟Linux,Windows上只能虚拟Windows。而且像VMware或Xen那样在服务器之间挪动虚拟机,也是异常困难的。

  下面我们就来详细的看看Parallels的虚拟化技术是如何实现的

  在Parallels Virtuozzo技术中,操作系统的虚拟化包括一个在标准的主机操作系统之上的虚拟层。然后,在这个操作系统虚拟层之上,创建独立的容器(域)来最大化软件和硬件的使用效率。

  为了更好地理解操作系统虚拟化,我们最好先分析一下Xen和微软Hyper V中的基于hypervisor的虚拟化技术是如何工作的。Hypervisor虚拟化技术使用瘦Linux内核基础层(这个Linux内核基础层对底层有特定的虚拟化属性)。然后在hypervisor层之上创建虚拟机。

  这种模式中的一个瓶颈问题是不需要虚拟化所有硬件的驱动程序而使用硬件资源。诸如泛(准)虚拟化技术对该问题提供了一种解决方案。然而在全虚拟化技术中,必须首先虚拟化所有的硬件资源,然后才可以分配给虚拟机使用。在虚拟机内部,用户可以运行一个操作系统的完整拷贝,也可以运行用户希望虚拟化的应用程序。

  在操作系统或者Virtuozzo使用虚拟化操作系统中,虚拟化的方法是不同的。在最底层,首先是一个标准的宿主操作系统。当使用Parallels Virtuozzo技术时,这个宿主操作系统可以是一个Windows系统,也可以是一个Linux系统。在这个宿主操作系统之上,有一个虚拟层作为操作系统内部的一个应用程序运行。

  虚拟层提供一个专用的文件系统和内核服务的抽象层,这保证了不同的虚拟机(在Virtuozzo中称之为容器(域))之间资源的隔离性。虚拟层确保每一个容器(域)看起来是一个独立的服务器。

  操作系统虚拟化技术中最大的不同就是没有使用一个完整的虚拟机,反而使用的却是部分虚拟化技术来创建容器(域),或者使用的是宿主操作系统中的一个独立的应用程序。虚拟层确保每个容器(域)之间互不干扰。这种方法的优势就是没有必要复制功能,由一个操作系统来负责完成对硬件资源的访问控制。因此,借助驱动虚拟化,与硬件访问

(责任编辑:商海桥)