一种混合部署的虚拟化平台及部署方法技术

技术编号:18301972 阅读:44 留言:0更新日期:2018-06-28 11:56
本发明专利技术涉及一种混合部署的虚拟化平台及部署方法,所述的平台包括硬件层、Linux操作系统、Docker容器、KVM虚拟机、用户界面和虚拟机管理模块;所述的部署方法包括统一硬件资源调用;统一混合部署虚拟化平台的管理机制;以及应用Linux内核的安全计算模型确保Docker容器只运行特定的系统调用。本发明专利技术分别从Docker安全策略层面,硬件资源层面和资源管理层面分别对两种虚拟机模型的混合部署进行了优化,消除了虚拟机模型差异化所带来的机制冲突和管理差异。本发明专利技术可在原有设备上改造实施,大大节约了社会成本。

A hybrid deployment virtualization platform and deployment method

The invention relates to a virtualization platform and deployment method of mixed deployment, which includes hardware layer, Linux operating system, Docker container, KVM virtual machine, user interface and virtual machine management module. The deployment method includes unified hardware resource call and unified management mechanism of mixed deployment virtualization platform; And apply the Linux kernel security computing model to ensure that the Docker container runs only a specific system call. This invention has optimized the mixed deployment of two virtual machine models from the level of Docker security policy, hardware resource level and resource management level respectively, eliminating the mechanism conflicts and management differences caused by the virtual machine model differentiation. The invention can be retrofit on the original equipment and greatly saves the social cost.

