一种存储卷扩容方法、系统、设备及可读存储介质

文档序号:1860768 发布日期:2021-11-19 浏览:3次 >En<

阅读说明:本技术 一种存储卷扩容方法、系统、设备及可读存储介质 (Storage volume capacity expansion method, system, equipment and readable storage medium ) 是由 徐玉超 王志国 于 2021-07-31 设计创作,主要内容包括:本申请公开了一种存储卷扩容方法、系统、设备及可读存储介质,该方法包括:对存储系统中的存储需求进行监听;在监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容;若容量扩容成功,则利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容;若文件系统扩容成功,则确定完成存储扩容事件对应的存储卷扩容。通过利用LVM卷管理装置的容量扩容接口和文件系统扩容接口,扩展pmem-csi功能,增加pmem-csi的扩容功能,使得pmem-csi局部扩大存储卷容量的功能,可以保障应用正常提供服务。(The application discloses a storage volume capacity expansion method, a storage volume capacity expansion system, storage volume capacity expansion equipment and a readable storage medium, wherein the method comprises the following steps: monitoring storage requirements in a storage system; after monitoring a storage capacity expansion event, carrying out capacity expansion by using a lv capacity expansion interface of the LVM volume management device; if the capacity expansion is successful, carrying out the file system expansion by using a file system expansion interface of the LVM volume management device; and if the file system is successfully expanded, determining to finish the expansion of the storage volume corresponding to the storage expansion event. The pmem-csi function is expanded by utilizing the capacity expansion interface of the LVM volume management device and the file system expansion interface, the capacity expansion function of the pmem-csi is increased, the pmem-csi locally expands the capacity of the storage volume, and normal service provision of application can be guaranteed.)

一种存储卷扩容方法、系统、设备及可读存储介质

技术领域

本申请涉及存储技术领域,特别是涉及一种存储卷扩容方法、系统、设备及可读存储介质。

背景技术

在云计算时代,越来越多的公司和个人使用kubernetes(一种容器编排引擎),kubernetes在各种场景中的应用上都有出色的表现。应用的性能也是保证能够向外部提供服务的保证。其中提升存储的性能在提升应用性能的过程中起到了至关重要的作用。

AEP是一种新型的非易失Optane Memory设备。目前,pmem-csi是将AEP应用到kubernetes中的一种存储插件,该插件支持创建与删除存储卷,以及存储卷的挂载与卸载功能,但是应用在使用pmem-csi(一个csi存储驱动程序,可将本地持久内存作为文件系统卷提供给容器应用程序)创建的存储卷时,如果分配的容量与应用将要使用的容量不符时,很容易在使用过程中出现容量不足的情况,并且pmem-csi没有扩大存储卷容量的功能,这将会影响到应用正常提供服务。

综上所述,如何有效地解决存储卷容量扩容等问题,是目前本领域技术人员急需解决的技术问题。

发明内容

本申请的目的是提供一种存储卷扩容方法、系统、设备及可读存储介质,基于kubernetes的pmem-csi在lvm模式下实现存储卷扩容。

为解决上述技术问题,本申请提供如下技术方案:

一种存储卷扩容方法,包括:

对存储系统中的存储需求进行监听;

在监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容;

若容量扩容成功,则利用所述LVM卷管理装置的文件系统扩容接口进行文件系统扩容;

若文件系统扩容成功,则确定完成所述存储扩容事件对应的存储卷扩容。

优选地,若容量扩容失败,还包括:在存储卷上标记容量扩容失败。

优选地,所述对存储系统中的存储需求进行监听,包括:

接收存储请求;

利用所述存储请求和存储分配,确定所述存储请求是否需存储扩容;

如果是,则确定监测到所述存储扩容事件。

优选地,利用所述存储请求和存储分配,确定所述存储请求是否需存储扩容,包括:

解析所述存储请求,确定存储所需容量;

判断所述所需容量是否大于所述存储分配;

如果是,则确定所述存储请求需存储扩容。

优选地,在监听到存储扩容事件后,在执行所述利用LVM卷管理装置的lv容量扩容接口进行容量扩容的步骤之前,还包括:

判断所述存储系统是否具有满足所述存储扩容事件的可扩容容量;

如果是,则执行所述利用LVM卷管理装置的lv容量扩容接口进行容量扩容的步骤。

优选地,判断所述存储系统是否具有满足所述存储扩容事件的可扩容容量,包括:

解析所述存储请求,得到存储卷所属存储的唯一标识;

利用所述唯一标识查询存储信息,得到可扩容容量;

