CN114237989B - 数据库服务部署、容灾方法及装置 - Google Patents

数据库服务部署、容灾方法及装置 Download PDF

Info

Publication number
CN114237989B
CN114237989B CN202210179015.3A CN202210179015A CN114237989B CN 114237989 B CN114237989 B CN 114237989B CN 202210179015 A CN202210179015 A CN 202210179015A CN 114237989 B CN114237989 B CN 114237989B
Authority
CN
China
Prior art keywords
read
server
file system
write
target storage
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.)
Active
Application number
CN202210179015.3A
Other languages
English (en)
Other versions
CN114237989A (zh
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.)
Beijing Oceanbase Technology Co Ltd
Original Assignee
Beijing Oceanbase 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 Beijing Oceanbase Technology Co Ltd filed Critical Beijing Oceanbase Technology Co Ltd
Priority to CN202210179015.3A priority Critical patent/CN114237989B/zh
Publication of CN114237989A publication Critical patent/CN114237989A/zh
Application granted granted Critical
Publication of CN114237989B publication Critical patent/CN114237989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种数据库服务部署、容灾方法及装置,在容灾方法中,先基于本地文件系统和共享存储设备,在第一服务器部署数据库读写服务,以及在第二服务器部署数据库只读服务。之后,第二服务器周期性向第一服务器发送访问请求,以检测第一服务器是否存在异常。当检测到第一服务器存在异常时,抢占第一服务器针对共享存储设备的读写权限。以读写模式重新挂载本地文件系统。通过以读写模式挂载的本地文件系统,提供针对共享存储设备的读写服务,由此就实现了数据库服务容灾。

Description

