一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种存储卷残留数据清理方法及装置与流程

2021-10-19 23:24:00 来源:中国专利 TAG:残留 数据存储 装置 清理 特别


1.本技术涉及数据存储技术领域,特别涉及一种存储卷残留数据清理方法及装置。


背景技术:

2.容器技术虚拟化技术已经成为一种被大家广泛认可的容器技术服务器资源共享方式,容器技术可以在按需构建容器技术操作系统实例的过程当中为系统管理员提供极大的灵活性。许多容器服务需要外部持久化存储来存储容器服务运行过程中产生的数据,保证数据的安全性。kubernetes是当前应用最广泛的容器编排技术,kubernetes中pv(persistentvolume,持久化存储卷)是volume之类的卷插件,但具有独立于使用pv的pod的生命周期。在kubernetes平台上对容器服务及其使用的存储进行管理时,pod管理对应容器服务管理,pv管理对应存储管理。通过pv资源管理存储时,没有存储卷数据的管理能力。删除kubernetes中pv资源后,存储服务端(iscsi、nfs等)仍会残留数据,占用存储资源。当存储服务端存储资源较少,再次使用该存储卷时,需要手动在存储服务端清理残留数据,提供足够存储空间,供给其他容器服务正常挂载使用。


技术实现要素:

3.本技术提供了一种存储卷残留数据清理方法及装置,用以解决现有技术中存在的在删除pv资源时,无法自动删除pv对应的存储卷中残留数据的问题。
4.第一方面,本技术提供了一种存储卷残留数据清理方法,应用于kubernetes集群,所述方法包括:
5.接收目标持久化存储卷pv删除请求,并基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息,其中,所述目标pv删除请求携带有清理存储服务器上所述目标pv对应的目标存储卷中的残留数据的指令;
6.创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod;
7.将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod;
8.启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据。
9.可选地,基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息的步骤包括:
10.基于所述目标pv删除请求,确定所述目标pv;
11.获取所述目标pv的描述信息,其中,所述目标pv的描述信息中描述有所述目标pv对应的目标存储卷的信息。
12.可选地,创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod的步骤包括:
13.创建一个用于清理所述目标存储卷的残留数据的job;
14.启动一个执行所述job的pod。
15.可选地,将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod的步骤包括:
16.将预设的清理脚本挂载至所述pod的第一指定目录;
17.将所述目标存储卷挂载至所述pod的第二指定目录,其中,所述清理脚本用于对所述pod的第二指定目录下挂载的所述目标存储卷中的残留数据进行删除操作。
18.可选地,启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据的步骤包括:
19.基于容器启动命令,执行所述pod的第一指定目录下挂载的所述清理脚本;
20.基于所述清理脚本,清理所述pod的第二指定目录下挂载的所述目标存储卷中的残留数据。
21.第二方面,本技术提供了一种存储卷残留数据清理装置,应用于kubernetes集群,所述装置包括:
22.接收单元,用于接收目标持久化存储卷pv删除请求,并基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息,其中,所述目标pv删除请求携带有清理存储服务器上所述目标pv对应的目标存储卷中的残留数据的指令;
23.创建单元,用于创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod;
24.挂载单元,用于将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod;
25.清理单元,用于启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据。
26.可选地,基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息时,所述接收单元具体用于:
27.基于所述目标pv删除请求,确定所述目标pv;
28.获取所述目标pv的描述信息,其中,所述目标pv的描述信息中描述有所述目标pv对应的目标存储卷的信息。
29.可选地,创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod时,所述创建单元具体用于:
30.创建一个用于清理所述目标存储卷的残留数据的job;
31.启动一个执行所述job的pod。
32.可选地,将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod时,所述挂载单元具体用于:
33.将预设的清理脚本挂载至所述pod的第一指定目录;
34.将所述目标存储卷挂载至所述pod的第二指定目录,其中,所述清理脚本用于对所述pod的第二指定目录下挂载的所述目标存储卷中的残留数据进行删除操作。
35.可选地,启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据时,所述清理单元具体用于:
36.基于容器启动命令,执行所述pod的第一指定目录下挂载的所述清理脚本;
37.基于所述清理脚本,清理所述pod的第二指定目录下挂载的所述目标存储卷中的
残留数据。
38.第三方面,本技术实施例提供一种存储卷残留数据清理装置,应用于kubernetes集群,该存储卷残留数据清理装置包括:
39.存储器,用于存储程序指令;
40.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
41.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
42.综上可知,本技术实施例提供的存储卷残留数据清理方法,应用于kubernetes集群,所述方法包括:接收目标持久化存储卷pv删除请求,并基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息,其中,所述目标pv删除请求携带有清理存储服务器上所述目标pv对应的目标存储卷中的残留数据的指令;创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod;将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod;启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据。
43.采用本技术实施例提供的存储卷残留数据清理方法,在删除kubernetes集群的pv资源时,启动一个管理工作类容器(job),将预设的清理脚本以及该pv资源对应的存储卷挂载至该job对应的pod容器服务内的指定目录下,通过启动job对应的pod,调用pod指定目录下的清理脚本对该pv资源对应的存储卷中残留的数据进行清理操作,实现了存储卷残留数据自动清理的操作,简化了存储卷残留数据的清理过程,能够及时释放存储服务器上的存储资源。
附图说明
44.为了更加清楚地说明本技术实施例或者现有技术中的技术方案,下面将对本技术实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本技术实施例的这些附图获得其他的附图。
45.图1为本技术实施例提供的一种存储卷残留数据清理方法的详细流程图;
46.图2为本技术实施例提供的一种存储系统的结构示意图;
47.图3为本技术实施例提供的一种存储卷残留数据清理装置的结构示意图;
48.图4为本技术实施例提供的另一种存储卷残留数据清理装置的结构示意图。
具体实施方式
49.在本技术实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本技术。本技术和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
50.应当理解,尽管在本技术实施例可能采用术语第一、第二、第三等来描述各种信
息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
51.示例性的,参阅图1所示,为本技术实施例提供的一种存储卷残留数据清理方法的详细流程图,该方法应用于kubernetes集群,该方法包括以下步骤:
52.步骤100:接收目标持久化存储卷pv删除请求,并基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息,其中,所述目标pv删除请求携带有清理存储服务器上所述目标pv对应的目标存储卷中的残留数据的指令。
53.本技术实施例中,用户通过操作界面或后端接口向kubernetes集群发起目标pv的回收或删除请求,kubernetes集群接收用户发起的目标pv的回收/删除请求。且该请求中带有清理字段,该清理字段表征需要对目标pv对应的存储服务器上的目标存储卷中的残留数据进行清理的操作。
54.示例性的,参阅图2所示,为本技术实施例提供的一种存储系统的结构示意图,该存储系统包括kubernetes集群和存储服务器,kubernetes集群上新增容器服务os

