CN114138549A - 基于kubernetes系统的数据备份和恢复方法 - Google Patents

基于kubernetes系统的数据备份和恢复方法 Download PDF

Info

Publication number
CN114138549A
CN114138549A CN202111272051.6A CN202111272051A CN114138549A CN 114138549 A CN114138549 A CN 114138549A CN 202111272051 A CN202111272051 A CN 202111272051A CN 114138549 A CN114138549 A CN 114138549A
Authority
CN
China
Prior art keywords
data
backup
backed
storage
target
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.)
Withdrawn
Application number
CN202111272051.6A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111272051.6A priority Critical patent/CN114138549A/zh
Publication of CN114138549A publication Critical patent/CN114138549A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请涉及基于kubernetes系统的数据备份和恢复方法、装置及计算机设备,涉及数据处理领域。该数据备份方法通过接收数据备份请求,并确定进行数据备份所对应的目标数据存放组件,调用目标数据存放组件的相应接口从目标数据存放组件获取未进行备份的待备份数据,封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。上述技术方案提高了k8s系统的数据备份和恢复的安全性、稳定性和实时性。

Description

基于kubernetes系统的数据备份和恢复方法
技术领域
本申请涉及数据处理技术领域,特别是涉及一种基于kubernetes系统的数据备份和恢复方法、装置及计算机设备,还涉及一种计算机可读存储介质。
背景技术
近些年来,随着云计算、云服务的发展,容器技术得到了较为广泛的应用。以kubernetes和Docker为代表的云原生技术,利用容器作为底层虚拟支撑技术,kuberentes作为资源调度和管理平台,在企业数据和信息管理中应用也越来越广泛。
为了保证数据安全以防止数据丢失,通常需要对Kubernetes应用程序进行数据管理和备份。传统的数据备份方案是基于存储逻辑的备份,是将全部或部分数据集合从应用主机的硬盘或磁盘等存储介质中复制到其他的存储介质以实现数据备份。然而,使用传统解决方案而不是专门为kubernetes环境设计的解决方案会增加数据意外丢失和配置错误的风险,当前以云原生技术搭建的适用于Kubernetes系统的容器云平台的灾备能力还不是很成熟,缺乏有效的备份机制,现有的Kubernetes系统的数据备份和恢复方法存在安全性低,数据备份和恢复性能不稳定等缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高kubernetes系统数据备份和恢复安全性的数据备份和恢复方法、装置、计算机设备和存储介质。
第一方面,本申请提供一种基于kubernetes系统的数据备份方法,数据备份方法包括:
接收数据备份请求,根据数据备份请求确定进行数据备份所对应的目标数据存放组件;
调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据;
封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
在其中一个实施例中,若待备份数据为平台数据,则目标数据存放组件为etcd数据库;
调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据的步骤包括:
调用etcd数据库的信息查询接口从etcd数据库中获取待备份的平台数据;
若待备份数据为业务数据,则目标数据存放组件为持久化存储卷;
调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据的步骤包括:
调用持久化对象接口从持久化存储卷中获取待备份的业务数据。
在其中一个实施例中,数据备份方法还包括:判断数据备份是否为首次数据备份;
若数据备份为首次数据备份,则调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据的步骤包括:
调用目标数据存放组件的相应接口从目标数据存放组件获取全量数据作为待备份数据,并记录此次数据备份的备份时间点;
若数据备份为非首次数据备份,则调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据的步骤包括:
调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据,将增量数据确定为待备份数据。
在其中一个实施例中,调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据的步骤之前,还包括:
通过kubernetes系统的监视器监听kubernetes集群中的接口服务或持久化存储卷;
根据接口服务的调度信息或持久化存储卷的读写信息确定目标数据存放组件存储有增量数据。
在其中一个实施例中,封装待备份数据的步骤包括:
确定待备份数据的目标存储格式;其中,目标存储格式包括块存储、对象存储和文件存储中的一种或多种;
按照目标存储格式将待备份数据进行格式转换,得到封装后的待备份数据。
第二方面,本申请提供了一种基于kubernetes系统的数据备份方法的数据恢复方法,该数据恢复方法包括:
接收数据恢复请求,根据数据恢复请求确定请求数据恢复的目标数据存放组件;
调用后端读取接口从备份存储介质中获取待恢复数据;
解封装待恢复数据,调用目标数据存放组件的相应接口将解封装后的待恢复数据还原到目标数据存放组件中。
第三方面,本申请提供了一种基于kubernetes系统的数据备份装置,该数据备份装置包括:
存放组件第一确定模块,用于接收数据备份请求,根据数据备份请求确定进行数据备份所对应的目标数据存放组件;
待备份数据获取模块,用于调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据;
待备份数据传输模块,用于封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
第四方面,本申请提供了一种基于kubernetes系统的数据恢复装置,该数据恢复装置包括:
存放组件第二确定模块,用于接收数据恢复请求,根据数据恢复请求确定请求数据恢复的目标数据存放组件;
待恢复数据获取模块,用于调用后端读取接口从备份存储介质中获取待恢复数据;
待恢复数据恢复模块,用于解封装待恢复数据,调用目标数据存放组件的相应接口将解封装后的待恢复数据还原到目标数据存放组件中。
第五方面,本申请提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面所提及的数据备份方法或第二方面所提及的数据恢复方法的步骤。
第六方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面所提及的数据备份方法或第二方面所提及的数据恢复方法的步骤。
上述基于kubernetes系统的数据备份和恢复方法、装置、计算机设备及存储介质,通过接收数据备份请求,并确定进行数据备份所对应的目标数据存放组件,调用目标数据存放组件的相应接口从目标数据存放组件获取未进行备份的待备份数据,封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份,从而实现基于云原生技术的k8s系统的数据备份,提高了k8s系统的数据备份的安全性和稳定性。由于本技术方案是基于k8s系统的调度管理功能,通过调用相关组件进行数据备份,无需依赖存储硬件的存储逻辑,使得数据备份和恢复基于k8s框架来实现,降低了数据丢失风险,且提高了数据备份的实时性。
附图说明
图1为相关技术中的kubernetes系统的结构示意图;
图2为一实施例中基于kubernetes系统的数据备份或恢复方法的应用场景示意图;
图3为一实施例中的基于kubernetes系统的数据备份方法的流程图;
图4为一实施例中的基于kubernetes系统的数据备份方法的另一流程图;
图5为一实施例中的基于kubernetes系统的数据恢复方法的流程图;
图6为一实施例中的基于kubernetes系统的数据备份装置的结构示意图;
图7为一实施例中的基于kubernetes系统的数据恢复装置的结构示意图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
Kubernetes,简称k8s,是开源的容器集群管理系统,用于管理云平台中多个主机上的容器化的应用。基于Kubernetes的容器集群管理系统提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。一个典型的k8s应用程序由数百个组件组成pod、服务(service)、证书、密钥等。k8s备份解决方案不仅要能够备份和还原数据,还要能够备份和还原所有这些组件。其中,在kubernetes集群中,Pod是所有业务类型的基础,是一个或多个容器的组合。在Pod中,所有容器都被统一安排和调度。对于具体应用而言,Pod包含业务相关的多个应用容器,是多个应用容器的逻辑主机。
图1为相关技术中的kubernetes系统的结构示意图,如图1所示,通常而言,kuberentes通常使用3个服务器节点作为管理节点,在管理节点上部署着kuberentes系统管理组件,包括:接口服务(apiserver)、控制管理(controller-manager)、调度器(scheduler)和etcd。通过管理节点对每个计算节点发送命令来实现业务容器的运行。etcd是一个高可用的分布式键值(key-value)数据库,其中管理节点中的etcd是整个kubernetes的核心部分,集群中所有的对象(resource)资源信息都保存在etcd这个键值数据库中。Etcd中的数据可以理解为容器云平台的平台数据。
在kuberentes系统中,除了平台数据,还有一部分数据是业务数据,业务数据指的是容器中运行的业务系统产生的数据,包括业务信息、日志信息等等业务运行过程中产生的数据。这部分数据kubernetes系统通过持久卷(PersisentVolume)的形式持久化到对应的存储设备上。相对于平台数据,业务数据的信息量大很多,也是最关键的数据内容。
对本申请实施例所适用的应用环境进行说明。
图2为一实施例中的基于kubernetes系统的数据备份方法的应用场景示意图,如图2所示,其中,终端110通过网络与服务器120通过网络进行通信,终端110可以运行有kubernetes系统。服务器120接收终端110发送的数据备份请求,根据数据备份请求确定进行数据备份所对应的目标数据存放组件,调用目标数据存放组件的相应接口从目标数据存放组件获取待备份的待备份数据,封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请提供的基于kubernetes系统的数据备份和恢复方法、装置、计算机设备及存储介质,能够提高数据备份和恢复安全性,降低数据丢失风险,解决现有技术的如上技术问题。
本申请的技术方案通过在基于kubernetes系统中新增设自研组件,即备份管理组件和存储适配组件,通过备份管理组件调用目标数据存放组件的相应接口,如etcd的信息查询接口或持久化存储卷的持久化对象接口,从目标数据存放组件获取待备份的待备份数据,利用存储适配组件将待备份数据进行封装成指定格式后,调用kubernetes系统中的后端存储接口传输到备份存储介质进行备份。利用kubernetes的调度管理功能,新增的自研组件与kubernetes系统中的自带组件之间进行资源调度相互配合,共同完成数据备份和数据恢复,安全可靠。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面将结合附图,对本申请的实施例进行描述。
图3为一实施例中的基于kubernetes系统的数据备份方法的流程图,可选的,该基于kubernetes系统的数据备份方法可以执行于服务器。
具体的,如图3所示,基于kubernetes系统的数据备份方法可以包括以下步骤:
S210、接收数据备份请求,根据数据备份请求确定进行数据备份所对应的目标数据存放组件。
目标数据存放组件是存储数据的组件,根据所存储的数据类型的不同,目标数据存放组件可以不同。目标数据存放组件可以是etcd数据库或持久化(PersistentVolume)存储卷等。
数据备份请求是用于数据备份的请求,该请求中包括要进行数据备份的信息,根据该信息可以确定进行数据备份所需要数据所在的目标数据存放组件。
在一个实施例中,用户通过终端上运行的kubernetes系统进行数据备份操作,终端根据用户操作生成数据备份请求,并将该数据备份请求发送至服务器,从而服务器接收终端发送的数据备份请求。其中该数据备份请求进行数据备份所对应的目标数据存放组件可以是用户在终端上运行的kubernetes系统上进行数据备份操作时所选择的目标数据存放组件,也可以是用户在终端上运行的kubernetes系统上进行数据备份操作时,系统自动随机选择的目标数据存放组件。
S220、调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据。
待备份数据是指需要进行备份的数据。
在本实施例中,基于k8s的调度管理功能,通过k8s系统自带的调度组件(scheduler)调用目标数据存放组件的相应接口从目标数据存放组件中获取到待备份数据。待备份数据可以通过对某一时间段内的数据进行标记所确定,也可以是对某一数据类型的数据进行标记所确定。
在本实施例中,由于不同数据类型的待备份数据所在的目标数据存放组件不同,获取待备份数据所需要调用的目标数据存放组件的相应接口也可以不同,例如,平台数据对应的目标数据存放组件为etcd数据库,则可以调用etcd数据库的接口A以获取etcd数据库中的待备份平台数据;又如,业务数据对应的目标数据存放组件为PV存储卷,则可以调用PV存储卷中的接口B以获取到PV存储卷中的待备份业务数据。
S230、封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
备份存储介质,用于存储备份数据的存储介质。备份存储介质独立于kubernetes系统,也可以是集成在kubernetes系统上的存储介质。后端存储接口是指后端存储对应的接口,可选的,可以是备份存储介质所对应存储设备的接口。
在本实施例中,将获取到的待备份数据以指定数据格式进行打包封装,以便于后续进行待备份数据的数据传输,其中,指定数据格式可以块存储、对象存储和文件存储中的一种或多种。
进一步的,基于k8s的调度管理功能,通过k8s系统自带的调度组件(scheduler)调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
本实施例提供的数据备份方法,可以应用于服务器,通过接收数据备份请求,并确定进行数据备份所对应的目标数据存放组件,调用目标数据存放组件的相应接口从目标数据存放组件获取未进行备份的待备份数据,封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份,从而实现基于云原生技术的k8s系统的数据备份,提高了k8s系统的数据备份的安全性和稳定性。
相对于传统的数据备份技术,如虚拟机和物理机等的数据备份技术,是通过读取原始存储器中的待备份数据,将待备份数据从原始存储器中拷贝到备份存储器中进行数据备份,是基于存储机制的数据备份,然而,本申请技术方案是将待备份数据结合k8s的调度管理机制,将存储到数据库的待备份数据通过调用k8s数据库的接口获取到待备份数据,再调用k8s系统后端存储接口将待备份数据传输到对应的备份存储介质中进行数据备份,是基于k8s系统的调度机制的数据备份,并不关注底层存储的逻辑处理,从而保障了k8s系统的数据备份的安全性和稳定性。
为了更清楚的阐述本申请的技术方案,下面针对基于kubernetes系统的数据备份方法的多个步骤进行进一步说明。
根据数据类型,可以将k8s系统上的数据划分为平台数据和业务数据。平台数据可以理解为kubernetes系统中所有的对象(resource)的资源信息数据,业务数据为容器中运行的业务系统在运行中所产生的数据,包括业务信息、日志信息等。在本技术方案中,在kubernetes系统中,平台数据和业务数据以不同的数据形式存储在不同的存储组件中,平台数据保存在etcd键值数据库中,也即是说,etcd数据库中的数据为容器云平台的平台数据,业务数据通过卷的形式持久化到对应的存储设备,即持久化存储卷上。
在一实施例中,若待备份数据为平台数据,则目标数据存放组件为etcd数据库;则步骤S220中的调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据可以通过以下实现方式来实现:
S220-A、调用etcd数据库的信息查询接口从etcd数据库中获取待备份的平台数据。
Etcd数据库包括多种API接口,如信息查询接口、数据监听接口、集群管理接口等。信息查询接口是基于Key-value键值相关操作的对外提供的接口,包括存放接口、获取接口、删除接口等,调用存放接口可以向etcd数据库存放数据,调用获取接口可以获取etcd数据库中的数据,调用删除接口可以删除etcd数据库中的数据。
在本实施例中,通过调用etcd数据库中的信息查询接口,如获取接口,从etcd数据库中获取待备份的平台数据。可选的,待备份的平台数据可以预先进行标记,以便于调用etcd数据库中的信息查询接口快速准确地获取到预先标记好的待备份的平台数据。
在一实施例中,若待备份数据为业务数据,则目标数据存放组件为持久化存储卷;则步骤S220中的调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据可以包括以下实现方式:
S220-B、调用持久化对象接口从持久化存储卷中获取待备份的业务数据。
持久化存储卷,即PV存储卷具有多个接口。本实施例通过调用持久化对象接口访问持久化存储卷,从持久化存储卷中获取待备份的业务数据。
在一实施例中,基于kubernetes系统的数据备份方法还可以包括以下步骤:
S300、判断数据备份是否为首次数据备份。
可选的,可以通过是否存在数据备份记录来判断此次数据备份是否为首次数据备份。若不存在数据备份记录,则可以确定此次数据备份为首次数据备份,否则,此处数据备份为非首次数据备份。可选的,还可以通过查询备份时间点来判断此次数据备份是否为首次数据备份,若不存在上一备份时间点或者此次备份时间点为最早备份时间点,则可以确定此次数据备份为首次数据备份。
若数据备份为首次数据备份,则步骤S220中的调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据可以包括以下实现方式:
S220-C、调用目标数据存放组件的相应接口从目标数据存放组件获取全量数据作为待备份数据,并记录此次数据备份的备份时间点。
全量数据是指存放在目标数据存放组件中的所有数据。
当此次数据备份为首次数据备份,若需要进行备份的是平台数据,则调用etcd数据库中的信息查询接口从etcd数据库中获取全量数据。若需要进行备份的是业务数据,则调用PV对象接口从PV卷中获取全量数据。此外,还需要记录此次数据备份的备份时间点。
若数据备份为非首次数据备份,则步骤S220中的调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据可以包括以下实现方式:
S220-D、调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据,将增量数据确定为待备份数据。
上一备份时间点到当前备份时间点之间数据为新增加的数据,该部分新增加的数据未进行备份。
当监控到k8s系统上产生新的未进行备份的数据,则获取上一备份时间点到当前时间点之间所新增加的数据,即增量数据作为待备份数据。
若增量数据为增量平台数据,在调用etcd数据库的相应接口,如信息查询接口获取etcd数据库中的上一备份时间点到当前备份时间点之间的增量平台数据,将该部分增量平台数据作为待备份数据;若增量数据为增量业务数据,在调用持久化存储卷的相应接口,如PV对象接口获取持久化存储卷中的上一备份时间点到当前备份时间点之间的增量业务数据,将该部分增量业务数据作为待备份数据。
图4为一实施例中的基于kubernetes系统的数据备份方法的另一流程图,如图4所示,在一实施例中,基于kubernetes系统的数据备份方法还可以包括以下步骤:
S310、通过kubernetes系统的监视器监听kubernetes集群中的接口服务或持久化存储卷。
服务器通过k8s系统中的监视器监听kubernetes集群中的接口服务或持久化存储卷的变化信息。可选的,可以通过监视器监听API server(接口服务)的是否存在创建、修改、更新、删除等操作的调度信息,或者,通过PV controller(PV控制器)监视持久化存储卷的变化信息,如通过监视PV存储卷的PV对象接口的读取信息、是否有PVC创建或更新操作、是否存在pod创建和关联操作等。
S320、根据接口服务的调度信息或持久化存储卷的读写信息确定目标数据存放组件存储有增量数据。
Kubernetes系统中的任何信息变动均通过接口服务进行调度,在调度过程中所产生的信息,如日志、系统配置、应用程序运行等数据,均会持久化地存储到etcd数据库中。例如,当新的应用程序在k8s系统上运行时,k8s系统会通过调用相关接口执行相应的任务,从而产生新的调度信息。
当监控到API server产生新的调度信息,则可以确定kubernetes系统出现新的变更事件,如集群资源出现增加事件、删除事件以及修改事件中的任意一种事件,则存储调度信息的数据库,如etcd数据库会发生数据变更,当进行数据备份时,获取未进行数据备份的数据作为待备份数据。
Kubernetes系统中的Pod对象内的应用程序等执行会产生业务数据,Pod是kubernetes系统管理的最小运行单元。这些业务数据会被PV存储卷写入或读取,根据PV存储卷的读写信息,可以确定是否产生新的业务数据。
将上一备份时间节点到当前备份时间节点之间产生的新的平台数据或业务数据确定为增量数据,对该部分未备份的增量数据进行备份。
需要说明的是,步骤S310或S320可以执行于步骤S210之前,还可以执行与步骤S210并列执行,还可以执行于步骤S210之后。
在一实施例中,步骤S230中的封装待备份数据,可以包括以下步骤:
S2301、确定待备份数据的目标存储格式。
其中,目标存储格式包括块存储、对象存储和文件存储中的一种或多种。
待备份数据可以以多种存储格式进行存储,以适用于不同用户或设备的读取和使用。块存储适用于磁盘阵列、硬盘和虚拟硬盘等设备,文件存储适用于FTP服务器、NFS服务器等设备,对象存储适用于内置大容量硬盘的分布式服务器等设备。
S2302、按照目标存储格式将待备份数据进行格式转换,得到封装后的待备份数据。
按照预设设置好的目标存储格式,如存储、对象存储和文件存储中的一种将待备份数据进行格式转换,封装打包成符合目标存储格式的数据包。封装后的待备份数据进行压缩处理,有利于后续的传输。
下面对基于kubernetes系统的数据恢复方法的实施例进行介绍。
如图5所示,图5为一实施例中的基于kubernetes系统的数据恢复方法的流程图,该基于kubernetes系统的数据恢复方法的执行步骤如下:
S510、接收数据恢复请求,根据数据恢复请求确定请求数据恢复的目标数据存放组件。
数据恢复请求是用于数据恢复的请求,该请求中包括要进行数据恢复的信息,根据该信息可以确定进行数据恢复所对应的目标数据存放组件。
在一个实施例中,用户通过终端上运行的kubernetes系统进行数据恢复操作,终端根据用户操作生成数据恢复请求,并将该数据恢复请求发送至服务器,从而服务器接收终端发送的数据恢复请求。其中该数据恢复请求进行数据备份所对应的目标数据存放组件可以是用户在终端上运行的kubernetes系统上进行数据恢复操作时所选择的目标数据存放组件。
S520、调用后端读取接口从备份存储介质中获取待恢复数据。
待恢复数据是指需要进行恢复还原的数据。
基于k8s的调度管理功能,在本实施例中,可以通过k8s系统自带的调度组件(scheduler)调用后端存储接口从备份存储介质中获取到待恢复数据。
S530、解封装待恢复数据,调用目标数据存放组件的相应接口将解封装后的待恢复数据还原到目标数据存放组件中。
存储在备份存储介质中的待恢复数据是经过封装成指定格式的数据,该指定格式可以是块存储、对象存储或者文件存储。
从备份存储介质中获取到待恢复数据,对待恢复数据进行解封装,基于基于k8s的调度管理功能,在本实施例中,可以通过k8s系统自带的调度组件(scheduler)调用目标数据存放组件的相应接口将解封装后的待恢复数据写入到目标数据存放组件中。
可选的,服务器接收到数据恢复请求与将数据恢复到的目标数据存放组件对应的目标kubernetes系统中的集群进行认证对接。当认证对接通过后,再调用后端存储接口获取待恢复数据,以及调用目标数据存放组件的相应接口,如etcd或PV存储卷的接口接收待恢复数据,以将待恢复数据还原到目标数据存放组件中。
本实施例提供的基于kubernetes系统的数据恢复方法,通过存放组件第二确定模块510根据数据恢复请求确定请求数据恢复的目标数据存放组件,待恢复数据获取模块520调用后端读取接口从备份存储介质中获取待恢复数据,待恢复数据恢复模块530调用目标数据存放组件的相应接口将解封装后的待恢复数据还原到目标数据存放组件中,从而实现基于云原生技术的k8s系统的数据恢复,提高了k8s系统的数据恢复的安全性和稳定性。
以上示例仅用于辅助阐述本公开技术方案,其涉及的图示内容及具体流程不构成对本公开技术方案的使用场景的限定。
下面对基于kubernetes系统的数据备份和恢复装置的相关实施例进行详细阐述。
图6为一实施例中的基于kubernetes系统的数据备份装置的结构示意图,该基于kubernetes系统的数据备份装置可以执行于服务器。
如图6所示,基于kubernetes系统的数据备份装置200可以包括:存放组件第一确定模块210、待备份数据获取模块220和待备份数据传输模块230。
其中,存放组件第一确定模块210,用于接收数据备份请求,根据数据备份请求确定进行数据备份所对应的目标数据存放组件;
待备份数据获取模块220,用于调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据;
待备份数据传输模块230,用于封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
本实施例提供的基于kubernetes系统的数据备份装置,通过存放组件第一确定模块210根据数据备份请求确定进行数据备份所对应的目标数据存放组件,待备份数据获取模块220调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据,待备份数据传输模块230调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份,实现基于云原生技术的k8s系统的数据备份,提高了k8s系统数据备份的安全性和稳定性,降低数据丢失的风险。
在其中一个实施例中,若待备份数据为平台数据,则目标数据存放组件为etcd数据库;待备份数据获取模块220包括:平台数据获取单元,用于调用etcd数据库的信息查询接口从etcd数据库中获取待备份的平台数据。
在其中一个实施例中若待备份数据为业务数据,则目标数据存放组件为持久化存储卷;待备份数据获取模块220包括:业务数据获取单元,用于调用持久化对象接口从持久化存储卷中获取待备份的业务数据。
在其中一个实施例中,数据备份装置200还包括:首次备份判断单元,用于判断数据备份是否为首次数据备份;
待备份数据获取模块220包括全量数据获取单元,用于若数据备份为首次数据备份,调用目标数据存放组件的相应接口从目标数据存放组件获取全量数据作为待备份数据,并记录此次数据备份的备份时间点;
备份数据获取模块220包括增量数据获取单元,用于若数据备份为非首次数据备份,调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据,将增量数据确定为待备份数据。
在其中一个实施例中,备份数据获取模块220还包括:资源监听单元和增量数据确定单元,其中,监听单元,用于通过kubernetes系统的监视器监听kubernetes集群中的接口服务或持久化存储卷;增量数据确定单元,用于根据接口服务的调度信息或持久化存储卷的读写信息确定目标数据存放组件存储有增量数据。
在其中一个实施例中,待备份数据传输模块230包括:存储格式确定单元和数据格式转换单元;其中,存储格式确定单元,用于确定待备份数据的目标存储格式,目标存储格式包括块存储、对象存储和文件存储中的一种;数据格式转换单元,用于按照目标存储格式将待备份数据进行格式转换,得到封装后的待备份数据。
本实施例的基于kubernetes系统的数据备份装置可执行本申请前述实施例所示的基于kubernetes系统的数据备份方法,其实现原理相类似,此处不再赘述。
图7为一实施例中的基于kubernetes系统的数据恢复装置的结构示意图,可选的,基于kubernetes系统的数据恢复装置可以执行于服务器。
如图7所示,基于kubernetes系统的数据恢复装置500可以包括:存放组件第二确定模块510、待恢复数据获取模块520和待恢复数据恢复模块530。
存放组件第二确定模块,用于接收数据恢复请求,根据数据恢复请求确定请求数据恢复的目标数据存放组件;
待恢复数据获取模块,用于调用后端读取接口从备份存储介质中获取待恢复数据;
待恢复数据恢复模块,用于解封装待恢复数据,调用目标数据存放组件的相应接口将解封装后的待恢复数据还原到目标数据存放组件中。
本实施例提供的基于kubernetes系统的数据恢复装置,实现基于云原生技术的k8s系统的数据恢复,提高了k8s系统数据恢复的安全性和稳定性,降低数据丢失的风险。
本实施例的基于kubernetes系统的数据恢复装置可执行本申请前述实施例所示的基于kubernetes系统的数据恢复方法,其实现原理相类似,此处不再赘述。
上述基于kubernetes系统的数据恢复或恢复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于kubernetes系统的数据恢复或恢复方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收数据备份请求,根据数据备份请求确定进行数据备份所对应的目标数据存放组件;
调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据;
封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
在一个实施例中,若待备份数据为平台数据,则目标数据存放组件为etcd数据库;
处理器执行计算机程序时还实现以下步骤:
调用etcd数据库的信息查询接口从etcd数据库中获取待备份的平台数据;
在一个实施例中,若待备份数据为业务数据,则目标数据存放组件为持久化存储卷;
处理器执行计算机程序时还实现以下步骤:
调用持久化对象接口从持久化存储卷中获取待备份的业务数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
判断数据备份是否为首次数据备份;
若数据备份为首次数据备份,则处理器执行计算机程序时还实现以下步骤:
调用目标数据存放组件的相应接口从目标数据存放组件获取全量数据作为待备份数据,并记录此次数据备份的备份时间点;
若数据备份为非首次数据备份,则处理器执行计算机程序时还实现以下步骤:
调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据,将增量数据确定为待备份数据。
在一个实施例中,调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据的步骤之前,处理器执行计算机程序时还实现以下步骤:
通过kubernetes系统的监视器监听kubernetes集群中的接口服务或持久化存储卷;
根据接口服务的调度信息或持久化存储卷的读写信息确定目标数据存放组件存储有增量数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
确定待备份数据的目标存储格式;其中,目标存储格式包括块存储、对象存储和文件存储中的一种;
按照目标存储格式将待备份数据进行格式转换,得到封装后的待备份数据。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收数据恢复请求,根据数据恢复请求确定请求数据恢复的目标数据存放组件;
调用后端读取接口从备份存储介质中获取待恢复数据;
解封装待恢复数据,调用目标数据存放组件的相应接口将解封装后的待恢复数据还原到目标数据存放组件中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收数据备份请求,根据数据备份请求确定进行数据备份所对应的目标数据存放组件;
调用目标数据存放组件的相应接口从目标数据存放组件获取待备份数据;
封装待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
在一个实施例中,若待备份数据为平台数据,则目标数据存放组件为etcd数据库;计算机程序被处理器执行时还实现以下步骤:调用etcd数据库的信息查询接口从etcd数据库中获取待备份的平台数据。
在一个实施例中,若待备份数据为业务数据,则目标数据存放组件为持久化存储卷;计算机程序被处理器执行时还实现以下步骤:调用持久化对象接口从持久化存储卷中获取待备份的业务数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:判断数据备份是否为首次数据备份;若数据备份为首次数据备份,则计算机程序被处理器执行时还实现以下步骤:调用目标数据存放组件的相应接口从目标数据存放组件获取全量数据作为待备份数据,并记录此次数据备份的备份时间点;
若数据备份为非首次数据备份,则计算机程序被处理器执行时还实现以下步骤:调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据,将增量数据确定为待备份数据。
在一个实施例中,调用目标数据存放组件的相应接口从目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据的步骤之前,计算机程序被处理器执行时还实现以下步骤:通过kubernetes系统的监视器监听kubernetes集群中的接口服务或持久化存储卷;根据接口服务的调度信息或持久化存储卷的读写信息确定目标数据存放组件存储有增量数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定待备份数据的目标存储格式;其中,目标存储格式包括块存储、对象存储和文件存储中的一种;按照目标存储格式将待备份数据进行格式转换,得到封装后的待备份数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收数据恢复请求,根据数据恢复请求确定请求数据恢复的目标数据存放组件;
调用后端读取接口从备份存储介质中获取待恢复数据;
解封装待恢复数据,调用目标数据存放组件的相应接口将解封装后的待恢复数据还原到目标数据存放组件中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于kubernetes系统的数据备份方法,其特征在于,所述数据备份方法包括:
接收数据备份请求,根据所述数据备份请求确定进行数据备份所对应的目标数据存放组件;
调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取待备份数据;
封装所述待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
2.根据权利要求1所述的数据备份方法,其特征在于,若所述待备份数据为平台数据,则所述目标数据存放组件为etcd数据库;
所述调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取待备份数据的步骤包括:
调用etcd数据库的信息查询接口从所述etcd数据库中获取待备份的平台数据;
若所述待备份数据为业务数据,则所述目标数据存放组件为持久化存储卷;
所述调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取待备份数据的步骤包括:
调用持久化对象接口从所述持久化存储卷中获取待备份的业务数据。
3.根据权利要求1所述的数据备份方法,其特征在于,还包括:判断所述数据备份是否为首次数据备份;
若所述数据备份为首次数据备份,则所述调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取待备份数据的步骤包括:
调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取全量数据作为待备份数据,并记录此次数据备份的备份时间点;
若所述数据备份为非首次数据备份,则所述调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取待备份数据的步骤包括:
调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据,将所述增量数据确定为待备份数据。
4.根据权利要求3所述的数据备份方法,其特征在于,所述调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取上一备份时间点到当前备份时间点之间的增量数据的步骤之前,还包括:
通过kubernetes系统的监视器监听所述kubernetes集群中的接口服务或持久化存储卷;
根据所述接口服务的调度信息或所述持久化存储卷的读写信息确定所述目标数据存放组件存储有增量数据。
5.根据权利要求1所述的数据备份方法,其特征在于,所述封装所述待备份数据的步骤包括:
确定所述待备份数据的目标存储格式;其中,所述目标存储格式包括块存储、对象存储和文件存储中的一种或多种;
按照所述目标存储格式将所述待备份数据进行格式转换,得到封装后的待备份数据。
6.一种基于kubernetes系统的数据恢复方法,其特征在于,所述数据恢复方法包括:
接收数据恢复请求,根据所述数据恢复请求确定请求数据恢复的目标数据存放组件;
调用后端读取接口从备份存储介质中获取待恢复数据;
解封装所述待恢复数据,调用所述目标数据存放组件的相应接口将解封装后的待恢复数据还原到所述目标数据存放组件中。
7.一种基于kubernetes系统的数据备份装置,其特征在于,所述数据备份装置包括:
存放组件第一确定模块,用于接收数据备份请求,根据所述数据备份请求确定进行数据备份所对应的目标数据存放组件;
待备份数据获取模块,用于调用所述目标数据存放组件的相应接口从所述目标数据存放组件获取待备份数据;
待备份数据传输模块,用于封装所述待备份数据,调用后端存储接口将封装后的待备份数据传输到对应的备份存储介质进行数据备份。
8.一种基于kubernetes系统的数据恢复装置,其特征在于,所述数据恢复装置包括:
存放组件第二确定模块,用于接收数据恢复请求,根据所述数据恢复请求确定请求数据恢复的目标数据存放组件;
待恢复数据获取模块,用于调用后端读取接口从备份存储介质中获取待恢复数据;
待恢复数据恢复模块,用于解封装所述待恢复数据,调用所述目标数据存放组件的相应接口将解封装后的待恢复数据还原到所述目标数据存放组件中。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的数据备份方法或权利要求6所述的数据恢复方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的数据备份方法或权利要求6所述的数据恢复方法的步骤。
CN202111272051.6A 2021-10-29 2021-10-29 基于kubernetes系统的数据备份和恢复方法 Withdrawn CN114138549A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111272051.6A CN114138549A (zh) 2021-10-29 2021-10-29 基于kubernetes系统的数据备份和恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111272051.6A CN114138549A (zh) 2021-10-29 2021-10-29 基于kubernetes系统的数据备份和恢复方法

