CN116301624A - 存储区域创建方法、系统、电子设备及计算机存储介质 - Google Patents

存储区域创建方法、系统、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN116301624A
CN116301624A CN202310267936.XA CN202310267936A CN116301624A CN 116301624 A CN116301624 A CN 116301624A CN 202310267936 A CN202310267936 A CN 202310267936A CN 116301624 A CN116301624 A CN 116301624A
Authority
CN
China
Prior art keywords
container
node
storage space
sparse file
storage area
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
Application number
CN202310267936.XA
Other languages
English (en)
Inventor
葛瑛琦
齐江
张敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310267936.XA priority Critical patent/CN116301624A/zh
Publication of CN116301624A publication Critical patent/CN116301624A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种存储区域创建方法、系统、电子设备及计算机存储介质,存储区域创建方法,包括:响应于针对容器的存储空间创建指令,令用于运行容器的节点获得稀疏文件模板至所述节点的本地存储中,所述稀疏文件模板用于通过稀疏文件存储容器的格式化数据;根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间;将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域。

Description

存储区域创建方法、系统、电子设备及计算机存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种存储区域创建方法、系统、电子设备及计算机存储介质。
背景技术
随着容器成为能够统一编排的线上服务集群,相关的容器问题也暴露出来,尤其是容器的I/O(input/output,输入/输出)隔离问题。例如,若在一个节点上创建对应于容器的若干个没有I/O隔离的存储区域,若某一个容器发生了大量的I/O请求,会造成该节点上的其他容器的存储资源挤兑,甚至可能影响节点上的宿主机系统出现问题。
有鉴于此,现有技术亟需解决的技术问题是提供另一种存储区域创建方法。
发明内容
有鉴于此,本申请实施例提供一种存储区域创建方案,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种存储区域创建方法,包括:
响应于针对容器的存储空间创建指令,令用于运行容器的节点获得稀疏文件模板至所述节点的本地存储中,所述稀疏文件模板用于通过稀疏文件存储容器的格式化数据;
根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间;
将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域。
根据本申请实施例的第二方面,提供了一种容器管理系统,包括:运行于节点外的控制组件、运行于节点内的管理组件;
所述控制组件用于接收针对容器的存储空间创建指令,并将所述存储空间创建指令发送至用于运行容器的所述节点中的所述管理组件;
所述管理组件用于令所述节点获得稀疏文件模板至所述节点的本地存储中,所述稀疏文件模板用于通过稀疏文件存储容器的格式化数据;根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间;以及将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域。
根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述方法对应的操作。
根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
根据本申请实施例提供的存储区域创建方案,通过稀疏文件模板以稀疏文件的方式存储容器的格式化数据,降低了获得存储容器的格式化数据的过程中需要操作的数据量,在获得节点获得稀疏文件模板后,可以继续根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间,并将创建的所述本地存储空间作为块设备挂载至所述容器下,从而实现了容器间的I/O隔离。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为适用本申请实施例的存储区域创建方法的示例性系统的示意图;
图2为根据本申请实施例的一种存储区域创建方法的步骤流程图;
图3为根据本申请实施例的令一种存储区域创建方法的步骤流程图;
图4为根据本申请实施例的一种使用场景示意图;
图5为根据本申请实施例的一种容器管理系统的结构示意图;
图6为根据本申请实施例的另一种容器管理系统的结构示意图;
图7为根据本申请实施例五的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
图1示出了一种适用本申请实施例的存储区域创建方法的示例性系统。如图1所示,该系统100可以包括云服务端102、通信网络104和/或一个或多个用户设备106,图1中示例为多个用户设备。
云服务端102可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的设备,包括但不限于分布式存储系统设备、服务器集群、计算云服务端集群等。在一些实施例中,云服务端102可以执行任何适当的功能。例如,在一些实施例中,云服务端102中可以包括多个节点,节点可以用于运行容器。作为可选的示例,在一些实施例中,云服务端102可以被用于编排、管理容器。
在一些实施例中,通信网络104可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络104能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(Wide Area Network,WAN)、局域网(Local Area Network,LAN)、无线网络、数字订户线路(Digital Subscriber Line,DSL)网络、帧中继网络、异步转移模式(AsynchronousTransfer Mode,ATM)网络、虚拟专用网(Virtual Private Network,VPN)和/或任何其它合适的通信网络。用户设备106能够通过一个或多个通信链路(例如,通信链路112)连接到通信网络104,该通信网络104能够经由一个或多个通信链路(例如,通信链路114)被链接到云服务端102。通信链路可以是适合于在用户设备106和云服务端102之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
用户设备106可以包括适合于展示容器编排选项、接收容器编排指令任何一个或多个用户设备。在一些实施例中,用户设备106可以包括任何合适类型的设备。例如,在一些实施例中,用户设备106可以包括移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、游戏控制台、媒体播放器、车辆娱乐系统和/或任何其他合适类型的用户设备。
基于上述系统,本申请实施例提供了一种存储区域创建方法,以下通过多个实施例进行说明。
下面,先对本申请涉及的技术名词进行解释说明。
弹性块存储,是为云服务器提供的低时延、持久性、高可靠的块级随机存储。
DeviceMapper:是Linux内核系统提供的一种将物理设备转换成为虚拟逻辑设备的框架。
逻辑卷管理LVM(Logical Volume Manager)是Linux系统基于DeviceMapper框架提供出的一种用户态的能力,具有动态管理硬盘的能力。可以从一块大的块设备中分割成任意大小的子块,提供给不同的应用使用。
稀疏文件(sparse file)是一种计算机文件,它能尝试在文件内容大多为空时更有效率地使用文件系统的空间。它的原理是以简短的信息(元数据)表示空数据块,而不是在在磁盘上占用实际空间来存储空数据块。只有真实(非空)的数据块会按原样写入磁盘。
loopdevice:/dev/loop(或称vnd(vnode disk)、lofi(循环文件接口))在类Unix系统中是一种伪设备,这种设备使得文件可以如同块设备一般被访问。
Kubernetes(常简称为K8s)是用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。
csi:Kubernetes内使用存储的标准协议。
rootfs:容器的根目录,容器内的所有文件都存在于根目录下。
下面,先对一般情况下可能为容器建立存在I/O隔离的根目录的方案进行说明。
第一种方案是使用独立的弹性块存储作为根目录,但是,创建弹性块存储并将其挂载至容器下所耗费的时间较长,会导致容器对应的实例启动时间较长,用户体验较差。
具体地,可以由用户创建实例pod,并声明使用独立的弹性块存储作为根目录rootfs;之后可以由csi调用ECS的开放接口openapi创建弹性块存储,并调用openapi进行数据盘挂载;之后继续由csi进行格式化、挂载(mount)等操作,使其挂载到宿主机的某一个特定目录;当挂载完成后下载容器镜像,镜像可以在容器运行时开始启动,并在容器运行时将容器运行的根目录设置(chroot)为弹性块存储挂载目录。
但是上述方案存在以下缺点:
1、创建/挂载弹性块存储时间过长:弹性块存储是通过调用ECS的openapi进行创建和挂载的.而这两者都是非常耗费时间的.会导致实例pod启动时间变得非常长.影响用户体验。
2、弹性块存储最小为20Gi,这个大小对使用容器的应用来说有些大,会造成资源的浪费。其中,Gi为计量单位,1024B=1KiB,常简写为:1Ki;1024KiB=1MiB,常简写为:1Mi;1024MiB=1GiB,常简写为:1Gi。
3、一般的ECS最多只能挂载16块弹性块存储;特殊机型也只能挂64块弹性块存储,这不但挤压了用户持久化数据盘的使用空间;还限制了单机可以部署容器的个数。
第二种方案是利用逻辑卷管理组件(Logical Volume Manager,lvm)基于弹性块存储在节点创建容器对应的逻辑卷,并将逻辑卷作为容器的根目录。与上述第一种方案相比:
1、通过在本地创建容器对应的逻辑卷,无需调用开放接口openapi,节省了时间,提高了速度。
2、lvm可以创建任意大小的逻辑卷,提高了资源利用率。
3、lvm只会占用它所使用的物理盘的弹性块存储的配额quota.可以为用户的持久化存储保证相应的配额quota。
但是逻辑卷仍然存在下述问题:
1、逻辑卷的创建、删除速度较慢,尤其是存在I/O压力时可能会导致创建时间增加至秒级或者10秒级,导致用户体验较差。
2、逻辑卷的维护需要消耗CPU资源,随着容器数量增多,导致逻辑卷的维护消耗大量的CPU资源。
3、当某一个逻辑卷发生错误,例如创建或者删除失败、卡顿等情况时,会影响其他逻辑卷的操作,甚至可能导致容器所在的宿主机错误。
有鉴于此,本申请实施例提供另一种为容器创建存储空间的方案。
参见图2,示出了本申请实施例提供的一种为容器创建存储空间的流程示意图,如图所示,其包括:
S201、响应于针对容器的存储空间创建指令,令用于运行容器的节点获得稀疏文件模板至所述节点的本地存储中,所述稀疏文件模板用于通过稀疏文件存储容器的格式化数据。
具体地,本实施例中,用户在创建实例时,可以声明使用节点的本地存储作为实例对应的容器的根目录。服务端在接收到实例创建请求后,可以确定容器所在的节点,并向节点发送针对容器的存储空间创建指令,存储空间创建指令用于指示节点使用本地存储为容器创建根目录。
节点在接收到存储空间创建指令后,可以获得稀疏文件模板。
本实施例中,稀疏文件模板通过稀疏文件存储容器的格式化数据,稀疏文件中可以通过简短的信息表示空数据块,并将真实的数据块写入磁盘中,由此,可以使得稀疏文件真正占用的存储空间小于其声明的大小。通过稀疏文件存储容器的格式化数据,可以使得容器的文件模板实际占用的存储空间较小,易于复制和传输。
本实施例中,优选将稀疏文件模板保存在节点本地,则在执行上述步骤时可以直接从本地复制稀疏文件模板;当然,在其他实现方式中,也可以将稀疏文件模板存储于节点之外的其他位置,在需要使用稀疏文件模板时可以使得节点获得稀疏文件模板。
稀疏文件模板中存储的容器的格式化数据可由本领域的技术人员根据容器编排需求确定,例如可以包括目录结构、每个目录下的存储的内容、目录对应的预设数据大小等,本实施例对此不进行限定。
S202、根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间;
根据稀疏文件模板中的格式化文件,可以在节点本地中为容器创建对应的本地存储空间,具体可以根据格式化文件定义该存储空间的具体存储内容、存储方式、读写方式等,本实施例对此不进行限定,只要能够供容器使用即可,本实施例对此不进行限定。
另外,本实施例中,节点的所述本地存储包括以下至少之一:所述节点的系统盘、数据盘或者磁盘阵列。
所述节点的系统盘是指节点中用于运行宿主机的数据硬盘、数据盘是指用于存储数据的数据硬盘。磁盘阵列(Redundant Arrays of Independent Disks,RAID)具体可以为若干个磁盘组成的阵列,不同的磁盘阵列结构具有不同的优点,例如容错率高等,本领域的技术人员可根据需求设置。
S203、将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域。
块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。块设备的基本特征是可以独立于其它块而读写。
通过将本地存储空间作为块设备挂载至容器下,可以使得容器能够通过操作块设备的方式操作本地存储空间;另外,对于容器而言,本地存储空间为独立的块设备,从而通过块设备可以独立于其它块而读写的特征,实现了容器间的I/O隔离。
本实施例提供的方案,通过稀疏文件模板以稀疏文件的方式存储容器的格式化数据,降低了获得存储容器的格式化数据的过程中需要操作的数据量,在获得节点获得稀疏文件模板后,可以继续根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间,并将创建的所述本地存储空间作为块设备挂载至所述容器下,从而实现了容器间的I/O隔离。
与上述通过弹性块存储和LVM创建容器的根目录的方案相比,本实施例提供的方案具有如下优点:
1、LVM受文件系统的I/O压力的影响较大,可能会导致创建时间较长;而本实施例提供的方案,为容器创建本地存储区域的过程是相互独立的,且占用的资源较少,节点的文件系统的I/O压力不会对新创建的本地存储区域的过程存在太大影响。
2、lvm需要通过设备管理器divice manager进行管理,管理过程需要消耗大量的资源,而本实施例提供的方案,不需要设备管理器,消耗的资源较少。
3、lvm进行逻辑卷变更时需要获得全局互斥锁,获得后才能够进行变更,全局互斥锁的存在可能导致未获得全局互斥锁的逻辑卷的操作错误;而本实施例提供的方案可以直接对块设备进行读写,无需全局互斥锁,降低了出现错误的可能性。
参见图3,示出了本申请实施例提供的另一种为容器创建存储空间的流程示意图,如图所示,其包括:
S301、响应于所述存储空间创建指令,拷贝所述稀疏文件模板至所述节点的本地存储中的目标存储区域。
本实施例中,稀疏文件模板可以预先存储在节点本地,则在接收到存储空间创建指令后,可以拷贝稀疏文件模板至目标存储区域中。
目标存储区域可以为分配至容器的存储区域,具体分配方法可参考相关技术,在此不再赘述。
本实施例中,由于不同的容器的创建需求不同,使得稀疏文件模板可能与容器需求不完全适配,则可以根据所述存储空间创建指令对所述目标存储区域进行配置操作,所述配置操作包括:扩容操作或者缩容操作,由此,可以使得配置存在部分差异的容器可以使用相同的稀疏文件模板,提高了稀疏文件模板的通用性。
具体地,存储空间创建指令中可以携带有持久化存储卷信息(PersistentVolume,PV)以及持久卷声明信息(PersistentVolumeClaim,PVC)。PV用于标识容器的可用存储区域的大小,PVC与PV绑定,用于使用PV。PV为集群中的资源,PVC是对PV资源的请求。根据PVC/PV,可以对目标存储区域进行配置操作,例如若稀疏文件模板对应的PV与存储空间创建指令携带的PV不一致,则可以对目标存储区域进行扩容或者缩容至与其一致。
当然,本申请的其他实现方式中,也可以不对稀疏文件模板进行配置操作,这也在本申请的保护范围内。
S302、根据所述稀疏文件模板中的格式化数据,创建与所述目标存储区域关联的虚拟块设备,以创建所述容器对应的本地存储空间。
本实施例中,可以将目标存储区域对应的文件模拟为虚拟块设备。容器在使用本地存储空间时可以访问虚拟块设备,虚拟块设备可以将其映射为对目标存储区域对应的文件的访问。
S303、将所述虚拟块设备挂载至所述容器下。
创建的虚拟块设备可以相当于一个还没有挂载的存储硬件,可以挂载至容器对应的访问目录下,作为容器的存储空间使用。
示例地,容器在对存储的数据进行操作时,可以通过访问节点的文件系统访问虚拟块设备,虚拟块设备将访问映射为对目标存储区域对应的文件的访问后,再次通过节点的文件系统实现对目标存储区域对应的文件的访问,由于针对虚拟块设备的访问过程经过了两次文件系统,因此该虚拟块设备又称回环设备loopdevice。不同的虚拟块设备对于容器而言是独立的存储设备,因此可以实现较好的I/O隔离,且虚拟块设备一般可以直接由节点上运行的宿主机创建,不会增加创建存储设备过程所需的资源。
另外,由于虚拟块设备实际上是将节点的本地存储空间的文件映射的到的,因此其使用的也是节点的文件系统,能够使用文件系统中已经存在的便捷功能,由此,可以将文件系统中已经支持的便捷功能应用至为容器创建存储与的过程中,提高了创建过程的便捷性。
示例地,文件系统可以支持通过引用链接的方式拷贝数据的功能,则本实施例中,所述方法还可以包括:
S304、基于所述节点的文件系统,通过引用链接的方式获取所述容器的镜像,并根据所述镜像以及所述本地存储空间确定所述容器的根目录。
图中的虚线表示步骤S304为可选步骤。
通过引用链接的方式获取容器的镜像,即可以通过复制容器的inode索引完成镜像复制过程,而无需复制全部的镜像数据,加快了创建容器的过程。
进一步地,若干个容器镜像中公共部分是只读的,因此,可以通过文件系统对镜像中的只读部分进行存储优化,并通过容器的私有可写层接收并存储该容器写入的数据,实现读写分离,进一步降低I/O压力。
另外,同样由于虚拟块设备实际上是将节点的本地存储空间的文件映射的到的,其使用的也是节点的文件系统,因此,若所述节点中运行有多个容器,则所述多个容器针对其对应的所述虚拟块设备执行读写操作时,共享所述节点的缓存存储区域。
具体地,多个容器针对各自的本地存储空间虚拟块设备执行读写操作时,可以将读写操作对应的需要读取或者写入的数据存储至文件系统的缓存存储区域中,不同容器但针对相同数据的读取操作或者写入操作可以共用缓存存储区域中数据,提高了缓存利用率、实现了缓存高密。
本实施例提供的方案,通过稀疏文件模板以稀疏文件的方式存储容器的格式化数据,降低了获得存储容器的格式化数据的过程中需要操作的数据量,在获得节点获得稀疏文件模板后,可以继续根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间,并可以本地存储空间映射为虚拟块设备并挂载至容器,使得容器的存储空间的创建和使用过程可以应用文件系统中已经支持的便捷功能,提高了容器对应的存储空间的创建和使用效率。
参见图4,示出了本申请实施例提供的一种使用场景示意图,其中包括管理组件、控制组件、节点,控制组件可以包括一个,用于控制所有的容器创建过程,管理组件可以包括多个,管理组件可以运行在节点中,用于对节点上容器相关的内容进行管理。
如图所示,其包括:
S400、将节点中的管理组件初始化,并通过管理组件在节点中创建稀疏文件模板。
需要说明的是,在初始化过程中可以判断节点中可用硬盘的类型,并根据类型建立稀疏文件模板。
S401、用户输入创建作为应用的实例的创建操作;
S402、控制组件根据接收到的实例的创建操作,可以等待应用调度,确定应用所在的节点。
具体地,控制组件可以在接收到实例的创建操作后,请求为应用调度相关的节点,并可以接收调度至应用的节点。
S403、控制组件可以确定为实例创建的容器,并向节点发送针对容器的存储空间创建指令,以令节点在本地盘中为容器创建存储区域。
S404、节点中的管理组件接收到存储空间创建指令后,可以获取预先创建的稀疏文件模板。
S405、管理组件可以根据存储空间创建指令中携带的PVC/PV等元信息,对获取到的稀疏文件模板进行扩容并复制到目标存储区域,从而为容器创建本地存储区域。
S406、创建虚拟块设备loop device,并将loop device关联上述目标存储区域中文件,将目标存储区域中的文件映射为虚拟块设备。
需要说明的是,节点在进行初始化的时候可以判断自身的本地存储为所述节点的系统盘、数据盘或者磁盘阵列,并按照判断结果创建虚拟块设备。
S407、管理组件创建完虚拟块设备并关联后,可以向控制组件上报创建完成信息。
S408、通过节点接收用户输入的应用启动请求。
接收到应用启动请求后,需要在节点上启动并运行容器,容器启动并运行的过程可以看考下述步骤S409-S413。但需要说明的是,下述步骤仅为举例说明,其他启动容器的过程也在本申请的保护范围内。
S409、通过节点触发管理组件的容器存储接口CSI运行持久化存储初始化。
S410、管理组件将持久化存储后的虚拟块设备挂载到节点中与容器对应的路径。
S411、管理组件接收到挂载成功的消息。
S412、向用户反馈完成挂载,可以开始使用容器。
参见图5,示出了本申请实施例的一种容器管理系统的结构示意图,如图所示,系统包括运行于节点外的控制组件501、运行于节点内的管理组件502。如图所示,节点可以包括多个,则管理组件502也可以包括多个。
所述控制组件501用于接收针对容器的存储空间创建指令,并将所述存储空间创建指令发送至用于运行容器的所述节点中的所述管理组件。
所述管理组件502用于令所述节点获得稀疏文件模板至所述节点的本地存储中,所述稀疏文件模板用于通过稀疏文件存储容器的格式化数据;根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间;以及将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域。
控制组件和管理组件中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
参见图6,示例性示出了本申请的一种容器系统的结构示意图,如图所示,容器系统中可以包括多个实例pod,图中以两个为例进行说明,实例pod中定义有PVC/PV pair等元信息。容器系统中运行于节点外的控制组件(loopdevice driver controller,又称回环设备控制组件)、运行于节点内的管理组件(loopdevice manager)属于容器管理系统。
需要说明的是,本实施例提供的容器系统中通过容器存储接口(ContainerStorage Interface,CSI)进行容器编排,因此,容器挂载服务(csi plugin)与容器供应服务(csi provisioner)等均为通过CSI标准的接口实现的。
节点Node中的容器挂载服务(csi plugin)中的管理组件(loopdevice manager)在初始化时,可以在节点中创建稀疏文件模板(sparse file)。
实例pod可以发送触发信息(trigger)至容器供应服务(csi provisioner),容器供应服务中可以包括上述实施例中的控制组件(loopdevice driver controller,又称回环设备控制组件)。
容器供应服务可以向为实例pod分配的节点中发送用于进行远程调用的连接请求serconnection,并可以在其中携带有用于为容器创建存储区域的PVC/PV pair等元信息,即存储空间创建指令中可以携带有持久化存储卷信息(Persistent Volume,PV)以及持久卷声明信息(PersistentVolumeClaim,PVC)。
节点中的远程调用服务(Remote Procedure Call Protocol,RPC server)接收到连接请求后,可以将其发送至容器挂载服务csiplugin中的管理组件loopdevice manager,并通过管理组件拷贝预先创建的稀疏文件模板sparse file,并根据拷贝后的文件创建虚拟块设备loopdevice,并可以将虚拟块设备挂载至实例的容器对应的目录pod mountpath下,该目录为实例中容器的根目录rootfs。
参照图7,示出了根据本申请实施例五的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(CommunicatI/Ons Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它电子设备或服务器进行通信。
处理器702,用于执行程序710,具体可以执行上述存储区域创建方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是CPU,或者是特定集成电路ASIC(ApplicatI/On SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710可包括多条计算机指令,程序710具体可以通过多条计算机指令使得处理器702执行前述多个方法实施例中任一实施例所描述的方法对应的操作。
程序710中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述多个方法实施例中任一实施例所描述的方法。该计算机存储介质包括但不限于:只读光盘(Compact Disc Read-Only Memory,CD-ROM)、随机存储器(RandomAccess Memory,RAM)、软盘、硬盘或磁光盘等。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一方法对应的操作。
此外,需要说明的是,本申请实施例所涉及到的与用户有关的信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于对模型进行训练的样本数据、用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD-ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如专用集成电路(ApplicatI/On Specific Integrated Circuit,ASIC)或现场可编辑门阵列(Field Programmable Gate Array,FPGA))的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,随机存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

Claims (10)

1.一种存储区域创建方法,其特征在于,包括:
响应于针对容器的存储空间创建指令,令用于运行容器的节点获得稀疏文件模板至所述节点的本地存储中,所述稀疏文件模板用于通过稀疏文件存储容器的格式化数据;
根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间;
将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域。
2.根据权利要求1所述的方法,其特征在于,所述响应于针对容器的存储空间创建指令,令用于运行容器的节点获得稀疏文件模板至所述节点的本地存储中,包括:
响应于所述存储空间创建指令,拷贝所述稀疏文件模板至所述节点的本地存储中的目标存储区域。
3.根据权利要求2所述的方法,其特征在于,所述根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间,包括:
根据所述稀疏文件模板中的格式化数据,创建与所述目标存储区域关联的虚拟块设备,以创建所述容器对应的本地存储空间;
所述将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域,包括:
将所述虚拟块设备挂载至所述容器下。
4.根据权利要求1-3任一项所述的方法,其特征在于,若所述节点中运行有多个容器,则所述多个容器针对其对应的所述虚拟块设备执行读写操作时,共享所述节点的缓存存储区域。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:根据所述存储空间创建指令对所述目标存储区域进行配置操作,所述配置操作包括:扩容操作或者缩容操作。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述本地存储包括以下至少之一:所述节点的系统盘、数据盘或者磁盘阵列。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
基于所述节点的文件系统,通过引用链接的方式获取所述容器的镜像,并根据所述镜像以及所述本地存储空间确定所述容器的根目录。
8.一种容器管理系统,其特征在于,包括:运行于节点外的控制组件、运行于节点内的管理组件;
所述控制组件用于接收针对容器的存储空间创建指令,并将所述存储空间创建指令发送至用于运行容器的所述节点中的所述管理组件;
所述管理组件用于令所述节点获得稀疏文件模板至所述节点的本地存储中,所述稀疏文件模板用于通过稀疏文件存储容器的格式化数据;根据所述稀疏文件模板中的格式化数据创建所述容器对应的本地存储空间;以及将创建的所述本地存储空间作为块设备挂载至所述容器下,以为所述容器创建存储区域。
9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的方法对应的操作。
10.一种计算机存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202310267936.XA 2023-03-16 2023-03-16 存储区域创建方法、系统、电子设备及计算机存储介质 Pending CN116301624A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310267936.XA CN116301624A (zh) 2023-03-16 2023-03-16 存储区域创建方法、系统、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310267936.XA CN116301624A (zh) 2023-03-16 2023-03-16 存储区域创建方法、系统、电子设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN116301624A true CN116301624A (zh) 2023-06-23

Family

ID=86792153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310267936.XA Pending CN116301624A (zh) 2023-03-16 2023-03-16 存储区域创建方法、系统、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN116301624A (zh)

Similar Documents

Publication Publication Date Title
US11675746B2 (en) Virtualized server systems and methods including domain joining techniques
JP6734807B2 (ja) テナントアウェアストレージシェアリングプラットフォームのための処理装置及びその方法
US8498997B2 (en) Server image migration
US10154112B1 (en) Cloud-to-cloud data migration via cache
US8473462B1 (en) Change tracking for shared disks
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
US8555278B2 (en) Method and system for migrating a selected set of virtual machines between volumes
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
US11262916B2 (en) Distributed storage system, data processing method, and storage node
US20170351462A1 (en) Provisioning a slave for data storage using metadata with updated references
CN111209090B (zh) 一种云平台中虚拟机的创建方法、组件及服务器
US8572338B1 (en) Systems and methods for creating space-saving snapshots
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
JP2009237826A (ja) ストレージシステム及びそのボリューム管理方法
CN105095103A (zh) 用于云环境下的存储设备管理方法和装置
CN103685408A (zh) 以存储区域网络提供读取基础镜像的服务器、主机及方法
US11907551B2 (en) Performance efficient and resilient creation of network attached storage objects
CN116301624A (zh) 存储区域创建方法、系统、电子设备及计算机存储介质
US9971532B2 (en) GUID partition table based hidden data store system
CN110221868B (zh) 主机系统的部署方法、装置、电子设备及存储介质
US11360712B2 (en) Storage system with continuous data verification for synchronous replication of logical storage volumes
US10969989B2 (en) Techniques for capturing virtual machine snapshots using data storage system snapshots
CN109508255B (zh) 一种数据处理的方法及装置
CN109558205B (zh) 磁盘访问方法及装置
US11714805B1 (en) Method and system for streaming data from portable storage devices

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