最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

容器虚拟化技术在飞腾1500A平台的应用_论文

IT圈 admin 28浏览 0评论

2024年6月14日发(作者:暴水)

方案与应用

信息技术

信息化

容器虚拟化技术在飞腾1500A平台的应用

The application of Linux Container on FT1500A platform

马晓光

*

孙大军 吴登勇 陈亮甫

MA Xiao-guang SUN Da-jun WU Deng-yong CHEN Liang-fu

摘 要

随着信息安全的呼声日益提高,信息技术领域国产化的需求越来越强烈,国产处理器相应地成为了满足

信息安全的首选。飞腾1500A处理器作为我国国防科技大学自主研制的新一代处理器,以其较高的性

能及稳定性受到政府及军方的青睐。该处理器目前已实现基于Hypervisor的虚拟化功能,但为进一步

提高系统的性能,仍需对飞腾1500A平台下基于容器的虚拟化技术进行研究。Linux 容器 LXC(Linux

containers)是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提

供指令解释机制以及全虚拟化的其他复杂性,其实现只需要 Linux 内核的支持。本文介绍了容器虚拟

化技术的基本原理,并针对飞腾1500A平台下容器虚拟化的框架及关键技术进行了分析,最后指出目前

容器虚拟化技术的不足之处。

关键词

容器虚拟化;飞腾;1500A

Abstract 

With the increasingly requirements of information security, domestic demand in the field of information technology is

getting more and more intense. As a result, domestic processors accordingly become the first choice to meet the information security. As

a new generation of processor independently developed by National University of Defense Technology, FT1500A processor with its high

performance and stability favored by the government and the military. FT1500A processor has Hypervisor-based virtualization capabilities,

but in order to further improve the performance of the system,we still need to research the container-based virtualization technology on

this platform. LXC (Linux containers) is a kernel virtualization technology, it can provide lightweight virtualization to isolate processes and

resources, and do not need to explain mechanisms to provide instruction and full virtualization of additional complexity. Its implementation

requires only the support of the Linux kernel. This paper introduces the basic principles of container virtualization technology, and analyzed

for container virtualization framework and key technologies under FT1500A platform, concluded that at the current container virtualization

technology deficiencies.

Key words

Linux Container ; FT1500A

doi:10.3969/.1672-9528.2017.06.008

1 引言

FT-1500A系列处理器是我国自主研发的高性能64位通

用CPU,兼容ARM V8指令集,采用国际先进的28nm工艺流

片,具有高性能、低功耗等特点。目前,FT-1500A系列包括

4核和16核两款产品。其中4核处理器芯片主频2GHz,功

耗15W,两个DDR3-1600存储通道,支持电源关断、DVFS等

低功耗技术,适用于构建台式终端、一体机、便携笔记本、

微服务器等产品;16核处理器芯片主频2GHz,功耗35W,4

个DDR3-1600存储通道,具有硬件级虚拟化能力,目前已实

现基于Hypervisor的虚拟化技术,最多可支持64个分区,

每个分区可以运行独立的操作系统,拥有自己独立的计算、

存储资源,适用于构建网络前端接入服务器、事务处理服务

器、邮件服务器、数据库服务器、存储服务器等产品。但

Hypervisor虚拟化技术强隔离性的保障策略是以牺牲系统性

能为代价的,对于一些对隔离和性能均有较高要求的业务领

域,需采用基于容器的虚拟化技术。

* 山东超越数控电子有限公司 山东省特种计算机重点实验

室 山东济南 250104

39

2017年第6期

容器虚拟化技术并不需要模拟任何的底层硬件资源,而

是通过与宿主机共用相同的操作系统内核,由宿主机在操作

系统层次上为进程提供虚拟的执行环境。一个虚拟的执行环

境被称为一个容器(container)。使用时可以为每个容器指

定特定的CPU和内存节点,分配特定比例的CPU时间、IO时间,

限制可以使用的内存大小,并且只需将容器中的应用程序本

身与宿主机进行交互便可实现对硬件资源的访问。使用该虚

拟化技术的优点是能够获得与原始主机相当的运行性能。

2 容器虚拟化技术原理

