分布式块存储系统的管理平台的部署方法和装置与流程

文档序号:12789735阅读:218来源:国知局
分布式块存储系统的管理平台的部署方法和装置与流程

本发明涉及存储技术领域,尤其涉及一种分布式块存储系统的管理平台的部署方法和装置。



背景技术:

块存储主要是将裸磁盘空间整个映射给主机使用。此种方式下,操作系统还需要对挂载的裸硬盘进行分区、格式化后,才能使用,与平常主机内置硬盘的方式完全无异。

分布式块存储使用常见的x86服务器,使用高速网络(一般为万兆)或者其它方式对服务器进行串联,将每个服务器上的磁盘统一管理,共同对外提供存储服务。

分布式块存储的管理平台用于对分布式块存储系统进行管理,是管理分布式块存储系统的应用系统,通过它可以对存储系统进行日常管理和运维工作,如存储节点管理、磁盘管理、卷管理、卷访问策略管理、系统监控等。一般由几部分组成,包括:前端服务、API(应用程序编程接口)服务、Web服务、数据库等几个部分。一般需要将管理平台单独部署,在进行高可用部署时,需要部署两台服务器,并安装高可用软件。数据库需要建立主备或者主主集群,Web服务层需要做无状态处理等等。在运维时要监控各个服务的状态,如果发生故障切换后,要及时处理,解决出问题的服务器或者服务。当集群遇到机房断电等故障后,系统通电之后往往需要手动恢复。

现有技术中,常规的分布式块存储的管理平台高可用的部署方法,需要占用额外的服务器进行部署,使用双机热备技术,故障切换时容易发生问题,恢复比较困难。原有的部署方法存在开发繁琐、部署困难、运维困难、服务恢复复杂等问题。



技术实现要素:

本发明的实施例提供了一种分布式块存储系统的管理平台的部署方法和装置,部署方式的实现比较简单。

为了实现上述目的,本发明采取了如下技术方案。

一种分布式块存储系统的管理平台的部署方法,包括:

将分布式块存储系统的管理平台安装在容器中;

将所述容器所产生的数据保存在所述分布式块存储系统中。

一种分布式块存储系统的管理平台的部署装置,包括:

安装单元,将分布式块存储系统的管理平台安装在容器中;

保存单元,将所述容器产生的数据保存在所述分布式块存储系统中。

由上述本发明的实施例提供的技术方案可以看出,本发明中,采用上述的管理平台的部署方法,实现比较简单。通过利用分布式块存储的服务,结合操作系统容器技术,提供一种实现简单的管理平台的部署方法,使得后续管理平台维护简单。本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

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

图1为本发明实施例一提供的一种分布式块存储系统的管理平台的部署方法的处理流程图;

图2为本发明应用场景中管理平台容器的状态处理流程图;

图3为本发明实施例提供的一种分布式块存储系统的管理平台的部署装置的连接示意图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

以下对本发明用到的名词进行简单解释。

容器管理软件–可以安装在块存储服务器的操作系统中,如Docker(开源的应用容器引擎),可以管理容器镜像、容器进程、容器网络等。

容器的镜像–容器镜像中保存有容器的内核、安装的软件、内部数据等信息,可以通过容器镜像创建并启动容器进程,此容器进程中包含了镜像的内核、软件和内部数据等信息。

容器的进程外部数据-在启动容器进程时,可以将系统的某个目录映射到容器内的目录中,容器内部程序可以将数据保存在此目录中。此数据可以在容器外部访问。

本发明的容器可以提供轻量级的虚拟化,以便隔离进程和资源。使用容器的优点为:应用所依赖的系统、软件、库等资源都可以统一打包到容器中,使用过程也不会占用太多的资源。

如图1所示,为本发明所述的一种分布式块存储系统的管理平台的部署方法,包括:

步骤11,将分布式块存储系统的管理平台安装在容器中;

步骤12,将所述容器运行所产生的数据保存在所述分布式块存储系统中。

本发明中,采用上述的管理平台的部署方法,实现比较简单。通过利用分布式块存储的服务,结合容器技术,提供一种实现简单的管理平台的,使得后续管理平台维护简单。

步骤12包括:

步骤121,在所述分布式存系统中为所述容器分配卷;

步骤122,将所述容器运行产生的数据保存在所述卷中,以实现跨服务器启动的新容器可以访问此数据;

步骤123,在所述分布式块存储系统的各个块存储服务器中安装容器管理软件;

步骤124,获取安装有管理平台的容器的镜像文件;

