CN111694641A - 用于容器应用的存储管理方法和系统 - Google Patents
用于容器应用的存储管理方法和系统 Download PDFInfo
- Publication number
- CN111694641A CN111694641A CN202010546097.1A CN202010546097A CN111694641A CN 111694641 A CN111694641 A CN 111694641A CN 202010546097 A CN202010546097 A CN 202010546097A CN 111694641 A CN111694641 A CN 111694641A
- Authority
- CN
- China
- Prior art keywords
- storage volume
- node
- container
- storage
- local persistent
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 22
- 230000002085 persistent effect Effects 0.000 claims abstract description 32
- 238000013500 data storage Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 claims description 3
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于容器应用的存储管理方法,包括:配置本地持久化存储卷与当前可用的容器资源各节点块设备的对应关系;在调度声明使用存储卷的容器应用实例时,通过动态配对算法优化选择能够满足配对条件的存储卷,将应用实例调度至存储卷所在目标节点,并将目标存储卷挂载至应用实例。对本地持久化存储卷的配置内容包括:存储卷的节点信息、容量大小和挂载点。在对本地持久化存储卷配置后,调用API组件对分布式数据存储时,通过调度器组件对各节点块设备进行调度。
Description
技术领域
本发明属于软件开发与部署技术领域,特别涉及一种用于容器应用的存储管理方法和系统。
背景技术
目前,由于容器化应用频繁重建的灵活特性,大多数场景下为容器化应用提供的本地存储皆为临时性存储,例如:本地临时目录。当容器化应用只能使用本地临时存储进行临时文件存储、日志存储等时,此种方式存在如下缺点:
1.应用不能够获取本地存储的剩余可用量;
2.应用对于本地存储的可用性得不到保障;
3.应用有可能因所在节点的本地存储资源不足原因被驱逐出节点。
发明内容
本发明提供了一种用于容器应用的存储管理方法和系统,目的是解决容器应用无法高效实用本地存储资源的问题。
本发明实施例之一,一种用于容器应用的存储管理方法,该方法包括以下步骤:
配置本地持久化存储卷与当前可用的容器资源各节点块设备的对应关系;
在调度声明使用存储卷的容器应用实例时,通过动态配对算法优化选择能够满足配对条件的存储卷,将应用实例调度至存储卷所在目标节点,并将目标存储卷挂载至应用实例。
进一步的,对本地持久化存储卷的配置内容包括:存储卷的节点信息、容量大小和挂载点。
本发明提供了一种基于本地化持久存储卷的最优化容器应用存储管理策略,很好适应了容器化应用频繁重建带来的存储要求。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1根据本发明实施例之一的最优化容器应用存储管理方法示意图。
具体实施方式
根据一个或者多个实施例,一种,用于容器应用的存储管理方法,主要包括以下步骤:
抽象描述本地持久化存储卷;
抽象描述容器化应用与本地持久化存储卷关系;
基于应用与本地持久化存储卷关系的自动化部署调度策略。
根据一个或者多个实施例,如图1所示,一种统一定义本地节点块设备存储为本地持久化存储卷,并动态调度容器应用实例至目标节点关联存储卷的管理方法。
首先,在容器资源管理系统中,定义本地持久化存储卷对象与当前可用的各资源节点块设备的对应关系,如:存储卷的节点信息、容量大小、挂载点等。
然后,在调度声明使用存储卷的容器应用实例时,通过动态配对算法优化选择能够满足配对条件的存储卷,将应用实例调度至存储卷所在目标节点,并将目标存储卷挂载至应用实例。
优选的,在对本地持久化存储卷配置后,调用API组件对分布式数据存储时,通过调度器组件对各节点块设备进行调度。
4.根据权利要求1所述的用于容器应用的存储管理方法,其特征在于,采用SSD磁盘作为本地持久存储卷。
本实施例实现的技术方案包括:如何统一抽象描述本地持久化存储卷;如何抽象描述容器化应用与本地持久化存储卷关系;如何通过应用的自动化部署实现应用实例与持久化存储卷的依赖调度策略。
采用本发明实施例带来的技术效果包括:
·性能提升:对于采用SSD磁盘的本地持久存储卷,能够提供更好的操纵性能,更适合数据库应用、分布式应用等;
·成本降低:对于裸金属设备,为达到更高性能,本地持久化存储卷往往比分布式存储等其他持久化存储方案成本更低。
根据一个或者多个实施例,对于抽象描述本地持久化存储卷的步骤,采用现有软件中YAML格式文本对本地持久化存储进行统一定义,并使用分布式数据存储系统对其进行具有可靠性的存储。
YAML格式示例如下:
#YAML
Type:PersistentVolume
Name:pv1
Capacity:5Gi
Local:
Path:/mnt/disks/vol1#本地卷位置。
对于抽象描述容器化应用与本地持久化存储卷关系的步骤,采用目前软件中YAML格式文本对应用与本地持久化存储卷关系进行统一定义,并使用分布式数据存储系统对其进行具有可靠性存储。
YAML格式示例如下:
#YAML
Type:Container
Name:App1
Image:nginx
VolumeMounts:
·MountPath:”/usr/share/nginx/html”
Name:pv1。
对于基于应用与本地持久化存储卷关系的自动化部署调度策略,调度策略的实现方式为通过一组规则为每一个未调度的应用选择一个具有适合存储卷的节点。主要包含两个方面,过滤节点和节点打分。
·过滤节点(Filters):用一组规则过滤掉不符合要求的节点。如:是否包含存储卷、存储卷大小是否匹配、节点剩余资源是否能够满足要求。
·节点打分(Weighting):对上一步筛选出的符合要求的主机打分,如:
节点剩余的CPU、内存、存储容器量。而后选择出打分最高的节点。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种用于容器应用的存储管理方法,其特征在于,该方法包括以下步骤:
配置本地持久化存储卷与当前可用的容器资源各节点块设备的对应关系;
在调度声明使用存储卷的容器应用实例时,通过动态配对算法优化选择能够满足配对条件的存储卷,将应用实例调度至存储卷所在目标节点,并将目标存储卷挂载至应用实例。
2.根据权利要求1所述的用于容器应用的存储管理方法,其特征在于,对本地持久化存储卷的配置内容包括:存储卷的节点信息、容量大小和挂载点。
3.根据权利要求2所述的用于容器应用的存储管理方法,其特征在于,在对本地持久化存储卷配置后,调用API组件对分布式数据存储时,通过调度器组件对各节点块设备进行调度。
4.根据权利要求1所述的用于容器应用的存储管理方法,其特征在于,采用SSD磁盘作为本地持久存储卷。
5.根据权利要求1所述的用于容器应用的存储管理方法,其特征在于,
采用YAML格式文本对本地持久化存储进行统一定义,并使用分布式数据存储系统进行存储;
采用YAML格式文本对容器应用与本地持久化存储卷关系进行统一定义,并使用分布式数据存储系统对容器应用进行存储。
6.根据权利要求1所述的用于容器应用的存储管理方法,其特征在于,所述调度使用的调度策略为,
通过一组规则为每一个未调度的应用选择一个具有适合存储卷的节点,具体包括,过滤节点和节点打分,
所述过滤节点是指:用一组规则过滤掉不符合要求的节点,是否符合要求要考虑的因素包括:是否包含存储卷、存储卷大小是否匹配、节点剩余资源是否能够满足要求;
所述节点打分是指:对筛选出的符合要求的节点主机打分,打分考虑的因素包括:节点剩余的CPU、内存、存储容器量,然后选择出打分最高的节点作为所述的具有适合存储卷的节点。
7.一种用于容器应用的存储管理系统,其特征在于,所述的管理系统包括本地持久化存储卷、节点块设备和容器应用,对于容器应用的存储管理方法是:
配置本地持久化存储卷与当前可用的容器资源各节点块设备的对应关系;
在调度声明使用存储卷的容器应用实例时,通过动态配对算法优化选择能够满足配对条件的存储卷,将应用实例调度至存储卷所在目标节点,并将目标存储卷挂载至应用实例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010546097.1A CN111694641A (zh) | 2020-06-16 | 2020-06-16 | 用于容器应用的存储管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010546097.1A CN111694641A (zh) | 2020-06-16 | 2020-06-16 | 用于容器应用的存储管理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111694641A true CN111694641A (zh) | 2020-09-22 |
Family
ID=72481155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010546097.1A Pending CN111694641A (zh) | 2020-06-16 | 2020-06-16 | 用于容器应用的存储管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694641A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296711A (zh) * | 2021-06-11 | 2021-08-24 | 中国科学技术大学 | 一种数据库场景中优化分布式存储延迟的方法 |
CN113821328A (zh) * | 2021-11-23 | 2021-12-21 | 江苏苏宁银行股份有限公司 | 一种容器集群的调度方法、装置、电子设备和存储介质 |
CN114281263A (zh) * | 2021-12-27 | 2022-04-05 | 深圳市名竹科技有限公司 | 容器集群管理系统的存储资源处理方法、系统和设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160117107A1 (en) * | 2014-10-22 | 2016-04-28 | Mayank Ahuja | High Performance Hadoop with New Generation Instances |
CN105657057A (zh) * | 2012-12-31 | 2016-06-08 | 华为技术有限公司 | 一种计算存储融合的集群系统 |
US20180267785A1 (en) * | 2017-03-17 | 2018-09-20 | Verizon Patent And Licensing Inc. | Persistent data storage for a microservices application |
CN108958976A (zh) * | 2018-07-02 | 2018-12-07 | 山东汇贸电子口岸有限公司 | 一种pv快照备份恢复分布式数据库数据方法和系统 |
US20190188079A1 (en) * | 2017-12-11 | 2019-06-20 | Fungible, Inc. | Durable block storage in data center access nodes with inline erasure coding |
CN110058922A (zh) * | 2019-03-19 | 2019-07-26 | 华为技术有限公司 | 一种提取机器学习任务的元数据的方法、装置 |
CN110119308A (zh) * | 2018-02-07 | 2019-08-13 | 北京第一视角科技有限公司 | 管理大规模容器应用的系统 |
CN110362384A (zh) * | 2019-07-16 | 2019-10-22 | 北京奇艺世纪科技有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
US20200034240A1 (en) * | 2018-07-30 | 2020-01-30 | EMC IP Holding Company LLC | Network block device based continuous replication for kubernetes container management systems |
CN110780822A (zh) * | 2019-10-28 | 2020-02-11 | 浪潮云信息技术有限公司 | 一种管理容器云本地存储系统及实现方法 |
CN110851082A (zh) * | 2019-11-08 | 2020-02-28 | 浪潮云信息技术有限公司 | 一种容器对接光纤网络存储的方法 |
CN111221620A (zh) * | 2018-11-27 | 2020-06-02 | 华为技术有限公司 | 存储方法、装置及存储介质 |
-
2020
- 2020-06-16 CN CN202010546097.1A patent/CN111694641A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105657057A (zh) * | 2012-12-31 | 2016-06-08 | 华为技术有限公司 | 一种计算存储融合的集群系统 |
US20160117107A1 (en) * | 2014-10-22 | 2016-04-28 | Mayank Ahuja | High Performance Hadoop with New Generation Instances |
US20180267785A1 (en) * | 2017-03-17 | 2018-09-20 | Verizon Patent And Licensing Inc. | Persistent data storage for a microservices application |
US20190188079A1 (en) * | 2017-12-11 | 2019-06-20 | Fungible, Inc. | Durable block storage in data center access nodes with inline erasure coding |
CN110119308A (zh) * | 2018-02-07 | 2019-08-13 | 北京第一视角科技有限公司 | 管理大规模容器应用的系统 |
CN108958976A (zh) * | 2018-07-02 | 2018-12-07 | 山东汇贸电子口岸有限公司 | 一种pv快照备份恢复分布式数据库数据方法和系统 |
US20200034240A1 (en) * | 2018-07-30 | 2020-01-30 | EMC IP Holding Company LLC | Network block device based continuous replication for kubernetes container management systems |
CN111221620A (zh) * | 2018-11-27 | 2020-06-02 | 华为技术有限公司 | 存储方法、装置及存储介质 |
CN110058922A (zh) * | 2019-03-19 | 2019-07-26 | 华为技术有限公司 | 一种提取机器学习任务的元数据的方法、装置 |
CN110362384A (zh) * | 2019-07-16 | 2019-10-22 | 北京奇艺世纪科技有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
CN110780822A (zh) * | 2019-10-28 | 2020-02-11 | 浪潮云信息技术有限公司 | 一种管理容器云本地存储系统及实现方法 |
CN110851082A (zh) * | 2019-11-08 | 2020-02-28 | 浪潮云信息技术有限公司 | 一种容器对接光纤网络存储的方法 |
Non-Patent Citations (2)
Title |
---|
李亚康;齐法制;王彦明;齐孟尧;: "基于OpenStack的中国散裂中子源计算环境概述" * |
王勇;田博;王端;: "云存储的多维离线调度算法" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296711A (zh) * | 2021-06-11 | 2021-08-24 | 中国科学技术大学 | 一种数据库场景中优化分布式存储延迟的方法 |
CN113821328A (zh) * | 2021-11-23 | 2021-12-21 | 江苏苏宁银行股份有限公司 | 一种容器集群的调度方法、装置、电子设备和存储介质 |
CN114281263A (zh) * | 2021-12-27 | 2022-04-05 | 深圳市名竹科技有限公司 | 容器集群管理系统的存储资源处理方法、系统和设备 |
CN114281263B (zh) * | 2021-12-27 | 2024-03-29 | 深圳市名竹科技有限公司 | 容器集群管理系统的存储资源处理方法、系统和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694641A (zh) | 用于容器应用的存储管理方法和系统 | |
CN110663019B (zh) | 用于叠瓦式磁记录(smr)的文件系统 | |
US8126914B2 (en) | Selecting a resource manager to satisfy a service request | |
US9361034B2 (en) | Transferring storage resources between snapshot storage pools and volume storage pools in a distributed network | |
EP3739845A1 (en) | Resource scheduling method, apparatus, device and system | |
US9501473B1 (en) | Workflow process with temporary storage resource reservation | |
US5687372A (en) | Customer information control system and method in a loosely coupled parallel processing environment | |
US20080077682A1 (en) | Service level mapping method | |
CN103607428B (zh) | 一种访问共享内存的方法和装置 | |
US7305537B1 (en) | Method and system for I/O scheduler activations | |
US20060136525A1 (en) | Method, computer program product and mass storage device for dynamically managing a mass storage device | |
US10701154B2 (en) | Sharding over multi-link data channels | |
US20100100700A1 (en) | Adaptively preventing out of memory conditions | |
CN115408100A (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
US5682507A (en) | Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records | |
US20170344297A1 (en) | Memory attribution and control | |
US8443369B1 (en) | Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy | |
CA2498477C (en) | Memory management system and method for a mobile device | |
CA2176996A1 (en) | Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment | |
US5630133A (en) | Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment | |
CN110673935A (zh) | 一种基于Kubernetes系统的作业调度方法、设备以及存储介质 | |
KR100985690B1 (ko) | 복수의 ess 셀에 다운로드 가능한 콘텐츠를 저장하는 방법, 시스템 및 컴퓨터 판독가능 기록 매체 | |
US6978278B2 (en) | System and method for heterogeneous caching | |
CN116302457A (zh) | 一种云原生工作流引擎实现方法、系统、介质及电子设备 | |
US7694097B2 (en) | System and method for managing an electronic storage volume |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200922 |