一种融合Docker容器与KVM虚拟化技术的系统技术方案

技术编号:16528764 阅读:62 留言:0更新日期:2017-11-09 20:27
本发明专利技术公开了一种融合Docker容器与KVM虚拟化技术的系统,包括系统管理层、资源抽象层、web管理界面和开发者API;所述的开发者API主要用于向开发者提供的系统编程接口,将系统的功能作为服务向开发者提供;所述的系统管理层主要用于对系统中的物理资源和虚拟资源进行管理;所述的资源抽象层包括KVM、Docker和适配器;所述的web管理界面是开发的一个用户界面程序,用于在线提交、编辑、删除相关栏目的内容后台管理程序。本发明专利技术的有益效果是:本发明专利技术能够对系统中的物理资源和虚拟资源进行管理,针对用户的不同需要响应用户请求,完成虚拟机的创建、运行、停止、删除等整个生命周期的管理工作,其功能多样,实用性强、适用范围广。

【技术实现步骤摘要】
一种融合Docker容器与KVM虚拟化技术的系统
本专利技术涉及虚拟化
,具体的说,是一种融合Docker容器与KVM虚拟化技术的系统。
技术介绍
虚拟化是一种综合利用软硬件分区、时间片轮转、机器仿真等技术将一台物理主机虚拟化为多个应用执行环境的框架或者方法。利用虚拟化技术可以创建某种资源的虚拟版本,这些资源包括硬件平台、操作系统、存储设备、计算机网络等。为了满足用户的不同需求,数据中心采用不同的虚拟化实现技术。这样导致了采用虚拟化技术的数据中心存在异构资源的可能。所以,异构资源之间的互操作性缺乏,遵循的标准也各不相同,这就提高了资源申请及管理的复杂性。近年来云计算发展迅速,已经在很多领域进行了广泛的运用。云计算的关键技术是虚拟化技术,这是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。在实际的生产环境中,虚拟化在节约硬件及管理成本、提高资源利用率等方面都起到了非常重要的作用。对虚拟化的研究可以追溯到二十世纪六十年代的大型机时期。二十世纪六十年代之前,大型机系统每次只能运行一个应用程序。而人们对分时系统的迫切需求导致了对虚拟化技术的探索。IBM的7044是最早采用虚拟化技术的大型机之一,解决了早期操作系统只能够单任务处理而不能分时多任务处理的问题。之后,各种机型都开始使用虚拟化技术,虚拟化技术得到了一定程度的发展。1.全虚拟化(FullVirtualization)也称为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和硬件之间用于工作协调,一些受保护指令必须由Hypervisor(虚拟机管理程序)来捕获处理。全虚拟化的运行速度要快于硬件模拟,但是性能方面稍差一些,因为Hypervisor需要占用一些资源。2.半虚拟化(ParaVirtualization)半虚拟化是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的guest操作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作。半虚拟化需要guest操作系统做一些修改,使guest操作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原操作系统相近的性能。以下是KVM和Docker类型的对虚拟机技术进行简单介绍,对这两种不同虚拟化实现技术的基本原理进行研究。1、KVM(Kernel-basedVirtualMachine)KVM的意思是基于内核的虚拟机。KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(IntelVT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。KVM是一个独特的管理程序,通过将KVM作为一个内核模块实现,在虚拟环境下Linux内核集成管理程序将其作为一个可加载的模块可以简化管理和提升性能。在这种模式下,每个虚拟机都是一个常规的Linux进程,通过Linux调度程序进行调度。2、Docker容器Docker容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。全虚拟化技术并不需要对客户机操作系统进行任何修改,在全虚拟化环境下的虚拟机并不知道自己不是运行在真实的物理硬件之上,这种方式的虚拟化实现较为简舉,由于不对操作系统进行任何修改所以操作系统可以很方便在真实和虚拟环境下进行迁移,并且可以提供很好的隔离性,安全性也比较高,但是由于全虚拟化是完全由软件实现,所以它的运行效率较低。而半虚拟化模式则同全虚拟化不同,它需要修改客户机操作系统,经过修改之后的客户机操作系统知道己并不是运行在真实的物理硬件环境之下而是运行于虚拟环境中。相对于全虚拟化,由于半虚拟化的客户操作系统是专门为虚拟化而进行改造的,所以它的性能表现更为出色。但是半虚拟化操作系统的可迁移性有所降低,而且因为需要对进行较为深入的修改,因此它需要持续不断的支持和维护。随着硬件技术的发展,出现了一种新的虚拟化技术:硬件辅助虚拟化。它是借助于特殊的处理器来完成虚拟化工作的。一种新的执行模式(root模式)被添加到了处理器中。硬件辅助虚拟化的产品有KVM等。除了以上的分类方法以外,虚拟化还可以分为程序级虚拟化和系统级虚拟化。程序级虚拟化的目的是为了运行应用程序,它在应用层创建了种虚拟机,应用程序退出时,该虚拟机也会自动结束。而系统级虚拟化则包括一个虚拟化层--Hypervisor,Hypervisor使得原本独占物理机资源的操作系统可以被安装在多个虚拟机之中,从而实现同时在一台物理主机之上运行多个客户机操作系统实例,这些虚拟机之间共享物理主机资源的硬件,Hypervisor负责各种资源的分配。相对于其他虚拟化技术,KVM具有很多优势:1.可以直接与内核交互。2.各大linux的发行版本中都釆用了KVM作为缺省的虚拟化实现技术。3.linux社区中的相关开发工作较为活跃。4.具有很好的性能,通过对v2v、p2v等技术的实现以及管理虚拟机的各种5.开源工具,KVM已经成为VMware产品的有力竞争者。6.很多开源云平台将KVM作为其缺省Hypervisor。Docker相对于虚拟机技术的最大优势就是它的轻量级特性。这种轻量级虚拟化的特点是由LXC(linuxcontainer)技术来实现的。在多虚拟机技术中,一台物理主机之上的每一个虚拟机内都运行着一个完整的操作系统,这样很多操作都是操作系统重量级的,比如虚拟机发生宕机等故障时,需要迁移或者重建整个虚拟机到其他正常的物理主机之上。而同一台物理主机之上的多个之间却是共享操作系统内核的,每一个容器都是由多个进程组成的进程组,这样对容器的调度、迁移、启动、停止等都是进程级别,可以明显减少系统的资源消耗,提高运行效率,进而同样的一台物理主机之上便可以运行更多的应用。
技术实现思路
本专利技术的目的在于提供一种融合Docker容器与KVM虚拟化技术的系统。本专利技术通过下述技术方案实现:一种融合Docker容器与KVM虚拟化技术的系统,包括系统管理层、资源抽象层、web管理界面和开发者API;所述的开发者API主要用于向开发者提供的系统编程接口,将系统的功能作为服务向开发者提供,使开发者使用这些服务来实现自己的应用开发;所述的系统管理层主要用于对系统中的物理资源和虚拟资源进行管理,针对用户的不同需要响应用户请求,完成虚拟机的创建、运行、停止、删除等整个生命周期的管理工作,另外针对Docker集群中的应用提供了对高可用性的支持;所述的资源抽象层包括KVM、Docker、针对KVM和Docker虚拟化技术提供的相应适配器,所述的资源抽象层向上层的系统管理层提供统一的接口,屏蔽底层实现的差异;所述的we本文档来自技高网
...
一种融合Docker容器与KVM虚拟化技术的系统

【技术保护点】
一种融合Docker容器与KVM虚拟化技术的系统,其特征在于:包括系统管理层、资源抽象层、web管理界面和开发者API;所述的开发者API主要用于向开发者提供的系统编程接口,将系统的功能作为服务向开发者提供,使开发者使用这些服务来实现自己的应用开发;所述的系统管理层主要用于对系统中的物理资源和虚拟资源进行管理,针对用户的不同需要响应用户请求,完成虚拟机的创建、运行、停止、删除等整个生命周期的管理工作,另外针对Docker集群中的应用提供了对高可用性的支持;所述的资源抽象层包括KVM、Docker、针对KVM和Docker虚拟化技术提供的相应适配器,所述的资源抽象层向上层的系统管理层提供统一的接口,屏蔽底层实现的差异;所述的web管理界面是开发的一个用户界面程序,用于在线提交、编辑、删除相关栏目的内容后台管理程序。

【技术特征摘要】
1.一种融合Docker容器与KVM虚拟化技术的系统,其特征在于:包括系统管理层、资源抽象层、web管理界面和开发者API;所述的开发者API主要用于向开发者提供的系统编程接口,将系统的功能作为服务向开发者提供,使开发者使用这些服务来实现自己的应用开发;所述的系统管理层主要用于对系统中的物理资源和虚拟资源进行管理,针对用户的不同需要响应用户请求,完成虚拟机的创建、运行、停止、删除等整个生命周期的管理工作,另外针对Docker集群中的应用提供了对高可用性的支持;所述的资源抽象层包括KVM、Docker、针对KVM和Docker虚拟化技术提供的相应适配器,所述的资源抽象层向上层的系统管理层提供统一的接口,屏蔽底层实现的差异;所述的web管理界面是开发的一个用户界面程序,用于在线提交、编辑、删除相关栏目的内容后台管理程序。2.根据权利要求1所述的一种融合Docker容器与KVM虚拟化技术的系统,其特征在于:所述的系统管理层包括物理机管理模块、虚拟机管理模块、镜像模板管理模块和高可用性模块;所述的物理机管理模块负责对系统中的物理主机资源进行管理,包括查看系统物理主机清单、增加物理主机和删除物理主机操作;所述的虚拟机管理模块负责对系统中的虚拟机资源进行管理,主要包括显示/获取系统所有虚拟机清单、根据用户请求创建不同类型的虚拟机、对已存在的虚拟机进行删除、启动、停止和重启的管理操作;所述的镜像模板管理模块通过采用共享存储或者单独的服务器支持镜像和模板资源在整个集群环境下共享,在KVM中,所述的镜像是创建虚拟机时虚拟机所对应的操作系统,模板则指明了虚拟机的处理器、内存、硬盘等硬件配置信息,所述的Docker创建虚拟机时的硬件配置信息通过在创建时直接指定相应参数来实现;所述的高可用性模块采用高可用性方案减少系统的停机时间以提高系统和应用的可用性。3.根据权利要求2所述的一种融合Docker容器与KVM虚拟化技术的系统,其特征在于:所述的物理机管理模块对物理主机资源的管理包括:针对单台物理主机的管理,在要添加到系统中的物理主机之上安装Hypervisor;针对物理机集群的管理,让物理层之上的系统了解整个平台物理主机的运行状况。4.根据权利要求2所述的一种融合Docker容器与KVM虚拟化技术的系统,其特征在于:所述的镜像模板管理模块针对KVM和Docker分别釆用不同的方案支持镜像和模板资源在整个集群环境下共享:针对KVM:使用网络文件系统NFS,所述的NFS允许网络中的计算机之间通过TCP/IP网络共享资源,NFS包括服务器端和客户端,所述...

【专利技术属性】
技术研发人员:李明郭洋潘子春姚振吴斌孙强徐敏马永倪平波张捷喻梅胡州明欧渊张强刘荣刚吴磊左发先李明洪游加庆胡超阳
申请(专利权)人:国网安徽省电力公司信息通信分公司四川中电启明星信息技术有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1