基于容器的虚拟化技术主要是通过使用不同的命名空间

以及对访问权限加以控制等手段来隔离操作系统内核对象,

从而使各个容器之间具有安全性隔离。不同虚拟机下的内核

对象,如句柄、UID、系统共享内存等被隔离到完全不同的命

名空间之中,他们不能访问到命名空间以外的对象,所以各

个虚拟机之间是相互隔离,不可见的。每个容器,即虚拟机

通过创建虚拟操作系统实例来实现虚拟层,宿主机操作系统

采用chroot机制来为各个虚拟机提供文件系统,每个容器都

直接使用宿主操作系统为其应用程序提供服务,所以容器内

会完全继承宿主操作系统赋予系统文件的属性,这样一来可

以方便系统管理员对各个虚拟机进行统一的管理,同时也可

降低虚拟机运行时对内存的开销,从而提高虚拟化实例的密

度。一般来说,物理机的可用硬件资源唯一限制了可配置容

器的数量及其配置,每个容器的配置具有可调节性,从而使

容器虚拟化技术具有较高的可扩展性及易管理性。

图1所示为容器虚拟化原理示意图。容器虚拟化不需要

XEN和KVM所必须的虚拟机监控层就可实现资源的隔离,共

享库之上的应用程序 APP-1 和 APP-2 属于同一个容器,而

APP-3和APP-4则属于另一个容器。不同的容器之间互不干扰,

同一个容器内的进程可以正常通信。在容器的使用过程中,

不同容器只能使用与宿主机相同的内核及操作系统,但可以

基于操作系统内核对不同的进程提供各自的系统视图,可以

通过运行本地化的CPU核心指令来避免指令集模拟的开销,

同时也可避免准虚拟化之间复杂的系统调用。

APP-1APP-2APP-3APP-4

Shared libraryShared library

Host OS

Hardware Resources

图1 容器虚拟化原理图

3 飞腾1500A平台下容器虚拟化框架

目前FT1500A平台下基于Hypervisor的虚拟化技术允

许不同虚拟机中运行各自的操作系统,各虚拟机可以共享宿

信息技术

信息化

方案与应用

主机的各项硬件资源,其虚拟化架构如图2所示。FT1500A

平台利用Hypervisor机制将不同虚拟机及其所占用资源进

行单独的管理。FT1500A平台下的Hypervisor与传统X86体

系架构的Hypervisor不同,它是以固件形式存在并且紧随

着系统的初始化完成启动,而不是通过系统内软件层来实现。

Hypervisor启动后对系统的各项资源拥有最高的访问和控制

权限,通过此种方法,可以进一步提高系统的稳定性,避免

出现XEN及KVM中 Hypervisor的单点故障。

AppsApps

Apps

Bins/LibsBins/Libs

Guest OSGuest OS

...

Bins/Libs

Guest OS

Hypervisor(VMM)

Host OS

Hardware

图2 基于Hypervisor的虚拟化框图

但使用Hypervisor方式的虚拟机会占用较多的系统资

源,在创建虚拟机并安装多个Guest操作系统时,宿主机

系统必须为每个新创建的虚拟机分配硬件资源,而且在虚

拟机中应用程序所发出的请求必须通过Guest操作系统及

Hypervisor两层才能到达硬件资源,这导致了虚拟机的性能

与物理机差异较大。为了使系统下的虚拟机之间能够安全隔

离并且在性能上能更接近宿主机,飞腾1500A平台下采用FT

Container 的容器虚拟化框架,进一步提高虚拟化实例的密

度,如图3所示。

AppsApps

隔离模块资源管理模块

隔离模块资源管理模块

Bins/Libs

Bins/Libs

Host OS

Hardware

图3 FT Container容器虚拟化框架

在FT Container 的容器虚拟化框架中,各容器均可以

共享宿主机的硬件资源及系统库,因此,对于容器虚拟环境

的管理及主机物理资源的管理成为容器型虚拟机的管理重

点。虚拟环境的管理主要涉及各容器与主机之间的通信机制

的管理,而物理资源的管理主要是针对处理器资源、内存资