判断所述可扩容容量是否大于所需扩容容量;

如果是,则确定所述存储系统具有满足所述存储扩容事件的可扩容容量。

优选地,在所述对存储系统中的存储需求进行监听之前,包括:

以AEP内存为存储后端,并创建存储卷的容量,以便将所述AEP内存作为文件系统卷提供给容器应用程序。

一种存储卷扩容系统,包括:

扩容控制装置,用于对存储系统中的存储需求进行监听;

容量扩容执行装置,用于在所述扩容控制装置监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容;

文件系统扩容执行装置,用于若容量扩容成功,则利用所述LVM卷管理装置的文件系统扩容接口进行文件系统扩容;

LVM卷管理装置,用于若文件系统扩容成功,则确定完成所述存储扩容事件对应的存储卷扩容。

一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述存储卷扩容方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述存储卷扩容方法的步骤。

应用本申请实施例所提供的方法,对存储系统中的存储需求进行监听;在监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容;若容量扩容成功,则利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容;若文件系统扩容成功,则确定完成存储扩容事件对应的存储卷扩容。

在本申请中,可以对存储系统中的存储需求进行监听,当监听到存储扩容事件后,可利用LVM卷管理装置的lv容量扩容接口进行容量扩容。在容量扩容成功后,再利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容。在确定文件系统扩容成功后,则完全对存储扩容事件对应的存储卷扩容。从而可以使得分配的容量与应用将要使用的容量相符,避免在使用过程中出现容量不足的情况。即,通过利用LVM卷管理装置的容量扩容接口和文件系统扩容接口,扩展pmem-csi功能,增加pmem-csi的扩容功能,使得pmem-csi局部扩大存储卷容量的功能,可以保障应用正常提供服务。

相应地,本申请实施例还提供了与上述存储卷扩容方法相对应的存储卷扩容系统、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中一种存储卷扩容方法的实施流程图;

图2为本申请实施例中一种存储卷扩容系统的结构示意图;

图3为本申请实施例中一种电子设备的结构示意图;

图4为本申请实施例中一种电子设备的具体结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例中一种存储卷扩容方法的流程图,该方法可以具体应用于如图2所示的存储卷扩容系统中。该方法包括以下步骤:

在对存储系统中的存储需求进行监听之前,以AEP内存为存储后端,并创建存储卷的容量,以便将AEP内存作为文件系统卷提供给容器应用程序。

其中,AEP(Apache Pass)内存是,Intel推出的一种新型的非易失Memory设备,是PMEM的一种;PMEM(Persistent Memory,持久化内存),也称为非易失性内存(NVM),它即使在断电之后也能够保持数据不丢失。

S101、对存储系统中的存储需求进行监听。

在本实施例中,对存储系统中的存储需求进行监听可以具体采用被动接收的方式进行监听,如通过kubernetes的listwatch(一种消息传递方式)方式监听存储需求;也可以采用主动获取信息的方式进行监听,如轮询方式。

该存储需求可具体为请求存储的大小、内容等。

在本申请中的一种具体实施方式中,步骤S101对存储系统中的存储需求进行监听,具体包括:

步骤一、接收存储请求;

步骤二、利用存储请求和存储分配,确定存储请求是否需存储扩容;

步骤三、如果是,则确定监测到存储扩容事件。

为便于描述,下面将上述三个步骤结合起来进行说明。

具体的,可以接收PVC(PersistentVolumeClaim)请求,即由用户进行存储的请求,PVC消耗PV资源,PVC声明可以请求特定的大小和访问模式(例如,可以一次读/写或多次只读)。其中,PV(PersistentVolume)是集群中由管理员配置的一段存储(即存储分配)。在本申请中,pv等同于存储卷。

接收到存储请求后,便可利用该存储请求与存储分配,确定该存储请求是否需存储扩容,如果是,则表明监测到了存储扩容事件。

具体的,对于上述步骤二利用存储请求和存储分配,确定存储请求是否需存储扩容,可以具体包括:

步骤1、解析存储请求,确定存储所需容量;

步骤2、判断所需容量是否大于存储分配;

步骤3、如果是,则确定存储请求需存储扩容。

该存储请求可以具体为PVC请求,通过解析该PVC请求可以确定请求存储对应的所需容量。然后,比对所需容量与存储分配的大小关系,如果所需容量大于存储分配,则表明该存储请求需存储扩容;否则,即表明该存储请求无需存储扩容。

S102、在监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容。

其中,LVM(Logical Volume Manager),LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