【技术实现步骤摘要】
一种混合部署的虚拟化平台及部署方法
本专利技术涉及网络应用交付控制领域,特别涉及一种混合部署的虚拟化平台及部署方法。
技术介绍
随着信息化产业的快速发展,硬件资源利用率低下和服务器管理工作量大的问题日益突出。虚拟化技术通过将物理资源抽象成逻辑资源,从而实现将多台虚拟机以互相隔离的方式同时部署在一个虚拟化平台上,使得程序或软件不再独享CPU、内存、硬盘、I/O等资源,大幅度提高了系统资源的利用率。传统的虚拟化技术,例如KVM虚拟机,使用Hypervisor模型,通过模拟出一个完整的操作系统来实现虚拟化,但是Hypervisor模型模拟出的操作系统会占用大量内存空间等系统资源,而且存在启动速度偏慢的问题。Docker(容器模型虚拟机,以下称“Docker容器”)是近年来发展迅速的虚拟化技术,由于Docker容器本身并不需要完全独立的操作系统来实现与环境的隔离,大大降低了资源占用,被誉为是轻量级的虚拟化技术,其快速的启动速度和更为优异的性能表现极大弥补了KVM虚拟机本身的缺陷。然而考虑到Docker容器本身的安全机制尚未完全成熟,且KVM虚拟机依旧拥有大量的市场占有率,采用将两种虚拟机进行融合的虚拟化平台将会拥有大量市场,目前尚无成熟的方案来支持KVM和Docker容器的混合部署。因此实现同时在虚拟化平台上部署KVM和Docker这两种类型的虚拟机将成为本领域亟待解决的技术问题。根据虚拟机构建原理的差异性,Docker容器和KVM虚拟机相互不兼容,要实现混合部署的虚拟化平台,主要存在以下几个方面的技术难题:1、硬件资源调用的不兼容:KVM虚拟机通过虚拟出硬件资源来完成资源调用,而Docker容器本身就直接架构在宿主机系统上;在存储方面,Docker容器有别于KVM虚拟机的地方在于其主要通过记录文件增量的方式来完成存储;在硬件处理上,KVM虚拟机需要内装驱动,而Docker容器则直接使用宿主机驱动。2、部署原理的不兼容:由于Docker容器本身采用迁移AUFS文件系统的方式来实现虚拟机的复制,这有别于传统的KVM虚拟机使用镜像文件安装虚拟机的方式。3、安全机制的不兼容:KVM虚拟机操作系统架构在Hypervisor之上,而Hypervisor本身又能为其虚拟机提供安全保障,其安全表现相对稳定;但Docker容器直接运行于宿主机系统上,中间没有任何安全保护层的介入,需要配合一定的安全策略和技术。
技术实现思路
为解决上述难题,本专利技术的目的是消除并优化Docker容器和KVM虚拟机因差异化造成的机制冲突和管理差异,进而提出一种混合部署的虚拟化平台及部署方法。一种混合部署的虚拟化平台包括硬件层、Linux操作系统、Docker容器、KVM虚拟机、虚拟机管理模块和用户界面,其中,所述硬件层至少包括CPU、内存、I/O设备;所述的Linux操作系统包括Linux内核的安全计算模型,用以确保Docker容器只运行特定的系统调用;所述虚拟机管理模块至少包括镜像管理模块和资源管理模块;所述的镜像管理模块用以将Docker容器以镜像导入的方式部署到混合部署的虚拟化平台;所述的资源管理模块包括对CPU资源、I/O设备资源及内存资源的调度管理。一种混合部署虚拟化平台的部署方法,包括以下步骤:步骤1,统一硬件资源调用,用以实现Docker容器兼容KVM虚拟机的资源用量分配,使二者可以进行统一调用;进一步地:步骤1-1,根据需要划分若干种虚拟机资源级别;步骤1-2,按照CPU、内存、I/O设备的顺序确定资源级别,并对应虚拟机预先分配固定的资源量;步骤1-3,利用Linux操作系统中的Cgroup功能将硬件资源划分为若干类,并为每一类别硬件资源创建一个资源池;步骤1-4,在创建Docker容器或KVM虚拟机时,从上述资源池划分出相应的资源量,并且使该容器或虚拟机与所述相应的资源量进行绑定;更进一步地,步骤1-4-1,使用所述Cgroup中的cpuset子系统(cpuset.mems)为上述Docker容器或KVM虚拟机指定CPU的位置;步骤1-4-2,使用所述Cgroup的cpuset.mems为上述Docker容器或KVM虚拟机指定内存节点;步骤1-4-3,使用所述Cgroup中的memory子系统为Docker容器或KVM虚拟机设置内存调用的上限并产生内存资源报告,,当虚拟机的内存调用超过了memorylimit所设置的限额,该容器或虚拟机将被终结;步骤1-4-4,利用SR-IOV技术调度I/O设备,按照Docker容器或KVM虚拟机资源级别,将相应数量的VF分配给虚拟机,并通过I/O设备资源分配算法给虚拟机优先分配未被占用的流量端口的VF,用以实现I/O硬件设备的有效利用;步骤2,统一混合部署虚拟化平台的管理机制,其中包括:步骤2-1,通过描述文件和镜像文件的配合统一KVM虚拟机部署文件;步骤2-2,将Docker容器以镜像导入的方式部署到混合部署虚拟化平台;步骤2-3,统一KVM虚拟机和Docker容器的生命周期,从虚拟机的创建、启动、关闭和删除等各个环节对KVM虚拟机和Docker容器的操作进行优化和统一;步骤2-4,采用统一XMLRPC和RestfulAPI,以方便管理员的日常维护;步骤3,应用Linux内核的安全计算模型确保Docker容器只运行特定的系统调用,以确保Docker容器只运行特定的系统调用。本专利技术解决了上述已有技术中存在的难题,分别从Docker安全策略层面,硬件资源层面和资源管理层面分别对两种虚拟机模型的混合部署进行了优化,消除了虚拟机模型差异化所带来的机制冲突和管理差异。本专利技术可在原有设备上改造实施,大大节约了社会成本。附图说明图1是本专利技术虚拟化平台的逻辑架构示意图;图2是本专利技术虚拟化平台的流量端口资源调度图;图3是本专利技术I/O设备资源分配算法软件框图;图4是本专利技术虚拟机管理的生命周期图。具体实施方式在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也是本申请各权利要求所要求保护的技术方案。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的实施方式作进一步地详细描述。如图1所示,一种混合部署的虚拟化平台包括硬件层100、Linux操作系统200、Docker容器300和KVM虚拟机400、虚拟机管理模块500和用户界面600。其中,所述硬件层至少包括CPU、内存、I/O设备,所述的I/O设备至少包括硬盘和流量端口;所述的Linux操作系统包括Linux内核的安全计算模型(Seccomp),用以确保Docker容器只运行特定的系统调用;所述虚拟机管理模块至少包括镜像管理模块501和资源管理模块502;所述的镜像管理模块用以将Docker容器以镜像导入的方式部署到混合部署的虚拟化平台;所述的资源管理模块包括对CPU资源、I/O设备资源及内存资源的调度管理。一种混合部署虚拟化平台的部署方法,包括以下步骤:步骤1,统一硬件资源调用,用以实现Docker容器兼容KVM虚拟机的资源用量分配,使二者可以进行统一调用;进一步地:步骤1-1,根据需要划分若干种虚拟机资源级别,例如,华耀(中国)科本文档来自技高网
...
一种混合部署的虚拟化平台及部署方法