kaas,负责kubernetes集群上pv资源及其对应持久化存储卷的管理,当使用容器服务os

kaas对该kubernetes集群中pv进行回收或删除时,os

kaas容器服务提供是否清理待回收或删除pv在存储服务器对应的存储卷中的残留数据能力。
55.实际应用中,在kubernetes集群中创建一个pv时,需要在存储服务端为该一个pv配置一个用于存储数据的存储卷,该一个pv中描述有该一个pv对应的存储卷信息(如,存储类型,挂载文件系统,容量大小,读写模式,存储卷路径等信息)。
56.那么,本技术实施例中,基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息时,一种较佳地实现方式为,基于所述目标pv删除请求,确定所述目标pv;获取所述目标pv的描述信息,其中,所述目标pv的描述信息中描述有所述目标pv对应的目标存储卷的信息。
57.步骤110:创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod。
58.本技术实施例中,在创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod时,一种较佳地实现方式为,创建一个用于清理所述目标存储卷的残留数据的job;启动一个执行所述job的pod。
59.步骤120:将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod。
60.本技术实施例中,在将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod时,一种较佳地实现方式为,将预设的清理脚本挂载至所述pod的第一指定目录;将所述目标存储卷挂载至所述pod的第二指定目录,其中,所述清理脚本用于对所述pod的第二指定目录下挂载的所述目标存储卷中的残留数据进行删除操作。
61.步骤130:启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据。
62.本技术实施例中,在启动所述pod,并基于所述预设的清理脚本清理所述目标存储
卷中的残留数据时,一种较佳地实现方式为,基于容器启动命令,执行所述pod的第一指定目录下挂载的所述清理脚本;基于所述清理脚本,清理所述pod的第二指定目录下挂载的所述目标存储卷中的残留数据。
63.实际应用中,结合图2所示,os