源、设备资源的管理等。此外,为了提高虚拟机的可用性,

2017年第6期

40

方案与应用

信息技术

信息化

FT1500A平台下的容器型虚拟机还可引入动态迁移机制,以

保证在大规模的虚拟机集群中能够满足容器型虚拟机资源动

态调度的需求。为了满足以上要求,FT Contianer框架包含

了安全隔离、物理资源管理及动态迁移三大模块,其中以安

全隔离和物理资源管理模块为核心,完成硬件资源的分配、

调度及管理,以保证不同容器虚拟机之间能够相互隔离地运

行。

4 飞腾1500A平台下容器虚拟化关键模块

FTContainer 框架的主要任务是在飞腾平台上创建多个

可以相互隔离并且能稳定运行的容器,隔离模块用于在操作

系统下对不同容器进行安全隔离,并为其提供包括主机名、

文件系统、设备、网络、系统资源和安全措施等一系列的执

行环境。在FTContainer框架下,宿主系统采用chroot机制

来隔离不同容器之间的root目录,并且为每个容器定制新的

文件系统根目录。与此同时,系统还采用Linux namespace

的机制来为容器建立独立的上下文环境,以实现进程的隔离。

这种隔离使每个容器均拥有诸如用户资源、进程资源、进程

间通信资源、网络资源等完整的上下文。每个容器在启动时

均有一个特殊的init进程,并以此进程为起点,创建并启动

系统下各其他进程。容器中的init进程与宿主机中该进程的

功能不完全相同,容器中的init进程只需将其他进程启动起

来,而无需完成调度工作,每个容器中的进程调度完全由宿

主操作系统内核的调度程序实现。隔离模块通过提供不同的

命名空间和虚拟化的服务来隔离不同容器内部的进程,这种

隔离保证了每个容器具有自己独立的运行空间,不会受到外

界的干扰,即使某个容器下拥有超级用户权限的进程也无法

对其他容器内的进程造成影响。在实现过程中,每个容器具

有自己唯一的ID标识号,可以独立运行,同一容器中的进程

可以通过IPC机制来进行通信,但容器间的通信只能通过网

络来实现。某个容器中若出现应用错误,则该错误会被隔离

在当前容器中,而不影响其他容器。

资源管理模块主要是对创建容器型虚拟机时宿主机的

硬件资源进行分配及每个容器中所拥有的资源进行管理。在

FT1500A平台下,宿主机操作系统既需要为每个容器提供操

作系统支持,同时还要作为虚拟机管理程序对每个容器进行

管理。Linux内核中所提供的CGroups机制可以从单个进程

的资源控制到实现操作系统层次的虚拟化,将CPU、内存、

IO等资源分配给各容器,同时内核中的Beancounter机制可

以弥补CGroup机制中针对内存使用方面的缺陷。在FTCon-

tainer框架下,我们可以在飞腾平台上同时创建多个容器,

并且允许它们并发执行,每个容器可以看作是一个进程的集

合。它们指向共享的操作系统内核,因此,容器里的每个进

程也是作为系统中的一个进程运行。

为了进一步提高飞腾1500A平台的性能,在FTContain-

er框架下实现了安全隔离和资源管理的同时还需要保证平台

的高可靠性的问题。在大规模虚拟机集群中,虚拟机的数量

41

2017年第6期

及每台虚拟机上的负载往往由运行在其上的应用所决定,在

此种情况下,若在创建虚拟机时为其指定固定的资源,则会

造成某些虚拟机上资源的浪费,若采用人工的方式后期对虚

拟资源进行手动调整,又不可避免地出现滞后的现象。所以

FT1500A平台需要通过对容器虚拟机的资源进行动态调整来

提高其高可用性。FT1500A平台在FTContainer框架下通过

动态迁移模块,可以在资源分配不平衡时实现虚拟机在物理

机之间的快速迁移,而且在这种迁移的过程中,虚拟机能够

保持不间断地运行。动态迁移模块所涉及的关键点在于对迁

移进程检查点的设置以及对容器状态的恢复。通过设置周期

性的检查点,在某个容器虚拟机出现过载或者宕机时,能够