【技术保护点】
1.一种混合部署的虚拟化平台,包括硬件层、Linux操作系统、Docker容器、KVM虚拟机和用户界面;所述硬件层至少包括CPU、内存、I/O设备;所述的Linux操作系统包括Linux内核的安全计算模型,用以确保Docker容器只运行特定的系统调用;其特征是还包括虚拟机管理模块:所述虚拟机管理模块至少包括镜像管理模块和资源管理模块。

【技术特征摘要】
1.一种混合部署的虚拟化平台,包括硬件层、Linux操作系统、Docker容器、KVM虚拟机和用户界面;所述硬件层至少包括CPU、内存、I/O设备;所述的Linux操作系统包括Linux内核的安全计算模型,用以确保Docker容器只运行特定的系统调用;其特征是还包括虚拟机管理模块:所述虚拟机管理模块至少包括镜像管理模块和资源管理模块。2.根据权利要求1所述的一种混合部署的虚拟化平台,其特征是所述的镜像管理模块用以将Docker容器以镜像导入的方式部署到混合部署的虚拟化平台。3.根据权利要求1所述的一种混合部署的虚拟化平台,其特征是所述的资源管理模块用以实现对CPU资源、I/O设备资源及内存资源的调度管理。4.一种混合部署虚拟化平台的部署方法,其特征是包括以下步骤:步骤1,统一硬件资源调用,用以实现Docker容器兼容KVM虚拟机的资源用量分配,使二者可以进行统一调用;步骤2,统一混合部署虚拟化平台的管理机制;步骤3,应用Linux内核的安全计算模型确保Docker容器只运行特定的系统调用,以确保Docker容器只运行特定的系统调用。5.根据权利要求4所述的一种混合部署虚拟化平台的部署方法,其特征是所述的统一硬件资源调用包括以下分步骤:步骤1-1,根据需要划分若干种虚拟机资源级别;步骤1-2,按照CPU、内存、I/O设备的顺序确定资源级别,并对应虚拟机预先分配固定的资源量;步骤1-3,利用Linux操作系统中的Cgroup功能将所述硬件资源划分为若干类,并为每一类别硬件资源创建一个资源池;步骤1-4,在创建Docker容器或KVM虚拟机时,从上述资源池划分出相应的资源量,并且使该容器或虚拟机与所述相应的资源量进行绑定。6.根据权利要求5所述的一种混合部署虚拟化平台的部署方法,其特征是所述的使该容器或虚拟机与所述相应的资源量进行绑定包括以下分步骤:步骤1-4-1,使用所述Cgroup中的cpuset子系统(cpuset...

【专利技术属性】
技术研发人员:缪金成王力穆立超
申请(专利权)人:华耀中国科技有限公司
类型:发明
国别省市:北京,11

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

1