kaas在kubernetes集群中创建清理目标存储卷的残留数据的专用job,kubernetes集群将名为rm

data的configmap挂载到job对应pod内的第一指定目录(/opt/clean/)中,rm

data中包含清理脚本rm

data.sh,该清理脚本实现的功能是对第二指定目录(/var/lib/nginx/)中的残留数据进行删除操作。job对应pod根据上述获取到的目标存储卷信息指定挂载使用目标存储卷,即将目标存储1挂载到job对应pod容器服务内的第二指定目录(/var/lib/nginx/),进一步地,可以使用容器启动命令执行第一指定目录(/opt/clean/)中的清理脚本rm

data.sh,删除目标存储卷在job对应pod中挂载的第二指定目录(/var/lib/nginx/)下全部数据,这样就能删除清理掉目标存储卷中的所有残留数据。os

kaas监控专用清理job对应的pod执行情况,获取清理结果信息(清理残留数据是否成功)。
64.进一步地,容器服务os

kaas向kubernetes集群的kube

apiserver发起删除或回收目标pv的请求,kubernetes集群对目标pv进行删除或回收操作,并返回操作结果给os

kaas。os

kaas收到目标pv的回收或删除操作结果后,与上述目标存储卷清理结果一起反馈给用户。
65.基于与上述发明实施例同样的发明构思,示例性的,参阅图3所示,为本技术实施例提供的一种存储卷残留数据清理装置的结构示意图,该装置应用于kubernetes集群,该装置包括:
66.接收单元30,用于接收目标持久化存储卷pv删除请求,并基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息,其中,所述目标pv删除请求携带有清理存储服务器上所述目标pv对应的目标存储卷中的残留数据的指令;
67.创建单元31,用于创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod;
68.挂载单元32,用于将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod;
69.清理单元33,用于启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据。
70.可选地,基于所述目标pv删除请求,获取所述目标pv对应的目标存储卷的信息时,所述接收单元30具体用于:
71.基于所述目标pv删除请求,确定所述目标pv;
72.获取所述目标pv的描述信息,其中,所述目标pv的描述信息中描述有所述目标pv对应的目标存储卷的信息。
73.可选地,创建用于清理所述目标存储卷的残留数据的任务job,并启动所述job对应的容器服务pod时,所述创建单元31具体用于:
74.创建一个用于清理所述目标存储卷的残留数据的job;
75.启动一个执行所述job的pod。
76.可选地,将预设的清理脚本挂载至所述pod,并将所述目标存储卷挂载至所述pod
时,所述挂载单元32具体用于:
77.将预设的清理脚本挂载至所述pod的第一指定目录;
78.将所述目标存储卷挂载至所述pod的第二指定目录,其中,所述清理脚本用于对所述pod的第二指定目录下挂载的所述目标存储卷中的残留数据进行删除操作。
79.可选地,启动所述pod,并基于所述预设的清理脚本清理所述目标存储卷中的残留数据时,所述清理单元33具体用于:
80.基于容器启动命令,执行所述pod的第一指定目录下挂载的所述清理脚本;
81.基于所述清理脚本,清理所述pod的第二指定目录下挂载的所述目标存储卷中的残留数据。
82.以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system

on

a

chip,简称soc)的形式实现。
83.进一步地,本技术实施例提供的存储卷残留数据清理装置,从硬件层面而言,所述存储卷残留数据清理装置的硬件架构示意图可以参见图4所示,所述存储卷残留数据清理装置可以包括:存储器40和处理器41,
84.存储器40用于存储程序指令;处理器41调用存储器40中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
85.可选地,本技术还提供一种存储卷残留数据清理设备,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
86.可选地,本技术还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
87.这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
88.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
89.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
90.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
91.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
92.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
93.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
94.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