迅速将当前虚拟环境迁移到另一台虚拟环境中,并恢复其之

前的状态。由于FTContainer框架下同一宿主机内的所有容

器均共享宿主机的操作系统和硬件资源,无需安装各自的操

作系统,所以在迁移过程中需要针对不同容器之间的不同部

分即可,这与传统的迁移整个操作系统、交换文件信息和所

有应用程序等相比具有更高的效率及成功率,为服务器的高

可靠性及高可用性提供的保障。

5、容器虚拟化技术的不足之处

虽然容器虚拟化技术在使用过程中较为方便,不需要模

拟任何的底层硬件资源,只需将容器中的应用程序本身与宿

主机进行交互便可实现对硬件资源的访问,而且在性能上可

以获得与原始主机相当的运行性能,但是该技术仍存在许多

的不足之处。首先容器虚拟化技术不支持对磁盘进行配额,

无法限制单一应用所占用的磁盘空间,从而可能导致其他应

用运行的失败;其次该技术不支持checkpoint软件容错机制,

无法使用检查点技术来减小系统的运算损失,从而提高系统

的可靠性。同时针对国产飞腾处理器,容器虚拟化技术的管

理工具仍为命令形式,没有图形化式的人机交互界面,并且

飞腾处理器多核多线程的性质也对CPU的资源调度优化提出

了更高的要求。

参考文献

[1] Smith J,Nair R.The architecture of virtual ma-

chine[J].Computer.2005,38(5): 32-38.

[2] Soltesz, S., H. Poetzl, M. E. Fiuczyns-

ki, A. Bavier, and L. Peterson. Container-based

Operating System Virtualization: A Scalable,

High-performance Alternative to Hypervisors[C], Eu-

roSys’07, Lisboa, Portugal. 2007:275-287.

[3]吴革,李健,赖英旭. 基于操作系统容器虚拟化技术的

JBS模型的研究[J].网络安全技术与应用,2010(4):39-

41.

[4]吴义鹏.基于容器的虚拟机调度算法优化及实现[D].

北京:北京邮电大学,2011.

(收稿日期:2017-05-10)

2024年6月14日发(作者:暴水)

方案与应用

信息技术

信息化

容器虚拟化技术在飞腾1500A平台的应用

The application of Linux Container on FT1500A platform

马晓光

*

孙大军 吴登勇 陈亮甫

MA Xiao-guang SUN Da-jun WU Deng-yong CHEN Liang-fu

摘 要

随着信息安全的呼声日益提高,信息技术领域国产化的需求越来越强烈,国产处理器相应地成为了满足

信息安全的首选。飞腾1500A处理器作为我国国防科技大学自主研制的新一代处理器,以其较高的性

能及稳定性受到政府及军方的青睐。该处理器目前已实现基于Hypervisor的虚拟化功能,但为进一步

提高系统的性能,仍需对飞腾1500A平台下基于容器的虚拟化技术进行研究。Linux 容器 LXC(Linux

containers)是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提

供指令解释机制以及全虚拟化的其他复杂性,其实现只需要 Linux 内核的支持。本文介绍了容器虚拟

化技术的基本原理,并针对飞腾1500A平台下容器虚拟化的框架及关键技术进行了分析,最后指出目前

容器虚拟化技术的不足之处。

关键词

容器虚拟化;飞腾;1500A

Abstract 

With the increasingly requirements of information security, domestic demand in the field of information technology is

getting more and more intense. As a result, domestic processors accordingly become the first choice to meet the information security. As

a new generation of processor independently developed by National University of Defense Technology, FT1500A processor with its high

performance and stability favored by the government and the military. FT1500A processor has Hypervisor-based virtualization capabilities,

but in order to further improve the performance of the system,we still need to research the container-based virtualization technology on

this platform. LXC (Linux containers) is a kernel virtualization technology, it can provide lightweight virtualization to isolate processes and

resources, and do not need to explain mechanisms to provide instruction and full virtualization of additional complexity. Its implementation

requires only the support of the Linux kernel. This paper introduces the basic principles of container virtualization technology, and analyzed

for container virtualization framework and key technologies under FT1500A platform, concluded that at the current container virtualization