Publications (1)

Publication Number Publication Date
CN114138549A true CN114138549A (zh) 2022-03-04

Family

ID=80395027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111272051.6A Withdrawn CN114138549A (zh) 2021-10-29 2021-10-29 基于kubernetes系统的数据备份和恢复方法

Country Status (1)

Country Link
CN (1) CN114138549A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048240A (zh) * 2022-05-17 2022-09-13 广州鼎甲计算机科技有限公司 基于Kubernetes的数据处理方法、系统及介质
WO2024007426A1 (zh) * 2022-07-06 2024-01-11 中电信数智科技有限公司 一种基于k8s结合灾备演练故障预测及Pod调度的方法
CN117472573A (zh) * 2023-11-02 2024-01-30 广州鼎甲计算机科技有限公司 数据处理方法、装置和计算机设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048240A (zh) * 2022-05-17 2022-09-13 广州鼎甲计算机科技有限公司 基于Kubernetes的数据处理方法、系统及介质
CN115048240B (zh) * 2022-05-17 2023-08-29 广州鼎甲计算机科技有限公司 基于Kubernetes的数据处理方法、系统及介质
WO2024007426A1 (zh) * 2022-07-06 2024-01-11 中电信数智科技有限公司 一种基于k8s结合灾备演练故障预测及Pod调度的方法
CN117472573A (zh) * 2023-11-02 2024-01-30 广州鼎甲计算机科技有限公司 数据处理方法、装置和计算机设备
CN117472573B (zh) * 2023-11-02 2024-05-24 广州鼎甲计算机科技有限公司 数据处理方法、装置和计算机设备