步骤125,将所述容器的镜像文件导入到各个所述块存储服务器的容器管理软件中。

上述实施例中,具体描述了管理平台和容器在分布式块存储系统的部署方式。

所述方法还包括:

步骤13,每隔预定时间,检查所述分布式块存储系统的块存储服务是否正常;

步骤14,当所述块存储服务出现故障时,并且所述块存储服务器中装载有运行管理平台的容器时,则停止运行所述块存储服务器中的容器的进程;

步骤15,当所述块存储服务出现故障时,并且所述块存储服务器中没有装载有运行管理平台的容器时,则结束处理。

步骤16,当所述块存储服务的运行状态为正常,且所述容器被分配的卷正常时,判断所述块存储服务器的当前身份是否为主节点,生成第一判断结果;

步骤17,根据所述第一判断结果,进行相应处理。

步骤18,当所述块存储服务的运行状态为正常,且所述容器的虚拟硬盘所在的卷异常时,则直接结束处理;

上述实施例中,步骤13-18可以为每个块存储服务器作为执行主体执行上述步骤,具体实现中,可以为安装在块存储服务器中的脚本,每隔固定时间运行脚本。

步骤17包括:

步骤171,当所述第一判断结果为所述块存储服务器的当前身份为主节点时,判断所述分布式块存储系统中是否运行有所述容器,生成第二判断结果;

步骤172,根据所述第二判断结果,进行相应处理;

步骤173,当所述第一判断结果为所述块存储服务器的当前身份为从节点时,判断所述容器是否运行在所述块存储服务器上,生成第三判断结果;

步骤174,根据所述第三判断结果,进行相应处理。

步骤172包括:

步骤1721,当所述分布式块存储系统中运行有所述容器时,则结束处理;

步骤1722,当所述分布式块存储系统中没有运行所述容器时,在所述块存储服务器中启动所述容器,并启动所述容器上的管理平台。其中所述块存储服务器在本地启动所述容器的步骤具体为:根据保存在所述块存储服务器中的容器的配置文件以及所述卷中的容器的镜像文件,所述块存储服务器在本地启动所述容器。

步骤174包括:

步骤1741,当所述第三判断结果为是时,则停止运行所述块存储服务器中的容器的进程。

步骤1742,当所述第三判断结果为否时,则结束处理。

其中,步骤1722中在块存储服务器中启动所述容器的进程的步骤具体为:

步骤17221,将所述卷挂载到所述块存储服务器的数据文件目录下;

步骤17222,所述容器管理软件根据保存在所述块存储服务器中的容器的镜像文件,在所述块存储服务器中启动所述容器的进程;

步骤17223,将所述块存储服务器的所述数据文件目录映射到所述容器中的数据目录。

步骤1741中的停止运行所述块存储服务器中的容器的进程的步骤包括:

步骤17411,所述容器管理软件将所述块存储服务器中的容器的进程关闭;

步骤17412,取消所述卷在所述块存储服务器的数据文件目录下的挂载。

上述实施例中,将管理平台安装在容器中,将容器产生的数据保存在分布式块存储系统里。当运行容器的服务器发生故障时,包含有管理平台的容器自动切换到其它服务器上运行。当整个存储集群断电恢复之后,首先,系统自动恢复存储服务;然后,将包含管理平台的容器启动起来,实现了自动故障恢复。

与现有技术相比,本发明结合分布式块存储自有服务特点,具有以下有益效果:

首先,开发只需要针对单机即可,无需考虑后续部署问题;

其次,部署简单,制作好的容器镜像只需要导入其他节点即可,无需额外的安装和配置;

同时,维护方便,无需监控服务状态,遇到故障可以自动切换,自动恢复。

以下描述本发明的应用场景。

本发明中的分布式存储系统,要求具备主从节点的概念;同时,要求存储集群的创建和卷的创建等操作均可通过命令行实现。

本发明提供一种分布式块存储系统的管理平台的高可用的部署方法,为了解决原有部署方法的开发繁琐、部署困难、运维困难、服务恢复复杂等问题,通过充分利用分布式块存储的服务,结合容器技术,提供一种简单部署、简单维护、自动故障切换和自动故障恢复的部署方法。

本发明采用的方法是利用充分利用分布式块存储的服务,结合容器技术,将管理平台安装在容器中,将容器产生的数据(也就是本文所述的容器的进程外部数据)保存在分布式存储系统里。当运行容器的服务器发生故障时,其它的服务器可以自动接管服务,启动包含管理平台的容器进程,并访问分布式存储中的数据。当整个存储集群断电恢复之后,系统首先自动恢复存储服务,然后将包含管理平台的容器启动起来,实现了自动故障恢复。