technology deficiencies.

Key words

Linux Container ; FT1500A

doi:10.3969/.1672-9528.2017.06.008

1 引言

FT-1500A系列处理器是我国自主研发的高性能64位通

用CPU,兼容ARM V8指令集,采用国际先进的28nm工艺流

片,具有高性能、低功耗等特点。目前,FT-1500A系列包括

4核和16核两款产品。其中4核处理器芯片主频2GHz,功

耗15W,两个DDR3-1600存储通道,支持电源关断、DVFS等

低功耗技术,适用于构建台式终端、一体机、便携笔记本、

微服务器等产品;16核处理器芯片主频2GHz,功耗35W,4

个DDR3-1600存储通道,具有硬件级虚拟化能力,目前已实

现基于Hypervisor的虚拟化技术,最多可支持64个分区,

每个分区可以运行独立的操作系统,拥有自己独立的计算、

存储资源,适用于构建网络前端接入服务器、事务处理服务

器、邮件服务器、数据库服务器、存储服务器等产品。但

Hypervisor虚拟化技术强隔离性的保障策略是以牺牲系统性

能为代价的,对于一些对隔离和性能均有较高要求的业务领

域,需采用基于容器的虚拟化技术。

* 山东超越数控电子有限公司 山东省特种计算机重点实验

室 山东济南 250104

39

2017年第6期

容器虚拟化技术并不需要模拟任何的底层硬件资源,而

是通过与宿主机共用相同的操作系统内核,由宿主机在操作

系统层次上为进程提供虚拟的执行环境。一个虚拟的执行环

境被称为一个容器(container)。使用时可以为每个容器指

定特定的CPU和内存节点,分配特定比例的CPU时间、IO时间,

限制可以使用的内存大小,并且只需将容器中的应用程序本

身与宿主机进行交互便可实现对硬件资源的访问。使用该虚

拟化技术的优点是能够获得与原始主机相当的运行性能。

2 容器虚拟化技术原理

基于容器的虚拟化技术主要是通过使用不同的命名空间

以及对访问权限加以控制等手段来隔离操作系统内核对象,

从而使各个容器之间具有安全性隔离。不同虚拟机下的内核

对象,如句柄、UID、系统共享内存等被隔离到完全不同的命

名空间之中,他们不能访问到命名空间以外的对象,所以各

个虚拟机之间是相互隔离,不可见的。每个容器,即虚拟机

通过创建虚拟操作系统实例来实现虚拟层,宿主机操作系统

采用chroot机制来为各个虚拟机提供文件系统,每个容器都

直接使用宿主操作系统为其应用程序提供服务,所以容器内

会完全继承宿主操作系统赋予系统文件的属性,这样一来可

以方便系统管理员对各个虚拟机进行统一的管理,同时也可

降低虚拟机运行时对内存的开销,从而提高虚拟化实例的密

度。一般来说,物理机的可用硬件资源唯一限制了可配置容

器的数量及其配置,每个容器的配置具有可调节性,从而使

容器虚拟化技术具有较高的可扩展性及易管理性。

图1所示为容器虚拟化原理示意图。容器虚拟化不需要

XEN和KVM所必须的虚拟机监控层就可实现资源的隔离,共

享库之上的应用程序 APP-1 和 APP-2 属于同一个容器,而

APP-3和APP-4则属于另一个容器。不同的容器之间互不干扰,

同一个容器内的进程可以正常通信。在容器的使用过程中,

不同容器只能使用与宿主机相同的内核及操作系统,但可以

基于操作系统内核对不同的进程提供各自的系统视图,可以

通过运行本地化的CPU核心指令来避免指令集模拟的开销,

同时也可避免准虚拟化之间复杂的系统调用。

APP-1APP-2APP-3APP-4

Shared libraryShared library

Host OS

Hardware Resources

图1 容器虚拟化原理图

3 飞腾1500A平台下容器虚拟化框架

目前FT1500A平台下基于Hypervisor的虚拟化技术允

许不同虚拟机中运行各自的操作系统,各虚拟机可以共享宿

信息技术

信息化

方案与应用

