CN104331659A - 一种关键应用主机系统资源应用隔离的设计方法 - Google Patents
一种关键应用主机系统资源应用隔离的设计方法 Download PDFInfo
- Publication number
- CN104331659A CN104331659A CN201410595115.XA CN201410595115A CN104331659A CN 104331659 A CN104331659 A CN 104331659A CN 201410595115 A CN201410595115 A CN 201410595115A CN 104331659 A CN104331659 A CN 104331659A
- Authority
- CN
- China
- Prior art keywords
- container
- isolation
- token
- queue
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种关键应用主机系统资源应用隔离的设计方法,属于计算机信息技术领域,本发明主要介绍了多个独立的虚拟专用服务器同时运行在一个物理服务器上,有效地共享应用主机硬件资源。软分区技术有效的将单个操作系统资源灵活的划分到独立的虚拟运行环境中,限制每个虚拟专用服务器使用的硬盘大小,内存大小,CPU数量,以实现高效的资源分配、权能管理和故障隔离,实现应用资源隔离和进程隔离。
Description
技术领域
本发明涉及计算机信息技术领域,具体是利用一种关键应用主机系统资源应用隔离的设计方法。
背景技术
随着计算机信息技术的迅速发展,关键应用主机处理能力越来越强,CPU核数从当初的几核已经发展到几百核心,内存从当初的几GB已经达到TB级,硬盘容量更是无限扩展,关键应用主机通过SAN网络连接存储容量能达到PB级,如此大的处理能力和容量,如何充分合理的利用,已成为各个企业和数据中心面临的重要问题。
发明内容
本文试图通过在关键应用主机上使用软分区技术,实现应用程序和资源隔离,充分发挥关键应用主机处理能力和系统资源。
本发明主要介绍了多个独立的虚拟专用服务器同时运行在一个物理服务器,有效地共享应用主机硬件资源。
把应用主机划分多个虚拟专用服务器,限制每个虚拟专用服务器使用的硬盘大小,内存大小,CPU数量合理的分配物理主机硬件资源,并且各虚拟专用服务器之间实现进程隔离和应用隔离。
本方法在关键应用主机上使用软分区技术(应用容器)合理的分配系统资源和应用隔离,很好的满足了企业用户的需要。软分区技术只需要一个宿主操作系统,容器分别宿主主机上进行创建或克隆,实现方便、管理简单,应用程序分别安装在每个容器中,程序之间逻辑隔离,互补影响,充分实现了关键应用主机资源的合理利用。
附图说明
附图1是本发明的设计模型图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
a.设计思想
软分区技术是由操作系统管理的,具有特定资源和权能的虚拟运行环境,软分区技术有效的将单个操作系统管理的资源灵活地划分到独立的虚拟运行环境中,以实现高效地资源分配,权能管理和故障隔离。与传统的虚拟机不同,所有的容器直接运行在同一操作系统中,无需虚拟监管层管理。容器向应用程序提供虚拟的操作系统视图,而非物理机。容器仅仅消耗极少的系统资源,带来的性能损失不超过5%,而去极大的合理利用了关键应用主机的资源。
b.设计模型
模型图如图1所示。
c.处理器资源隔离
通过在关键应用主机OS标准调度器上增加令牌过滤器实现处理器隔离。每个处理器拥有1个令牌桶,以设定的速率积累令牌;每个计时器节拍,被执行的进程所在容器需要消耗1个令牌。容器在用尽其令牌时,将其中的进程从可执行队列中移出;直到该容器的令牌积累至一定的阀值时,才重新将所包含的进程移至运行队列。通过控制容器获得令牌的速率,就能够实现处理器资源在不同容器间的分配。
d.内存资源隔离
对于内存资源的管理,通过最大驻留集合大小、占用匿名内存页框数、加锁占用内存页的最大数量。
限制命令:
其中,设置软限制加上-S参数。
使用命令设置的限制都属于临时性,且必须在虚拟机关闭时设置,如果需要长期设置,需要创建限制文件:
设置flag,必须设置,否则在虚拟机中无法使用free -k显示出正确的内存:
e. 网络管理
通过分层令牌桶机制实现网络带宽分配,对于每个容器,根据保留比率和共享比率为其创建令牌桶:前者用于确定专用于特定容器的输出带宽,后者用以调整超出专用带宽所使用的共享带宽。核心以容器ID标记自该容器发出的以太网数据包,随后分类到容器的令牌桶。分层令牌桶机制根据每个容器持有的令牌数量决定容器能发送的数据包的数量,剩余的带宽则平均分配给所有设置了共享标记的容器。
f. 磁盘管理
使用完全公正排队算法实现磁盘带宽分配。完全公正调度器把待完成的I/O请求加入特定的队列中,这种队列是根据发起I/O请求的进程组的。在每个队列中,最新到达的请求将尝试与相邻的请求合并,或进行插入后合并。队列由此按照扇区分类。每个提交了I/O请求的进程拥有独立的磁盘I/O请求队列,调度器以时间片轮转访问每个进程的请求队列,从每个队列中选取相同数量的请求,全部完成后进行下一轮次的调度。
首先进行
然后:
此时,已经可以进行设置了:
其中,4个文件的分别代表如下,进行设置后,重启虚拟机生效。
directory——进行限制的虚拟机目录
space_total——限制使用的磁盘大小
inodes_total——限制只用的inode节点数量
reserved——给予root用户保留空间的百分比
g.进程空间隔离
每个应用分别在各自独立的应用容器中启动,使用全局的pid空间,基于上述技术方案的选择,设计进程过滤器用以对容器隐藏外部进程,更重要的目的是阻止进程内外部进程非许可通信,这样每个应用进程之间相互隔离,互不影响。具体实现上,需要对进程相关数据结构进行较大修改,主要包括两个方面:为进程描述符等数据结构增加所属容器标志的成员;能够区分不同容器的UID。当操作系统启动时,所有进程同属1个缺省的宿主容器。按照设计,实现1个专用的监控容器,用以全局进程管理。
h.文件系统隔离
通过维护进程描述符中的文件系统指针的root成员实现文件系统隔离。核心已经实现了能够满足此要求的系统调用chroot。该方法检查进程对指定路径文件系统访问权限,以及相应用户是否具有cap_sys_chroot权限;如果通过以上检查则重新设置进程的文件系统根目录,只需要每个容器制定不同的根目录,即可实现文件系统隔离的基本要求。
i.网络隔离
为保证千兆以上速率的网络性能,选择将路由表和防火墙规则在所有容器间共享,但提供设置某个容器独占或者以共享方式使用某个网络接口。
通过为网络数据包添加所属容器的标签,直接在核心网络协议栈中对数据进行过滤,即可保证数据包被正确的容器接收和处理。
Claims (8)
1.一种关键应用主机系统资源应用隔离的设计方法,其特征在于一个以上独立的虚拟专用服务器同时运行在一个物理服务器;把应用主机划分数个虚拟专用服务器,限制每个虚拟专用服务器使用的硬盘大小、内存大小、CPU数量,合理的分配物理主机硬件资源,并且各虚拟专用服务器之间实现进程隔离和应用隔离。
2.根据权利要求1所述的方法,其特征在于处理器资源隔离,通过在关键应用主机OS标准调度器上增加令牌过滤器实现处理器隔离,每个处理器拥有1个令牌桶,以设定的速率积累令牌;每个计时器节拍,被执行的进程所在容器需要消耗1个令牌;容器在用尽其令牌时,将其中的进程从可执行队列中移出;直到该容器的令牌积累后,才重新将所包含的进程移至运行队列;通过控制容器获得令牌的速率,就能够实现处理器资源在不同容器间的分配。
3.根据权利要求1所述的方法,其特征在于内存资源隔离,对于内存资源的管理,通过最大驻留集合大小、占用匿名内存页框数、加锁占用内存页的最大数量。
4.根据权利要求1所述的方法,其特征在于网络管理,通过分层令牌桶机制实现网络带宽分配,对于每个容器,根据保留比率和共享比率为其创建令牌桶:前者用于确定专用于特定容器的输出带宽,后者用以调整超出专用带宽所使用的共享带宽;核心以容器ID标记自该容器发出的以太网数据包,随后分类到容器的令牌桶;分层令牌桶机制根据每个容器持有的令牌数量决定容器能发送的数据包的数量,剩余的带宽则平均分配给所有设置了共享标记的容器。
5.根据权利要求1所述的方法,其特征在于磁盘管理,使用完全公正排队算法实现磁盘带宽分配;完全公正调度器把待完成的I/O请求加入特定的队列中,这种队列是根据发起I/O请求的进程组的;在每个队列中,最新到达的请求将尝试与相邻的请求合并,或进行插入后合并;队列由此按照扇区分类;每个提交了I/O请求的进程拥有独立的磁盘I/O请求队列,调度器以时间片轮转访问每个进程的请求队列,从每个队列中选取相同数量的请求,全部完成后进行下一轮次的调度。
6.根据权利要求1所述的方法,其特征在于进程空间隔离,每个应用分别在各自独立的应用容器中启动,使用全局的pid空间,设计进程过滤器用以对容器隐藏外部进程,更重要的目的是阻止进程内外部进程非许可通信,这样每个应用进程之间相互隔离,互不影响。
7.根据权利要求1所述的方法,其特征在于文件系统隔离,通过维护进程描述符中的文件系统指针的root成员实现文件系统隔离;核心已经实现了能够满足此要求的系统调用chroot;该方法检查进程对指定路径文件系统访问权限,以及相应用户是否具有cap_sys_chroot权限;如果通过以上检查则重新设置进程的文件系统根目录,只需要每个容器制定不同的根目录,即可实现文件系统隔离的基本要求。
8.根据权利要求1所述的方法,其特征在于网络隔离,为保证千兆以上速率的网络性能,选择将路由表和防火墙规则在所有容器间共享,但提供设置某个容器独占或者以共享方式使用一个网络接口;
通过为网络数据包添加所属容器的标签,直接在核心网络协议栈中对数据进行过滤,即可保证数据包被正确的容器接收和处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410595115.XA CN104331659A (zh) | 2014-10-30 | 2014-10-30 | 一种关键应用主机系统资源应用隔离的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410595115.XA CN104331659A (zh) | 2014-10-30 | 2014-10-30 | 一种关键应用主机系统资源应用隔离的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104331659A true CN104331659A (zh) | 2015-02-04 |
Family
ID=52406381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410595115.XA Pending CN104331659A (zh) | 2014-10-30 | 2014-10-30 | 一种关键应用主机系统资源应用隔离的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331659A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573507A (zh) * | 2015-02-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种安全容器及其设计方法 |
CN105491021A (zh) * | 2015-11-24 | 2016-04-13 | 华东师范大学 | 一种Android云应用服务器及Android云应用服务器系统 |
WO2016131383A1 (zh) * | 2015-07-16 | 2016-08-25 | 中兴通讯股份有限公司 | 一种系统的维护进程运行方法及装置 |
CN108762999A (zh) * | 2018-05-23 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种内核故障收集方法及装置 |
CN108762826A (zh) * | 2018-04-23 | 2018-11-06 | 厦门市美亚柏科信息股份有限公司 | 进程隐藏方法及计算机可读存储介质 |
CN111709023A (zh) * | 2020-06-16 | 2020-09-25 | 全球能源互联网研究院有限公司 | 一种基于可信操作系统的应用隔离方法及系统 |
CN111930832A (zh) * | 2015-09-21 | 2020-11-13 | 华为技术有限公司 | 快速和可扩展的数据库集群通信路径 |
CN112783661A (zh) * | 2021-02-08 | 2021-05-11 | 上海交通大学 | 一种适用于容器环境下的内存重删方法及装置 |
CN114035901A (zh) * | 2021-11-16 | 2022-02-11 | 湖北亿咖通科技有限公司 | 用于运行进程的容器的构建方法、装置和电子设备 |
CN114546599A (zh) * | 2022-02-25 | 2022-05-27 | 科东(广州)软件科技有限公司 | 一种容器操作系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223202B1 (en) * | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
US7461148B1 (en) * | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with isolation of system components |
US7461144B1 (en) * | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with enhanced security |
CN103797465A (zh) * | 2011-09-14 | 2014-05-14 | 阿尔卡特朗讯 | 用于提供隔离的虚拟空间的方法与设备 |
-
2014
- 2014-10-30 CN CN201410595115.XA patent/CN104331659A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223202B1 (en) * | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
US7461148B1 (en) * | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with isolation of system components |
US7461144B1 (en) * | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with enhanced security |
CN103797465A (zh) * | 2011-09-14 | 2014-05-14 | 阿尔卡特朗讯 | 用于提供隔离的虚拟空间的方法与设备 |
Non-Patent Citations (1)
Title |
---|
黎润: "基于容器的操作系统虚拟化:一种高性能,可扩展的虚拟机监视器(Hypervisprs)替代者", 《BLOG.SINA.COM.CN/S/BOG_508D2C500100O0T0.HTML》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573507A (zh) * | 2015-02-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种安全容器及其设计方法 |
WO2016131383A1 (zh) * | 2015-07-16 | 2016-08-25 | 中兴通讯股份有限公司 | 一种系统的维护进程运行方法及装置 |
CN106354560A (zh) * | 2015-07-16 | 2017-01-25 | 中兴通讯股份有限公司 | 一种系统的维护进程运行方法及装置 |
CN106354560B (zh) * | 2015-07-16 | 2021-04-20 | 中兴通讯股份有限公司 | 一种系统的维护进程运行方法及装置 |
CN111930832A (zh) * | 2015-09-21 | 2020-11-13 | 华为技术有限公司 | 快速和可扩展的数据库集群通信路径 |
CN111930832B (zh) * | 2015-09-21 | 2024-06-07 | 华为技术有限公司 | 快速和可扩展的数据库集群通信路径 |
CN105491021A (zh) * | 2015-11-24 | 2016-04-13 | 华东师范大学 | 一种Android云应用服务器及Android云应用服务器系统 |
CN108762826B (zh) * | 2018-04-23 | 2021-09-28 | 厦门市美亚柏科信息股份有限公司 | 进程隐藏方法及计算机可读存储介质 |
CN108762826A (zh) * | 2018-04-23 | 2018-11-06 | 厦门市美亚柏科信息股份有限公司 | 进程隐藏方法及计算机可读存储介质 |
CN108762999A (zh) * | 2018-05-23 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种内核故障收集方法及装置 |
CN111709023A (zh) * | 2020-06-16 | 2020-09-25 | 全球能源互联网研究院有限公司 | 一种基于可信操作系统的应用隔离方法及系统 |
CN111709023B (zh) * | 2020-06-16 | 2023-04-28 | 全球能源互联网研究院有限公司 | 一种基于可信操作系统的应用隔离方法及系统 |
CN112783661A (zh) * | 2021-02-08 | 2021-05-11 | 上海交通大学 | 一种适用于容器环境下的内存重删方法及装置 |
CN114035901A (zh) * | 2021-11-16 | 2022-02-11 | 湖北亿咖通科技有限公司 | 用于运行进程的容器的构建方法、装置和电子设备 |
CN114546599A (zh) * | 2022-02-25 | 2022-05-27 | 科东(广州)软件科技有限公司 | 一种容器操作系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104331659A (zh) | 一种关键应用主机系统资源应用隔离的设计方法 | |
Marty et al. | Snap: A microkernel approach to host networking | |
US11575748B2 (en) | Data storage method and apparatus for combining different data distribution policies | |
Mauch et al. | High performance cloud computing | |
Hedayati et al. | {Multi-Queue} fair queuing | |
JP6290462B2 (ja) | ネットワーク・アクセス可能なブロック・ストレージのための協調アドミッション制御 | |
US8856801B2 (en) | Techniques for executing normally interruptible threads in a non-preemptive manner | |
CN115668886A (zh) | 交换机管理的资源分配和软件执行 | |
Gulati et al. | Demand Based Hierarchical {QoS} Using Storage Resource Pools | |
CN118860634A (zh) | 具有可预测时延的存储事务 | |
WO2016078178A1 (zh) | 一种虚拟cpu调度方法 | |
CN103365700B (zh) | 一种面向云计算虚拟化环境的资源监测和调整系统 | |
US20130205028A1 (en) | Elastic, Massively Parallel Processing Data Warehouse | |
CN107122233B (zh) | 一种面向tsn业务的多vcpu自适应实时调度方法 | |
CN110580127B (zh) | 一种基于多租户云存储的资源管理方法和资源管理系统 | |
US8640128B2 (en) | Dynamic network adapter queue pair allocation | |
TW200915084A (en) | Allocating network adapter resources among logical partitions | |
US10581757B2 (en) | Pooling public cloud resources from different subscriptions using reservations | |
WO2022271223A1 (en) | Dynamic microservices allocation mechanism | |
Zhao et al. | Preemptive multi-queue fair queuing | |
CN103440113A (zh) | 一种磁盘io资源分配方法和装置 | |
CN104281492A (zh) | 一种异构环境下的Hadoop任务公平调度方法 | |
CN105487929A (zh) | 一种集群渲染过程中镜头共享数据管理的方法 | |
Ajayi et al. | Multi-Class load balancing scheme for QoS and energy conservation in cloud computing | |
CN104202263B (zh) | 一种多租户数据中心带宽资源公平分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150204 |
|
WD01 | Invention patent application deemed withdrawn after publication |