数据库服务部署、容灾方法及装置
技术领域
本说明书一个或多个实施例涉及信息技术领域,尤其涉及一种数据库服务部署、容灾方法及装置。
背景技术
随着互联网技术的快速发展,越来越多的数据存储在数据库中。为确保数据不丢失,就需要数据库具有容灾恢复的能力。
传统技术中,通常需要单独开发集群文件系统来实现数据库容灾,这极大地增加了开发成本,因此,需要提供一种方案,以便能够在节约开发成本的情况下,更有效地进行数据库容灾。
发明内容
本说明书一个或多个实施例描述了一种数据库服务部署、容灾方法及装置,可以在节约开发成本的情况下,有效地进行数据库服务容灾。
第一方面,提供了一种数据库服务容灾方法,包括:
当检测到所述第一服务器存在异常时,抢占所述第一服务器针对所述目标存储设备的读写权限;
以读写模式重新挂载所述第一文件系统;
通过以读写模式挂载的第一文件系统,基于所述第二逻辑空间提供针对所述目标存储设备的读写服务。
第二方面,提供了一种数据库服务部署方法,包括:
为第一服务器分配映射到目标存储设备的第一逻辑空间;
对所述第一逻辑空间进行格式化,得到本地的第一文件系统;
将所述第一文件系统以读写模式挂载到所述第一服务器,并在所述第一服务器中启动读写进程,所述读写进程用于通过所述第一文件系统,基于所述第一逻辑空间提供针对所述目标存储设备的读写服务;
将所述第一文件系统以只读模式挂载到第二服务器,并在所述第二服务器中启动只读进程,所述只读进程用于通过所述第一文件系统,基于第二逻辑空间提供针对所述目标存储设备的只读服务;其中,所述第二逻辑空间映射到所述目标存储设备。
第三方面,提供了一种数据库服务容灾装置,包括:
抢占单元,用于当检测到所述第一服务器存在异常时,抢占所述第一服务器针对所述目标存储设备的读写权限;
挂载单元,用于以读写模式重新挂载所述第一文件系统;
提供单元,用于通过以读写模式挂载的第一文件系统,基于所述第二逻辑空间提供针对所述目标存储设备的读写服务。
第四方面,提供了一种数据库服务部署装置,包括:
分配单元,用于为第一服务器分配映射到目标存储设备的第一逻辑空间;
格式化单元,用于对所述第一逻辑空间进行格式化,得到本地的第一文件系统;
第一挂载单元,用于将所述第一文件系统以读写模式挂载到所述第一服务器,并在所述第一服务器中启动读写进程,所述读写进程用于通过所述第一文件系统,基于所述第一逻辑空间提供针对所述目标存储设备的读写服务;
第二挂载单元,用于将所述第一文件系统以只读模式挂载到第二服务器,并在所述第二服务器中启动只读进程,所述只读进程用于通过所述第一文件系统,基于第二逻辑空间提供针对所述目标存储设备的只读服务;其中,所述第二逻辑空间映射到所述目标存储设备。
第五方面,提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一或第二方面的方法。
本说明书一个或多个实施例提供的数据库服务容灾方法,在基于本地文件系统和共享存储设备,在主服务器(即第一服务器)部署数据库读写服务,以及在备份服务器(即第二服务器)部署数据库只读服务之后,若主服务器出现异常,备份服务器只需要通过简单的文件系统解挂和重新挂载,即可实现数据库服务的容灾,由此可以在节约开发成本的情况下,有效地对数据库服务进行容灾。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书一个实施例披露的实施场景示意图;
图2示出根据一个实施例的数据库服务部署方法流程图;
图3示出在一个实施例中文件与地址之间的映射关系示意图;
图4示出根据一个实施例的数据库服务容灾方法流程图;
图5示出在一个实施例中数据库服务容灾结果示意图;
图6示出根据一个实施例的数据库服务容灾装置示意图;
图7示出根据一个实施例的数据库服务部署装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,在传统技术中,通常需要单独开发集群文件系统来实现数据库容灾。具体地,当主计算节点宕机后,其他节点可以读取集群文件系统上的数据,用于恢复。然而该种方法使得文件系统需要实现inode分布式锁等复杂的同步机制,由此会造成开发工作量大的问题。
为节约开发成本,本申请的发明人提出基于本地文件系统和共享存储设备来实现数据库服务的容灾,以下进行详细说明。
图1为本说明书一个实施例披露的实施场景示意图。图1中,第一服务器(也称主服务器)具有映射到目标存储设备的第一逻辑空间,并以读写模式挂载有本地的第一文件系统。该第一文件系统通过对第一逻辑空间进行格式化而得到。第一服务器通过第一文件系统,基于第一逻辑空间可以提供针对目标存储设备的读写服务,或者说可以对外提供数据库的读写服务。第二服务器(也称备份服务器)具有映射到目标存储设备的第二逻辑空间,并以只读模式挂载有上述第一文件系统。第二服务器通过第一文件系统,基于第二逻辑空间可以提供针对目标存储设备的只读服务,或者说可以对外提供数据库的只读服务。
上述第二服务器可以周期性向第一服务器发送访问请求,以检测第一服务器是否存在异常。当检测到第一服务器存在异常时,抢占第一服务器针对目标存储设备的读写权限。以读写模式重新挂载第一文件系统。通过以读写模式挂载的第一文件系统,基于第二逻辑空间提供针对目标存储设备的读写服务,由此就实现了数据库服务容灾。
在一个示例中,上述第一服务器中可以运行有读写模式的进程(简称读写进程),从而第一服务器具体是通过读写进程对外提供读写服务。以及第二服务器中可以运行有只读模式的进程(简称只读进程),从而第二服务器具体是通过只读进程对外提供只读服务。
在另一个示例中,上述第一服务器和第二服务器可以为弹性计算服务(ElasticCompute Service,ECS),上述目标存储设备可以为弹性块级随机存储(Elastic BlockStorage,EBS)。
应理解,图1只是一种示例性说明,在实际应用中,上述第二服务器的数目也可以为多个,且每个第二服务器通过以只读模式挂载的第一文件系统,基于映射到目标存储设备的本地逻辑空间提供针对目标存储设备的只读服务。
此外,上述第二服务器也可以为其它主服务器的备份服务器。以其它主服务器为第三服务器来说,该第三服务器具有映射到第二存储设备的第三逻辑空间,并以读写模式挂载有本地的第二文件系统。该第二文件系统通过对第三逻辑空间进行格式化而得到。第三服务器通过第二文件系统,基于第三逻辑空间可以提供针对第二存储设备的读写服务。第二服务器还具有映射到第二存储设备的第四逻辑空间,并以只读模式挂载有上述第二文件系统。第二服务器通过第二文件系统,基于第四逻辑空间可以提供针对第二存储设备的只读服务。
在本说明书实施例中,上述提及的数据库的读写服务和只读服务可以统称为数据库服务,以下以图1示出的场景为例,对数据库服务的部署方法进行说明。
图2示出根据一个实施例的数据库服务部署方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图2所示,该方法至少可以包括如下步骤。
步骤202,为第一服务器分配映射到目标存储设备的第一逻辑空间。
在一个示例中,上述第一服务器也可以称为主服务器,其例如可以为ECS。上述目标存储设备也可以称为共享存储设备,其例如可以为EBS。在目标存储设备为EBS时,上述第一逻辑空间也可以称为块设备(blockdevice)。
需要说明,上述第一逻辑空间与目标存储设备具有相同的地址空间。
步骤204,对第一逻辑空间进行格式化,得到本地的第一文件系统。
具体地,可以是利用预定文件格式,对第一逻辑空间进行格式化。这里的预定文件格式可以包括但不限于XFS格式或者EXT4格式等等。所得到的第一文件系统可以以预定文件格式来组织数据。
步骤206,将第一文件系统以读写模式挂载到第一服务器,并在第一服务器中启动读写进程,该读写进程用于通过第一文件系统,基于第一逻辑空间提供针对目标存储设备的读写服务。
上述将第一文件系统挂载到第一服务器,也可以理解为是将第一文件系统挂载在第一服务器的根目录下,以便于读写进程可以访问该第一文件系统,也即可以使得第一服务器获得文件管理能力。
在执行上述挂载的步骤之后,还可以执行如下的文件预创建步骤,具体包括:在第一文件系统中预创建若干文件,将各个文件分别写入第一逻辑空间,以建立各个文件与第一逻辑空间的逻辑地址之间的映射关系。将该映射关系记录到第一文件系统中,得到更新的第一文件系统。
首先,在上述预创建若干文件之后,还可以将各个文件划分为两个分组。其中一个分组中的各个文件构成第一文件系统的数据文件区域(即data区域),另一个分组中的各个文件构成第一文件系统的日志文件区域(log区域)。
接着,通过将各个文件写入第一逻辑空间,就可以建立各个文件与第一逻辑空间的逻辑地址之间的映射关系。由于第一逻辑空间映射到目标存储设备,且第一逻辑空间与目标存储设备具有相同的地址空间,从而,上述第一逻辑空间的逻辑地址即为目标存储设备的物理地址。因此,上述映射关系即为各个文件与目标存储设备的物理地址之间的映射关系。
图3示出在一个实施例中文件与地址之间的映射关系示意图。图3中,第一文件系统包括n个文件,其中每个文件的大小为64MB。第一逻辑空间和目标存储设备的大小均为1024MB(即1GB),且该两者均被划分为若干区域,其中每个区域的大小为64MB。从图3中可以看出,第一逻辑空间和目标存储设备的各区域之间是一一对应的,且每个文件对应于第一逻辑空间和目标存储设备的同一个区域。
之后,读写进程通过更新的第一文件系统,基于第一逻辑空间,可以对外提供读写服务。以下进行详细说明。
本说明书实施例所述的第一文件系统可以具有读数据接口(read接口)和写数据接口(write接口)。具体地,当第一文件系统以读写模式挂载到某一服务器时,该服务器中的进程以读写模式运行,因此可以同时调用上述read接口和write接口,从而该服务器可以对外提供读写服务。而当第一文件系统以只读模式挂载到某一服务器时,该服务器中的进程以只读模式运行,因此只能调用read接口,从而该服务器可以对外提供只读服务。
上述以读写模式运行的进程也称为读写进程或读写节点,以及以只读模式运行的进程也称为只读进程或只读节点。
具体地,该第一服务器中的读写进程可以向第一文件系统的read接口发送调用请求,从而第一文件系统可以利用该read接口,基于上述映射关系,确定出待读取文件在第一逻辑空间中对应的目标逻辑地址。之后将该目标逻辑地址作为目标物理地址,从目标存储设备中读取数据到内存,以对外提供读服务。同样的,该读写进程还可以向第一文件系统的write接口发送调用请求,从而第一文件系统可以利用该write接口,基于上述映射关系,确定出待写入文件在第一逻辑空间中对应的目标逻辑地址。之后将该目标逻辑地址作为目标物理地址,向目标存储设备中写入数据,以对外提供写服务。
需要说明,为节约通信资源,上述读写进程向目标存储设备写入数据的操作可以是周期性执行的,或者也可以是在满足预定条件时才执行的。这里的预定条件包括但不限于内存中的数据量达到预定数值等等。也就是说,目标存储设备中的数据存在一定的延迟。
此外,上述读写进程在提供对外提供写服务的过程中,会生成相应的重做日志(redo log)。通过对该重做日志进行解析,可以得到针对目标存储设备的实时的写入数据。因此,通过对重做日志进行解析,可以对目标存储设备中的数据的准确性进行判断。
关于上述重做日志,读写进程可以将其写入到目标存储设备中对应于日志文件区域的位置。应理解,由于该重做日志通常用于数据正确性的判断,从而本说明书实施例,读写进程针对日志文件区域的各个文件的写入可以是实时进行的。
步骤208,将第一文件系统以只读模式挂载到第二服务器,并在第二服务器中启动只读进程,该只读进程用于通过第一文件系统,基于第二逻辑空间提供针对目标存储设备的只读服务。
上述第二服务器也可以称为备份服务器,其例如可以为ECS。
在执行上述挂载的步骤之前,可以先为第二服务器分配映射到目标存储设备的第二逻辑空间。同样的,该第二逻辑空间也可以称为块设备。
需要说明,该第二逻辑空间与目标存储设备也具有相同的地址空间。
在为第二服务器分配第二逻辑空间之后,可以将上述更新的第一文件系统以只读模式挂载到第二服务器,从而第二服务器可以提供只读服务。
应理解,在将第一文件系统挂载到第二服务器之后,第一文件系统中记录的各个文件与第一逻辑空间的逻辑地址之间的映射关系,用作为各个文件与第二逻辑空间的逻辑地址之间的映射关系。
具体地,第二服务器中的只读进程可以周期性向第一文件系统的read接口发送调用请求,从而第一文件系统可以利用该read接口,基于上述映射关系,先确定出待读取文件在第二逻辑空间中对应的目标逻辑地址。之后将该目标逻辑地址作为目标物理地址,从目标存储设备中读取数据到内存,以对外提供读服务。
此外,如前所述,目标存储设备中的数据存在一定的延迟。从而上述只读进程还可以周期性从目标存储设备读取重做日志并解析,以及判断解析得到的针对目标存储设备的写入数据与内存中的当前数据是否相一致,若不一致,则将当前数据更新为写入数据,并基于写入数据提供只读服务。
应理解,上述只读进程读取重做日志的步骤也是通过调用第一文件系统的read接口完成的。即只读进程可以向第一文件系统的read接口发送调用请求,从而第一文件系统可以利用该read接口,基于上述映射关系,确定出重做日志在第二逻辑空间对应的逻辑地址。之后将该逻辑地址作为物理地址,从目标存储设备中读取重做日志到内存。
综上,本说明书实施例提供的数据库服务部署方法,可以基于本地文件系统和共享存储设备来部署数据库服务。这里的本地文件系统可以完全兼容POSIX接口,且能完成兼容传统文件系统的工具。此外,这里的共享存储设备例如可以为EBS等公共资源,由此可以有效利用公共资源,进而可以节约部署成本。
以上是针对数据库服务部署方法的说明,以下对该数据库服务的容灾方法进行说明。
图4示出根据一个实施例的数据库服务容灾方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如可以通过图1中的第二服务器执行。如图4所示,该方法至少可以包括如下步骤。
步骤402,当检测到第一服务器存在异常时,抢占第一服务器针对目标存储设备的读写权限。
具体地,第二服务器可以周期性地向第一服务器发送访问请求。且在每次发送访问请求后,判断是否在预定时间内接收到第一服务器返回的响应消息,若未接收到,则确定第一服务器存在异常;否则确定第一服务器正常。
在实际应用中,可以是由第二服务器中的只读进程周期性地向第一服务器中的读写进程发送访问请求,且由上述只读进程在每次发送访问请求后,判断是否在预定时间内接收到第一服务器返回的响应消息,若未接收到,则确定第一服务器存在异常;否则确定第一服务器正常。
在一个示例中,第二服务器可以通过PR命令来抢占第一服务器针对目标存储设备的读写权限。
步骤404,以读写模式重新挂载第一文件系统。
如前所述,第一文件系统是以只读模式挂载在第二服务器中的,在第一服务器存在异常的情况下,第二服务器先解除以只读模式挂载的第一文件系统,然后以读写模式重新挂载第一文件系统,以使得第二服务器中的进程可以同时调用上述read接口和write接口。也即第二服务器的进程从只读模式切换为读写模式。
步骤406,通过以读写模式挂载的第一文件系统,基于第二逻辑空间提供针对目标存储设备的读写服务。
具体地,该第二服务器中的读写进程可以向第一文件系统的read接口发送调用请求,从而第一文件系统可以利用该read接口,基于上述映射关系,确定出待读取文件在第二逻辑空间中对应的目标逻辑地址。之后将该目标逻辑地址作为目标物理地址,从目标存储设备中读取数据到内存,以对外提供读服务。同样的,该读写进程还可以向第一文件系统的write接口发送调用请求,从而第一文件系统可以利用该write接口,基于上述映射关系,确定出待写入文件在第二逻辑空间中对应的目标逻辑地址。之后将该目标逻辑地址作为目标物理地址,向目标存储设备中写入数据,以对外提供写服务。
同上所述,第二服务器中的读写进程也可以是周期性向目标存储设备写入数据。
至此就完成了数据库服务的容灾。
以图1为例来说,在第一服务器出现异常的情况下,在执行本说明书实施例提供的数据库服务容灾方法之后,相应的容灾结果可以如图5所示。图5中,第二服务器中的进程切换为读写模式,且第二服务器以读写模式挂载第一文件系统,以及通过以读写模式挂载的第一文件系统,基于第二逻辑空间提供针对目标存储设备的读写服务。
综合以上,本说明书实施例提供的数据库服务容灾方法,在基于本地文件系统和共享存储设备,在主服务器(即第一服务器)部署数据库读写服务,以及在备份服务器(即第二服务器)部署数据库只读服务之后,若主服务器出现异常,备份服务器只需要通过简单的文件系统解挂和重新挂载,即可实现数据库服务的容灾,由此可以在节约开发成本的情况下,有效地对数据库服务进行容灾。
与上述数据库服务容灾方法对应地,本说明书一个实施例还提供的一种数据库服务容灾装置,设置于第二服务器。该第二服务器为第一服务器的备份服务器。这里的第一服务器具有映射到目标存储设备的第一逻辑空间,并通过以读写模式挂载的本地的第一文件系统,基于第一逻辑空间提供针对目标存储设备的读写服务。上述第二服务器具有映射到目标存储设备的第二逻辑空间,并通过以只读模式挂载的第一文件系统,基于第二逻辑空间提供针对目标存储设备的只读服务。如图6所示,该装置包括:
抢占单元602,用于当检测到第一服务器存在异常时,抢占第一服务器针对目标存储设备的读写权限。
挂载单元604,用于以读写模式重新挂载第一文件系统。
提供单元606,用于通过以读写模式挂载的第一文件系统,基于第二逻辑空间提供针对目标存储设备的读写服务。
可选地,该装置还可以包括:
发送单元608,用于周期性地向第一服务器发送访问请求。
确定单元610,用于若在预定时间内未接收到第一服务器返回的响应消息,则确定第一服务器存在异常。
在一个示例中,上述第一服务器和第二服务器为弹性计算服务ECS,所述目标存储设备为弹性块级随机存储EBS。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的数据库服务容灾装置,可以在节约开发成本的情况下,有效地对数据库服务进行容灾。
与上述数据库服务部署方法对应地,本说明书一个实施例还提供的一种数据库服务部署装置,如图7所示,该装置可以包括:
分配单元702,用于为第一服务器分配映射到目标存储设备的第一逻辑空间。
格式化单元704,用于对第一逻辑空间进行格式化,得到本地的第一文件系统。
第一挂载单元706,用于将第一文件系统以读写模式挂载到第一服务器,并在第一服务器中启动读写进程,该读写进程用于通过第一文件系统,基于第一逻辑空间提供针对目标存储设备的读写服务。
第二挂载单元708,用于将第一文件系统以只读模式挂载到第二服务器,并在第二服务器中启动只读进程,该只读进程用于通过第一文件系统,基于第二逻辑空间提供针对目标存储设备的只读服务。其中,该第二逻辑空间映射到上述目标存储设备。
在一个示例中,上述只读进程具体是用于周期性通过第一文件系统,基于第二逻辑空间,从目标存储设备中读取数据并存放在内存,以提供只读服务。
可选地,该装置还包括:
预创建单元710,用于在第一文件系统中预创建若干文件,并将各个文件分别写入第一逻辑空间,以建立各个文件与第一逻辑空间的逻辑地址之间的映射关系。
记录单元712,用于将上述映射关系记录到第一文件系统中,得到更新的第一文件系统。
第二挂载单元708具体用于:
将更新的第一文件系统以只读模式挂载到第二服务器。
可选地,该装置还包括:
划分单元714,用于将各个文件划分为两个分组,其中一个分组中的各个文件构成第一文件系统的数据文件区域,另一个分组中的各个文件构成第一文件系统的日志文件区域;
上述读写进程还用于将重做日志写入目标存储设备中对应于日志文件区域的位置,其中,该重做日志是在读写进程提供写服务时生成的。
可选地,上述只读进程还用于周期性从目标存储设备读取重做日志并解析,以及判断解析得到的针对目标存储设备的写入数据与内存中的当前数据是否相一致,若不一致,则将当前数据更新为写入数据,并基于更新得到的写入数据提供只读服务。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的数据库服务部署装置,可以有效利用公共资源,进而可以节约部署成本。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图4所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (18)