本发明主要包括如下步骤:

步骤一:块存储服务器的存储系统使用Linux,并安装容器管理所需的容器管理软件。

步骤二:分布式存储系统为待安装管理平台的容器分配卷。

步骤三:在块存储服务器的主节点上将步骤二中的卷挂载,并使用常用的文件系统格式化,将包含文件系统的卷挂载到操作系统的某个特定目录下,如/data目录。

步骤四:使用Linux容器镜像,启动容器,并将块存储服务器的/data目录映射到容器中的/data目录。

步骤五:将管理平台安装在容器中。将动态生成的数据,如数据库的数据、用户上传的文件、日志等指向块存储服务器的/data目录的子目录中。为了增加容器的可移植性,创建firstboot(第一次启动)脚本和设置firstboot服务(此服务仅在下次系统启动时运行一次,脚本将对管理平台进行初始化,如创建管理平台的数据库和相关的表等,确保有管理平台所需的基本数据,此后用户产生的数据都会保存到/data目录下)。最后,将容器导出成镜像备用。

步骤六:拷贝容器的镜像到其他存储服务器上,并安装镜像。

步骤七:将处理“管理平台容器状态”的脚本拷贝到每个服务器上,并利用定时任务(如crontab),周期性触发此脚本。

步骤八:操作系统定期执行服务器上的处理“管理平台容器进程状态”的脚本,对管理平台进行高可用保护。

其中,“管理平台容器状态”的脚本启动容器的步骤为:

首先,将步骤二中的卷挂载到本块存储服务器/data目录下;

然后,启动容器;

然后,将服务器的/data目录映射到容器中的/data目录。

“管理平台容器状态”的脚本关闭容器的步骤是:

首先,将容器关闭;

然后,取消/data的挂载。

图2为本发明中管理平台容器进程的状态处理流程,该流程描述了处理“管理平台容器进程状态”的脚本的具体步骤,也就是说,对于每个服务器,都需要执行如下步骤,所述方法包括:

步骤1.1:检查块存储服务是否正常,然后跳入步骤1.2。

步骤1.2:当块存储服务出现故障时,则停止块存储服务器本地的管理平台容器VM(如果块存储服务器本地有的话);当块存储服务正常时,则执行步骤2.1。

步骤2.1:判断包含有管理平台容器的虚拟硬盘所在的卷是否正常;如果正常,则执行步骤3.1;如果不正常,则结束处理。

步骤3.1:判断当前块存储服务器是否为主节点,然后分别跳入步骤4.1和4.2。

步骤4.1:如果当前块存储服务器为主节点,判断分布式块存储系统中是否有管理平台的容器在运行;当判断结果为否时,执行下一步骤5.1;否则,结束处理。

步骤4.2:如果当前块存储服务器为从节点,判断当前块存储服务器上是否有管理平台容器在运行,然后执行步骤6.1。

步骤5.1:启动管理平台的容器;

步骤6.1:如果当前块存储服务器为从节点,且当前块存储服务器本地有管理平台容器在运行,关闭本地的管理平台容器。

至此,脚本执行结束,管理平台容器得到了妥善的处理。

如图3所示,为本发明所述的一种分布式块存储系统的管理平台的部署装置,包括:

安装单元31,将分布式块存储系统的管理平台安装在容器中;

保存单元32,将所述容器保存在所述分布式块存储系统中。

所述的装置,还包括:

检查单元33,每隔预定时间,检查所述分布式块存储系统的块存储服务是否正常;

停止单元34,当所述块存储服务出现故障时,并且所述块存储服务器中装载有运行管理平台的容器时,则停止运行所述块存储服务器中的容器;

判断单元35,当所述块存储服务的运行状态为正常,且所述容器被分配的卷正常时,判断所述块存储服务器的当前身份是否为主节点,生成第一判断结果;

处理单元36,根据所述第一判断结果,进行相应处理。

所述保存单元32包括:

分配子单元321,在所述分布式存系统中为所述容器分配卷;

保存子单元322,将所述容器运行产生的数据保存在所述卷中;

安装子单元323,在所述分布式块存储系统的各个块存储服务器中安装容器管理软件;

获取子单元324,获取安装有管理平台的容器的镜像文件;

导入子单元325,将所述容器的镜像文件导入到各个所述块存储服务器的容器管理软件中。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1