在监听到存储扩容事件后,便可通知容量扩容执行装置来执行具体的容量扩容。即,容量扩容执行装置借助LVM卷管理装置的LV的容量扩容接口进行容量扩容功能。对于lv容量扩容接口具体如何实现容量扩容,可以具体参照lv容量扩容接口的定义和扩容实现的具体流程,在此不再一一赘述。

优选地,在监听到存储扩容事件后,在执行利用LVM卷管理装置的lv容量扩容接口进行容量扩容的步骤之前,还可以执行以下步骤:

判断存储系统是否具有满足存储扩容事件的可扩容容量;

如果是,则执行利用LVM卷管理装置的lv容量扩容接口进行容量扩容的步骤。

也就是说,在进行容量扩容之前,还可以先确定一下,当前是否具备容量扩容条件,如果具备再进行扩容;如果不具备,则不进行扩容,以便快速反馈当前的存储扩容事件,如输出无法扩容信息,以提示用户或告知相关应用。

其中,判断存储系统是否具有满足存储扩容事件的可扩容容量,包括:

步骤1、解析存储请求,得到存储卷所属存储的唯一标识;

步骤2、利用唯一标识查询存储信息,得到可扩容容量;

步骤3、判断可扩容容量是否大于所需扩容容量;

步骤4、如果是,则确定存储系统具有满足存储扩容事件的可扩容容量。

该存储请求可以具体为PVC请求,解析该PVC可以确定请求存储的存储卷所属存储的唯一标识。基于该唯一标识进行查询,可以得到存储信息,该存储信息中包括有可扩容容量。当可扩容容量大于所需扩容容量,则确定存储系统具有满足存储扩容事件的可扩容容量。该所需扩容容量可以具体为PVC与VC的关于存储容量的差值。

举例说明,该容量扩容执行装置,执行以下逻辑步骤:

I、获取存储卷信息pvc和pv;

II、根据存储卷信息判断可用存储容量是否充足;

III、基于LVM卷管理装置的lv的容量扩容接口实现容量扩容功能。

优选地,若容量扩容失败,还可以在存储卷上标记容量扩容失败。以便用户或应用查询容量扩容失败原因。

根据容量扩容是否成功,而执行不同的处理步骤。具体的,如果容量扩容执行装置返回失败,则处理存储卷的扩容请求,并在存储卷上标记容量扩容失败;如果容量扩容装置返回成功,则可进入步骤S103。

S103、若容量扩容成功,则利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容。

在容量扩容成功后,则可以通知文件系统扩容执行装置进行文件系统扩容。具体的,即文件系统扩容执行装置通过LVM卷管理装置的文件系统扩容接口实现文件系统扩容功能。对于文件系统扩容接口具体如何实现文件系统扩容,可以具体参照文件系统扩容接口的具体定义和对应的文件系统扩容实现流程,在此不再一一赘述。

文件系统扩容执行装置,进行文件系统扩容时,可具体执行以下逻辑步骤:

I、获取存储卷信息;

II、基于LVM卷管理装置的文件系统扩容接口实现文件系统扩容功能。

如果文件系统扩容装置返回失败,则在存储卷上标记文件系统扩容失败。

S104、若文件系统扩容成功,则确定完成存储扩容事件对应的存储卷扩容。

应用本申请实施例所提供的方法,对存储系统中的存储需求进行监听;在监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容;若容量扩容成功,则利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容;若文件系统扩容成功,则确定完成存储扩容事件对应的存储卷扩容。

在本申请中,可以对存储系统中的存储需求进行监听,当监听到存储扩容事件后,可利用LVM卷管理装置的lv容量扩容接口进行容量扩容。在容量扩容成功后,再利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容。在确定文件系统扩容成功后,则完全对存储扩容事件对应的存储卷扩容。从而可以使得分配的容量与应用将要使用的容量相符,避免在使用过程中出现容量不足的情况。即,通过利用LVM卷管理装置的容量扩容接口和文件系统扩容接口,扩展pmem-csi功能,增加pmem-csi的扩容功能,使得pmem-csi局部扩大存储卷容量的功能,可以保障应用正常提供服务。

相应于上面的方法实施例,本申请实施例还提供了一种存储卷扩容系统,下文描述的存储卷扩容系统与上文描述的存储卷扩容方法可相互对应参照。

参见图2所示,该系统包括以下装置:

扩容控制装置101,用于对存储系统中的存储需求进行监听;

容量扩容执行装置102,用于在扩容控制装置监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容;

文件系统扩容执行装置103,用于若容量扩容成功,则利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容;