主机的各项硬件资源,其虚拟化架构如图2所示。FT1500A

平台利用Hypervisor机制将不同虚拟机及其所占用资源进

行单独的管理。FT1500A平台下的Hypervisor与传统X86体

系架构的Hypervisor不同,它是以固件形式存在并且紧随

着系统的初始化完成启动,而不是通过系统内软件层来实现。

Hypervisor启动后对系统的各项资源拥有最高的访问和控制

权限,通过此种方法,可以进一步提高系统的稳定性,避免

出现XEN及KVM中 Hypervisor的单点故障。

AppsApps

Apps

Bins/LibsBins/Libs

Guest OSGuest OS

...

Bins/Libs

Guest OS

Hypervisor(VMM)

Host OS

Hardware

图2 基于Hypervisor的虚拟化框图

但使用Hypervisor方式的虚拟机会占用较多的系统资

源,在创建虚拟机并安装多个Guest操作系统时,宿主机

系统必须为每个新创建的虚拟机分配硬件资源,而且在虚

拟机中应用程序所发出的请求必须通过Guest操作系统及

Hypervisor两层才能到达硬件资源,这导致了虚拟机的性能

与物理机差异较大。为了使系统下的虚拟机之间能够安全隔

离并且在性能上能更接近宿主机,飞腾1500A平台下采用FT

Container 的容器虚拟化框架,进一步提高虚拟化实例的密

度,如图3所示。

AppsApps

隔离模块资源管理模块

隔离模块资源管理模块

Bins/Libs

Bins/Libs

Host OS

Hardware

图3 FT Container容器虚拟化框架

在FT Container 的容器虚拟化框架中,各容器均可以

共享宿主机的硬件资源及系统库,因此,对于容器虚拟环境

的管理及主机物理资源的管理成为容器型虚拟机的管理重

点。虚拟环境的管理主要涉及各容器与主机之间的通信机制

的管理,而物理资源的管理主要是针对处理器资源、内存资

源、设备资源的管理等。此外,为了提高虚拟机的可用性,

2017年第6期

40

方案与应用

信息技术

信息化

FT1500A平台下的容器型虚拟机还可引入动态迁移机制,以

保证在大规模的虚拟机集群中能够满足容器型虚拟机资源动

态调度的需求。为了满足以上要求,FT Contianer框架包含

了安全隔离、物理资源管理及动态迁移三大模块,其中以安

全隔离和物理资源管理模块为核心,完成硬件资源的分配、

调度及管理,以保证不同容器虚拟机之间能够相互隔离地运

行。

4 飞腾1500A平台下容器虚拟化关键模块

FTContainer 框架的主要任务是在飞腾平台上创建多个

可以相互隔离并且能稳定运行的容器,隔离模块用于在操作

系统下对不同容器进行安全隔离,并为其提供包括主机名、

文件系统、设备、网络、系统资源和安全措施等一系列的执

行环境。在FTContainer框架下,宿主系统采用chroot机制

来隔离不同容器之间的root目录,并且为每个容器定制新的

文件系统根目录。与此同时,系统还采用Linux namespace

的机制来为容器建立独立的上下文环境,以实现进程的隔离。

这种隔离使每个容器均拥有诸如用户资源、进程资源、进程

间通信资源、网络资源等完整的上下文。每个容器在启动时

均有一个特殊的init进程,并以此进程为起点,创建并启动

系统下各其他进程。容器中的init进程与宿主机中该进程的

功能不完全相同,容器中的init进程只需将其他进程启动起

来,而无需完成调度工作,每个容器中的进程调度完全由宿

主操作系统内核的调度程序实现。隔离模块通过提供不同的

命名空间和虚拟化的服务来隔离不同容器内部的进程,这种

隔离保证了每个容器具有自己独立的运行空间,不会受到外

界的干扰,即使某个容器下拥有超级用户权限的进程也无法

对其他容器内的进程造成影响。在实现过程中,每个容器具

有自己唯一的ID标识号,可以独立运行,同一容器中的进程

可以通过IPC机制来进行通信,但容器间的通信只能通过网

络来实现。某个容器中若出现应用错误,则该错误会被隔离