1.一种数据库服务容灾方法,涉及第一服务器和第二服务器;其中,所述第一服务器具有映射到目标存储设备的第一逻辑空间,并通过以读写模式挂载的本地的第一文件系统,基于所述第一逻辑空间提供针对所述目标存储设备的读写服务;所述第二服务器具有映射到所述目标存储设备的第二逻辑空间,并通过以只读模式挂载的所述第一文件系统,基于所述第二逻辑空间提供针对所述目标存储设备的只读服务;所述方法通过所述第二服务器执行,包括:
当检测到所述第一服务器存在异常时,抢占所述第一服务器针对所述目标存储设备的读写权限;
以读写模式重新挂载所述第一文件系统;
通过以读写模式挂载的第一文件系统,基于所述第二逻辑空间提供针对所述目标存储设备的读写服务。
2.根据权利要求1所述的方法,其中,在所述抢占所述第一服务器针对所述目标存储设备的读写权限之前,所述方法还包括:
周期性地向所述第一服务器发送访问请求;
若在预定时间内未接收到所述第一服务器返回的响应消息,则确定所述第一服务器存在异常。
3.根据权利要求1所述的方法,其中,所述第一服务器和第二服务器为弹性计算服务ECS,所述目标存储设备为弹性块级随机存储EBS。
4.一种数据库服务部署方法,包括:
为第一服务器分配映射到目标存储设备的第一逻辑空间;
对所述第一逻辑空间进行格式化,得到本地的第一文件系统;
将所述第一文件系统以读写模式挂载到所述第一服务器,并在所述第一服务器中启动读写进程,所述读写进程用于通过所述第一文件系统,基于所述第一逻辑空间提供针对所述目标存储设备的读写服务;
将所述第一文件系统以只读模式挂载到第二服务器,并在所述第二服务器中启动只读进程,所述只读进程用于通过所述第一文件系统,基于第二逻辑空间提供针对所述目标存储设备的只读服务;其中,所述第二逻辑空间映射到所述目标存储设备。
5.根据权利要求4所述的方法,其中,在所述将所述第一文件系统以只读模式挂载到第二服务器之前,所述方法还包括:
在所述第一文件系统中预创建若干文件,并将各个文件分别写入所述第一逻辑空间,以建立所述各个文件与所述第一逻辑空间的逻辑地址之间的映射关系;
将所述映射关系记录到所述第一文件系统中,得到更新的第一文件系统;
所述将所述第一文件系统以只读模式挂载到第二服务器,包括:
将更新的第一文件系统以只读模式挂载到第二服务器。
6.根据权利要求5所述的方法,还包括:
将所述各个文件划分为两个分组;其中一个分组中的各个文件构成所述第一文件系统的数据文件区域,另一个分组中的各个文件构成所述第一文件系统的日志文件区域;
所述读写进程还用于将重做日志写入所述目标存储设备中对应于所述日志文件区域的位置;其中,所述重做日志是在所述读写进程提供写服务时生成的。
7.根据权利要求4所述的方法,其中,所述只读进程具体用于周期性通过所述第一文件系统,基于所述第二逻辑空间,从所述目标存储设备中读取数据并存放在内存,以提供所述只读服务。
8.根据权利要求7所述的方法,其中,所述只读进程还用于周期性从所述目标存储设备读取重做日志并解析,以及判断解析得到的针对所述目标存储设备的写入数据与内存中的当前数据是否相一致,若不一致,则将当前数据更新为所述写入数据,并基于所述写入数据提供所述只读服务。
9.一种数据库服务容灾装置,设置于第二服务器;与该第二服务器存在备份关系的第一服务器具有映射到目标存储设备的第一逻辑空间,并通过以读写模式挂载的本地的第一文件系统,基于所述第一逻辑空间提供针对所述目标存储设备的读写服务;所述第二服务器具有映射到所述目标存储设备的第二逻辑空间,并通过以只读模式挂载的所述第一文件系统,基于所述第二逻辑空间提供针对所述目标存储设备的只读服务;所述装置包括:
抢占单元,用于当检测到所述第一服务器存在异常时,抢占所述第一服务器针对所述目标存储设备的读写权限;
挂载单元,用于以读写模式重新挂载所述第一文件系统;
提供单元,用于通过以读写模式挂载的第一文件系统,基于所述第二逻辑空间提供针对所述目标存储设备的读写服务。
10.根据权利要求9所述的装置,其中,所述装置还包括:
发送单元,用于周期性地向所述第一服务器发送访问请求;
确定单元,用于若在预定时间内未接收到所述第一服务器返回的响应消息,则确定所述第一服务器存在异常。
11.根据权利要求9所述的装置,其中,所述第一服务器和第二服务器为弹性计算服务ECS,所述目标存储设备为弹性块级随机存储EBS。
12.一种数据库服务部署装置,包括:
分配单元,用于为第一服务器分配映射到目标存储设备的第一逻辑空间;
格式化单元,用于对所述第一逻辑空间进行格式化,得到本地的第一文件系统;
第一挂载单元,用于将所述第一文件系统以读写模式挂载到所述第一服务器,并在所述第一服务器中启动读写进程,所述读写进程用于通过所述第一文件系统,基于所述第一逻辑空间提供针对所述目标存储设备的读写服务;
第二挂载单元,用于将所述第一文件系统以只读模式挂载到第二服务器,并在所述第二服务器中启动只读进程,所述只读进程用于通过所述第一文件系统,基于第二逻辑空间提供针对所述目标存储设备的只读服务;其中,所述第二逻辑空间映射到所述目标存储设备。
13.根据权利要求12所述的装置,其中,所述装置还包括:
预创建单元,用于在所述第一文件系统中预创建若干文件,并将各个文件分别写入所述第一逻辑空间,以建立所述各个文件与所述第一逻辑空间的逻辑地址之间的映射关系;
记录单元,用于将所述映射关系记录到所述第一文件系统中,得到更新的第一文件系统;
所述第二挂载单元具体用于:
将更新的第一文件系统以只读模式挂载到第二服务器。
14.根据权利要求13所述的装置,还包括:
划分单元,用于将所述各个文件划分为两个分组;其中一个分组中的各个文件构成所述第一文件系统的数据文件区域,另一个分组中的各个文件构成所述第一文件系统的日志文件区域;
所述读写进程还用于将重做日志写入所述目标存储设备中对应于所述日志文件区域的位置;其中,所述重做日志是在所述读写进程提供写服务时生成的。
15.根据权利要求12所述的装置,其中,所述只读进程具体用于周期性通过所述第一文件系统,基于所述第二逻辑空间,从所述目标存储设备中读取数据并存放在内存,以提供所述只读服务。
16.根据权利要求15所述的装置,其中,所述只读进程还用于周期性从所述目标存储设备读取重做日志并解析,以及判断解析得到的针对所述目标存储设备的写入数据与内存中的当前数据是否相一致,若不一致,则将当前数据更新为所述写入数据,并基于所述写入数据提供所述只读服务。
17.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项所述的方法。
18.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。
CN202210179015.3A 2022-02-25 2022-02-25 数据库服务部署、容灾方法及装置 Active CN114237989B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210179015.3A CN114237989B (zh) 2022-02-25 2022-02-25 数据库服务部署、容灾方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210179015.3A CN114237989B (zh) 2022-02-25 2022-02-25 数据库服务部署、容灾方法及装置