Similar Documents

Publication Publication Date Title
JP6381801B2 (ja) 格納クライアントファイルシステム用格納ボリュームの動的スケーリング
CN114138549A (zh) 基于kubernetes系统的数据备份和恢复方法
US11397648B2 (en) Virtual machine recovery method and virtual machine management device
CN111143133B (zh) 虚拟机备份方法和备份虚拟机恢复方法
US10853157B2 (en) Compact binary event log generation
US20110093437A1 (en) Method and system for generating a space-efficient snapshot or snapclone of logical disks
WO2019001521A1 (zh) 数据存储方法、存储设备、客户端及系统
CN111506253B (zh) 一种分布式存储系统及其存储方法
CN110210845B (zh) 用于区块链数据迁移的方法、装置、介质和计算设备
CN110413432B (zh) 一种信息处理方法、电子设备及存储介质
CN112527562A (zh) 分布式存储系统的数据备份方法、装置和计算机设备
CN113672350A (zh) 一种应用处理方法、装置及相关设备
CN115686932A (zh) 备份集文件恢复方法、装置和计算机设备
CN113849344B (zh) 卷快照创建方法、装置和存储介质
CN109697112B (zh) 分布式集约化一站式作业系统和实现方法
CN114764426A (zh) 数据访问方法和装置、数据存储方法和装置
CN112698987A (zh) 无快照操作系统在线备份方法、装置、设备及存储介质
CN111917588A (zh) 边缘设备管理方法、装置、边缘网关设备和存储介质
CN106557530B (zh) 业务系统、数据修复方法及装置
CN116150111A (zh) 内核崩溃日志的保存方法、装置、介质以及电子设备
CN112559290B (zh) 业务调用监控方法、装置、计算机设备和存储介质
US8984336B1 (en) Systems and methods for performing first failure data captures
CN115174596A (zh) 一种设备远程复制方法、装置以及介质
CN108848136B (zh) 一种云服务集群的共享存储方法
CN113704027A (zh) 文件聚合兼容方法、装置、计算机设备和存储介质

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220304