LVM卷管理装置104,用于若文件系统扩容成功,则确定完成存储扩容事件对应的存储卷扩容。

在实际应用中,容量扩容执行装置,执行逻辑如下:

I、获取存储卷信息;

II、根据存储卷信息

判断可用存储容量是否充足;

III、基于LVM卷管理装置的lv的容量扩容接口实现容量扩容功能。

文件系统扩容执行装置,执行逻辑如下:

I、获取存储卷信息;

II、基于LVM卷管理装置的文件系统扩容接口实现文件系统扩容功能。

扩容控制装置,执行逻辑如下:

I、基于kubernetes的listwatch机制监听存储卷的扩容请求,即监听存储需求;

II、在监听容量扩容事件后通知容量扩容执行装置进行容量扩容;

III、如果容量扩容执行装置返回失败,则处理存储卷的扩容请求,并在存储卷上标记容量扩容失败;如果容量扩容装置返回成功,则通知文件系统扩容执行装置进行文件系统扩容;

IV、如果文件系统扩容装置返回失败,则在存储卷上标记文件系统扩容失败。

实现上述装置后,可在pmem-csi中添加存储卷扩容配置,将扩容控制装置、容量扩容执行装置、文件系统扩容执行装置接入到pmem-csi中,从而使得存储卷扩容系统能够避免容量不足时影响应用的正常使用;同时,还能够提高集群的资源利用率,不用考虑在为应用分配更多的容量,只需到容量不足时对pvc进行扩容即可。

应用本申请实施例所提供的系统,对存储系统中的存储需求进行监听;在监听到存储扩容事件后,利用LVM卷管理装置的lv容量扩容接口进行容量扩容;若容量扩容成功,则利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容;若文件系统扩容成功,则确定完成存储扩容事件对应的存储卷扩容。

在本申请中,可以对存储系统中的存储需求进行监听,当监听到存储扩容事件后,可利用LVM卷管理装置的lv容量扩容接口进行容量扩容。在容量扩容成功后,再利用LVM卷管理装置的文件系统扩容接口进行文件系统扩容。在确定文件系统扩容成功后,则完全对存储扩容事件对应的存储卷扩容。从而可以使得分配的容量与应用将要使用的容量相符,避免在使用过程中出现容量不足的情况。即,通过利用LVM卷管理装置的容量扩容接口和文件系统扩容接口,扩展pmem-csi功能,增加pmem-csi的扩容功能,使得pmem-csi局部扩大存储卷容量的功能,可以保障应用正常提供服务。

在本申请的一种具体实施方式中,容量扩容执行装置102,若容量扩容失败,还用于在存储卷上标记容量扩容失败。

在本申请的一种具体实施方式中,扩容控制装置101,具体用于接收存储请求;利用存储请求和存储分配,确定存储请求是否需存储扩容;如果是,则确定监测到存储扩容事件。

在本申请的一种具体实施方式中,扩容控制装置101,具体用于解析存储请求,确定存储所需容量;判断所需容量是否大于存储分配;如果是,则确定存储请求需存储扩容。

在本申请的一种具体实施方式中,在监听到存储扩容事件后,在执行利用LVM卷管理装置的lv容量扩容接口进行容量扩容的步骤之前,容量扩容执行装置102,还用于判断存储系统是否具有满足存储扩容事件的可扩容容量;如果是,则执行利用LVM卷管理装置的lv容量扩容接口进行容量扩容的步骤。

在本申请的一种具体实施方式中,容量扩容执行装置102,具体用于解析存储请求,得到存储卷所属存储的唯一标识;利用唯一标识查询存储信息,得到可扩容容量;判断可扩容容量是否大于所需扩容容量;如果是,则确定存储系统具有满足存储扩容事件的可扩容容量。

在本申请的一种具体实施方式中,存储卷创建模块,用于在对存储系统中的存储需求进行监听之前,以AEP内存为存储后端,并创建存储卷的容量,以便将AEP内存作为文件系统卷提供给容器应用程序。

相应于上面的方法实施例,本申请实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种存储卷扩容方法可相互对应参照。

参见图3所示,该电子设备包括:

存储器332,用于存储计算机程序;

处理器322,用于执行计算机程序时实现上述方法实施例的存储卷扩容方法的步骤。

具体的,请参考图4,图4为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。

电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。

上文所描述的存储卷扩容方法中的步骤可以由电子设备的结构实现。

相应于上面的方法实施例,本申请实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种存储卷扩容方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的存储卷扩容方法的步骤。

该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据重构方法、设备、存储介质及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类