Publications (2)

Publication Number Publication Date
CN114237989A CN114237989A (zh) 2022-03-25
CN114237989B true CN114237989B (zh) 2022-04-26

Family

ID=80748401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210179015.3A Active CN114237989B (zh) 2022-02-25 2022-02-25 数据库服务部署、容灾方法及装置

Country Status (1)

Country Link
CN (1) CN114237989B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116107814B (zh) * 2023-04-04 2023-09-22 阿里云计算有限公司 数据库容灾方法、设备、系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408289A (zh) * 2018-10-16 2019-03-01 国网山东省电力公司信息通信公司 一种云容灾数据处理方法
CN110554834A (zh) * 2018-06-01 2019-12-10 阿里巴巴集团控股有限公司 文件系统数据访问方法和文件系统
CN110990045A (zh) * 2019-12-20 2020-04-10 苏州浪潮智能科技有限公司 一种双bmc flash升级方法和设备
CN111045864A (zh) * 2019-11-26 2020-04-21 上海英方软件股份有限公司 一种连续数据保护的快速异地恢复方法及系统
CN113360579A (zh) * 2021-06-30 2021-09-07 平安普惠企业管理有限公司 数据库高可用处理方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558531B2 (en) * 2017-04-18 2020-02-11 Netapp, Inc. Systems and methods for backup and restore of master-less distributed database clusters

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554834A (zh) * 2018-06-01 2019-12-10 阿里巴巴集团控股有限公司 文件系统数据访问方法和文件系统
CN109408289A (zh) * 2018-10-16 2019-03-01 国网山东省电力公司信息通信公司 一种云容灾数据处理方法
CN111045864A (zh) * 2019-11-26 2020-04-21 上海英方软件股份有限公司 一种连续数据保护的快速异地恢复方法及系统
CN110990045A (zh) * 2019-12-20 2020-04-10 苏州浪潮智能科技有限公司 一种双bmc flash升级方法和设备
CN113360579A (zh) * 2021-06-30 2021-09-07 平安普惠企业管理有限公司 数据库高可用处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114237989A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
US7882223B2 (en) System and method for saving dump data of a client in a network
CN108959385B (zh) 数据库部署方法、装置、计算机设备和存储介质
CN107861691B (zh) 一种多控存储系统的负载均衡方法和装置
CN112000277B (zh) 精简置备文件拷贝方法、装置、设备及可读存储介质
US10282120B2 (en) Method, apparatus and system for inserting disk
CN106897345B (zh) 一种数据存储的方法及装置
CN112395157A (zh) 审计日志的获取方法、装置、计算机设备和存储介质
CN114237989B (zh) 数据库服务部署、容灾方法及装置
US20190347165A1 (en) Apparatus and method for recovering distributed file system
CN111399761B (zh) 存储资源分配方法、装置及设备、存储介质
CN111291062B (zh) 数据同步写入方法、装置、计算机设备及存储介质
CN113672350A (zh) 一种应用处理方法、装置及相关设备
CN111225003B (zh) 一种nfs节点配置方法和装置
CN111913927A (zh) 一种数据写入方法、装置及计算机设备
CN111435323A (zh) 信息的传输方法、装置、终端、服务器及存储介质
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN106790521B (zh) 采用基于ftp的节点设备进行分布式组网的系统及方法
CN106888244B (zh) 一种业务处理方法及装置
CN115374057A (zh) 数据快照方法及相关设备
CN115390754A (zh) 一种硬盘管理方法及装置
CN113672173A (zh) 一种存储卷扩容方法、系统、设备及可读存储介质
CN112711606A (zh) 数据库访问方法、装置、计算机设备和存储介质
CN108271420A (zh) 管理文件的方法、文件系统和服务器系统
CN112527561A (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
GR01 Patent grant
GR01 Patent grant