在当前容器中,而不影响其他容器。

资源管理模块主要是对创建容器型虚拟机时宿主机的

硬件资源进行分配及每个容器中所拥有的资源进行管理。在

FT1500A平台下,宿主机操作系统既需要为每个容器提供操

作系统支持,同时还要作为虚拟机管理程序对每个容器进行

管理。Linux内核中所提供的CGroups机制可以从单个进程

的资源控制到实现操作系统层次的虚拟化,将CPU、内存、

IO等资源分配给各容器,同时内核中的Beancounter机制可

以弥补CGroup机制中针对内存使用方面的缺陷。在FTCon-

tainer框架下,我们可以在飞腾平台上同时创建多个容器,

并且允许它们并发执行,每个容器可以看作是一个进程的集

合。它们指向共享的操作系统内核,因此,容器里的每个进

程也是作为系统中的一个进程运行。

为了进一步提高飞腾1500A平台的性能,在FTContain-

er框架下实现了安全隔离和资源管理的同时还需要保证平台

的高可靠性的问题。在大规模虚拟机集群中,虚拟机的数量

41

2017年第6期

及每台虚拟机上的负载往往由运行在其上的应用所决定,在

此种情况下,若在创建虚拟机时为其指定固定的资源,则会

造成某些虚拟机上资源的浪费,若采用人工的方式后期对虚

拟资源进行手动调整,又不可避免地出现滞后的现象。所以

FT1500A平台需要通过对容器虚拟机的资源进行动态调整来

提高其高可用性。FT1500A平台在FTContainer框架下通过

动态迁移模块,可以在资源分配不平衡时实现虚拟机在物理

机之间的快速迁移,而且在这种迁移的过程中,虚拟机能够

保持不间断地运行。动态迁移模块所涉及的关键点在于对迁

移进程检查点的设置以及对容器状态的恢复。通过设置周期

性的检查点,在某个容器虚拟机出现过载或者宕机时,能够

迅速将当前虚拟环境迁移到另一台虚拟环境中,并恢复其之

前的状态。由于FTContainer框架下同一宿主机内的所有容

器均共享宿主机的操作系统和硬件资源,无需安装各自的操

作系统,所以在迁移过程中需要针对不同容器之间的不同部

分即可,这与传统的迁移整个操作系统、交换文件信息和所

有应用程序等相比具有更高的效率及成功率,为服务器的高

可靠性及高可用性提供的保障。

5、容器虚拟化技术的不足之处

虽然容器虚拟化技术在使用过程中较为方便,不需要模

拟任何的底层硬件资源,只需将容器中的应用程序本身与宿

主机进行交互便可实现对硬件资源的访问,而且在性能上可

以获得与原始主机相当的运行性能,但是该技术仍存在许多

的不足之处。首先容器虚拟化技术不支持对磁盘进行配额,

无法限制单一应用所占用的磁盘空间,从而可能导致其他应

用运行的失败;其次该技术不支持checkpoint软件容错机制,

无法使用检查点技术来减小系统的运算损失,从而提高系统

的可靠性。同时针对国产飞腾处理器,容器虚拟化技术的管

理工具仍为命令形式,没有图形化式的人机交互界面,并且

飞腾处理器多核多线程的性质也对CPU的资源调度优化提出

了更高的要求。

参考文献

[1] Smith J,Nair R.The architecture of virtual ma-

chine[J].Computer.2005,38(5): 32-38.

[2] Soltesz, S., H. Poetzl, M. E. Fiuczyns-

ki, A. Bavier, and L. Peterson. Container-based

Operating System Virtualization: A Scalable,

High-performance Alternative to Hypervisors[C], Eu-

roSys’07, Lisboa, Portugal. 2007:275-287.

[3]吴革,李健,赖英旭. 基于操作系统容器虚拟化技术的

JBS模型的研究[J].网络安全技术与应用,2010(4):39-

41.

[4]吴义鹏.基于容器的虚拟机调度算法优化及实现[D].

北京:北京邮电大学,2011.

(收稿日期:2017-05-10)

发布评论

评论列表 (0)

  1. 暂无评论