掌桥专利:专业的专利平台
掌桥专利
首页

系统配置方法、装置、设备、可读存储介质及分布式存储系统

文献发布时间:2023-06-19 11:52:33


系统配置方法、装置、设备、可读存储介质及分布式存储系统

技术领域

本发明涉及系统配置技术领域,更具体地,涉及一种系统配置方法、装置、设备、可读存储介质及分布式存储系统。

背景技术

分布式存储系统,是将数据分散存储在多个独立的存储设备上的系统。分布式存储系统通过采用可扩展的系统结构,利用多台存储设备分担存储负荷,不但提高存储系统的可靠性、可用性和存取效率,还易于扩展,尤其适用于云计算等技术领域。

但是,在应用过程中对分布式存储系统进行配置变更,往往依赖于运维人员的手动操作,使用命令行工具等对分布式系统中每个存储设备分别操作和修改配置值,难以保证配置变更的正确性。而一旦分布式存储系统出现配置错误,不仅会造成基于分布式存储系统的云计算服务的异常中断,还可能影响分布式存储系统所存储的云计算数据的安全性。并且,由于分布式存储系统的结构复杂性,要解决分布式存储系统的配置错误,往往需要投入大量人力和时间成本来逐一排查每个存储设备,极大地降低分布式存储系统的使用效率。

发明内容

本发明的一个目的是提供一种用于配置分布式存储系统的新技术方案。

根据本发明的第一方面,提供了一种系统配置方法,实施于分布式存储系统,所述分布式存储系统包括多个存储设备,所述方法包括:

获取用于配置所述分布式存储系统的目标配置信息;

从所述分布式存储系统中选取目标存储设备,根据所述目标配置信息对所述目标存储设备实施配置变更;

在确定所述目标存储设备在配置变更后符合配置正常条件后,继续从所述分布式存储系统中选取目标存储设备,根据所述目标配置信息实施配置变更,直至依次对分布式存储系统中的所有存储设备完成所述配置变更,使得配置变更后的每个所述存储设备符合所述配置正常条件。

根据本发明的第二方面,提供一种系统配置装置,包括:

配置获取单元,用于获取用于配置所述分布式存储系统的目标配置信息;

配置变更单元,用于从所述分布式存储系统中选取目标存储设备,根据所述目标配置信息对所述目标存储设备实施配置变更;以及,用于在确定所述目标存储设备在配置变更后符合配置正常条件时,继续从所述分布式存储系统中选取目标存储设备,根据所述目标配置信息实施配置变更,直至依次对分布式存储系统中的所有存储设备完成所述配置变更,使得配置变更后的每个所述存储设备符合所述配置正常条件。

根据本发明的第三方面,提供一种系统配置设备,包括:

存储器,用于存储可执行的指令;

处理器,用于根据所述可执行的指令的控制,运行所述系统配置设备,执行如本发明的第一方面所述的任意一项系统配置方法。

根据本发明的第四方面,提供一种可读存储介质,所述可读存储介质中存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被计算机读取运行时,执行如本发明的第一方面所述的任意一项系统配置方法。

根据本发明的第五方面,提供一种分布式存储系统,包括:

多个存储设备;

如本发明的第二方面所述的系统配置装置,或者,如本发明的第三方面所述的系统配置设备。

根据本发明的第六方面,提供一种系统配置方法,实施于分布式存储系统,所述分布式存储系统包括多个存储设备,所述方法包括:

接收用户提交的目标配置变更值;

对所述目标配置变更值进行配置检查;

在所述目标配置变更值通过所述配置检查后,对所述目标配置变更值进行配置评审;

在所述目标配置变更值通过所述配置评审后,对所述目标配置变更值进行配置测试;

在所述目标配置变更值通过所述配置测试后,将所述目标配置值作为目标配置信息,对所述分布式存储系统实施配置变更。

根据本发明的第七方面,提供一种可读存储介质,所述可读存储介质中存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被计算机读取运行时,执行如本发明的第六方面所述的任意一项系统配置方法。

根据本发明的一个实施例,通过在从分布式存储系统中选取目标存储设备,根据目标配置信息实施配置变更,确定配置变更后的目标存储设备符合配置正常条件,才继续从分布式存储系统中选取目标存储设备实施配置变更,直至所有的存储设备都完成配置变更并符合配置正常条件,可以自动实现对分布式存储系统的线上配置变更,并且在配置变更过程中,快速发现配置错误或者配置异常,将错误或风险控制在出现配置错误或者配置异常的少量目标存储设备中,避免影响整个分布式存储系统,降低分布式存储系统出现配置故障的概率,提高分布式存储系统在线上配置变更的正确性和配置效率。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是显示可用于实现本发明的实施例的分布式存储系统1000的硬件配置的例子的框图。

图2示出了本发明的实施例的系统配置方法的流程图。

图3示出了本发明的实施例的系统配置装置3000的框图。

图4示出了本发明的实施例的系统配置设备4000的框图。

图5是本发明的实施例的分布式存储系统实施的系统配置方法的例子的示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<硬件配置>

图1示出了一种分布式存储系统1000,包括配置设备1100、存储设备1200以及网络1300。

配置设备1100是用于初始化或者变更存储设备的配置状态的设备。可以如图1所示,包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160。尽管配置设备1100也可以包括扬声器、麦克风等等,但是,这些部件与本发明无关,故在此省略。其中,处理器1110例如可以是中央处理器CPU、微处理器MCU等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。

存储设备1200可以是任意提供数据存储服务的设备,例如,可以是提供数据存储、管理服务的服务器、服务器集群或者云服务等。多个存储设备1200之间数据或者服务可以共享,并且多个存储设备1200之间的配置状态保持一致。存储设备1200的配置状态可以包括设备的功能、性能、可靠性以及安全性等。

通信网络1300可以是无线网络也可以网络,可以是局域网也可以是广域网。在图1所示的分布式存储系统1000中,多个存储设备1200、配置设备1100中任意两者之间,可以通过通信网络1300进行通信。

图1所示的分布式存储系统1000仅是解释性的,并且决不是为了要限制本发明、其应用或用途。应用于本发明的实施例中,配置设备1100的所述存储器1120用于存储指令,所述指令用于控制所述处理器1110进行操作以执行本发明实施例中提供的任意一项系统配置方法。本领域技术人员应当理解,尽管在图1中对配置设备1100示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,配置设备1100只涉及处理器1110和存储装置1120。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

<实施例>

<方法>

在本实施例中,提供一种系统配置方法,实施于分布式存储系统。分布式存储系统中包括多个独立的存储设备,可以将数据分散存储在多个独立的存储设备上,利用多台存储设备分担存储负荷,提高系统的可靠性、可用性和存取效率,适用于实现云计算等服务。在一个例子中,分布式存储系统可以如图1所示。

如图2所示,系统配置方法可以包括:步骤2100-2300。

步骤2100,获取用于配置分布式存储系统的目标配置信息。

目标配置信息是用于配置分布式存储系统,使得分布式存储系统在配置后变为预期的配置状态的相关信息。该配置状态包括系统的功能、性能、可靠性以及安全性等。目标配置信息与预期的配置状态对应,具体内容不再一一列举。

应当理解的是,在本实施例中,分布式存储系统包括多个独立的存储设备,对分布式存储系统实施配置,也就是对分布式存储系统中所有存储设备实施配置,使得所有存储设备的配置状态一致,才能完成对分布式存储系统的配置。

在一个例子中,获取用于配置分布式存储系统的目标配置信息,可以包括:步骤2101-2102。

步骤2101,接收用户提交的目标配置变更值。

目标配置变更值是用户提交的、期望对分布式存储系统进行配置变更所使用的配置值,与用户预期的分布式存储系统变更后的配置状态对应。在本例中,用户可以通过在提供的配置界面上进行输入、手势操作等方式,提交目标配置变更值。

步骤2102,确定目标配置变更值符合静态配置检查条件时,根据目标配置变更值,获取目标配置信息。

静态配置检查条件是预先设置的、用于检查用户提交的目标配置变更值是否属于正确的配置值的条件。静态配置检查条件至少所述目标配置变更值符合预设变更值类型、目标配置变更值属于预设值域范围其中之一。预设变更值类型、预设值域范围可以根据具体的配置场景来设置,例如,预设变更值类型可以包括布尔类型或者整型类型。

在实际应用中,用户可能会因为操作失误、输入错误或者不熟悉配置值等原因,提交错误的目标配置变更值,导致分布式存储系统出现配置错误。在本例中,通过设置静态配置检查条件,可以检查用户提交的目标配置变更值,在确定目标配置变更值符合静态配置检查条件时,保证目标配置变更值是正确的配置变更值,再根据目标配置变更值获取目标配置信息,可以避免由于用户提交错误的配置变更值,导致分布式存储系统出现配置错误,保证分布式存储系统配置的正确性和可靠性。

在另一个例子中,获取用于配置分布式存储系统的目标配置信息,可以包括:步骤2111-2113。

步骤2111,接收用户提交的目标配置变更值。

步骤2111可以如上例的步骤2101实施,在此不再赘述。

步骤2112,将目标配置变更值,输入配置检查模型,获取对应的检查结果。

在本例中,配置检查模型是根据采集的配置错误实例以及配置正确实例为样本,通过机器学习算法训练得到的机器学习模型。具体的机器学习算法可以包括K-近邻算法、学习矢量化算法、自组织映射算法等。

通过基于配置错误实例以及配置正确实例作为样本来训练生成配置检查模型,可以通过配置检查模型检查用户提交的目标配置变更值是否是正确的配置值,避免由于用户提交错误的配置变更值,导致分布式存储系统出现配置错误,并且,配置检查模型可以覆盖无法通过静态的配置检查条件描述却实际发生的配置错误,能动态适应新增的配置错误,更具有普遍适用性。

步骤2113,在检查结果指示目标配置变更值是正确的配置变更值时,根据目标配置变更值,获取目标配置信息。

在本例中,通过配置检查模型检查确定目标配置变更值是正确的配置变更值,再根据目标配置变更值获取目标配置信息,可以避免由于用户提交错误的配置变更值,导致分布式存储系统出现配置错误,保证分布式存储系统配置的正确性和可靠性。

在上述两个例子中,在确定用户提交的目标配置变更值是正确的配置变更值后,根据目标配置变更值获取目标配置信息,可以是将目标配置变更值直接作为目标配置信息,也可以如下述例子,包括:步骤2110-S2130。

步骤2110,将目标配置变更值发送给外部对象,触发所述外部对象返回对目标配置变更值的评审结果。

在本例中,外部对象可以是对分布式存储系统具有丰富的配置经验的运营人员,或者是根据大量分布式存储系统的配置实例,基于深度学习等算法训练得到的评审模型。将目标配置变更值通过邮件、信息、请求等方式发送给外部对象,可以触发外部对象基于对分布式存储系统的配置经验对目标配置变更值进行评审,返回对应的评审结果。

步骤2120,在评审结果指示目标配置变更值评审通过时,将目标配置变更值作为目标配置信息。

评审结果指示目标配置变更值评审通过,意味着具有配置经验的外部对象,评审确认目标配置变更值是正确的变更值,将目标配置变更值为目标配置信息,来实施对分布式存储系统的配置变更,能有效提高配置变更的质量。

步骤2130,在评审结果指示目标配置变更值评审未通过时,发出修改提示引导用户重新修改目标配置变更值。

评审结果指示目标配置变更值评审未通过,意味着具有配置经验的外部对象,评审确认目标配置变更值是错误的变更值,发出修改提示引导用户重新修改目标配置变更值,而不再允许用户基于目标配置变更值来实施对分布式存储系统的配置变更,可以降低配置错误发生的概率,减少因为用户缺乏配置经验导致分布式存储系统配置后出现故障的风险。

在又一个例子中,获取用于配置分布式存储系统的目标配置信息,可以包括:步骤2121-2122。

步骤2121,在本地测试环境中,根据所接收的目标配置变更值进行本地配置测试。

在本例中,目标配置变更值可如上述两个例子中,由期望配置分布式存储系统的用户提交,不再赘述。

本地测试环境可以是实施本实施例的系统配置方法的配置设备在本地环境中构建的、用于根据目标配置变更值对分布式存储系统实施配置变更的线下测试环境。可以通过针对具体的测试需求设计的测试样例来集成生成。

本地配置测试是在本地测试环境中,模拟通过目标配置变更值配置分布式存储系统、获取对应的测试结果的测试。本地配置测试至少包括功能测试以及性能测试其中之一。功能测试用于测试根据目标配置变更值实施配置变更后,设备的功能是否正确,具体的功能项可以根据具体的测试需求设置;性能测试用于根据目标配置变更值实施配置变更后,设备的性能是否符合预设性能要求,具体的性能项、性能指标可以根据具体的测试需求设置。

步骤2122,在根据目标配置变更值进行本地配置测试通过后,将目标配置变更值作为目标配置信息。

在根据目标配置变更值进行本地配置测试通过后,意味着在本地测试环境中,根据目标配置变更值模拟对分布式存储系统配置变更,测试得到分布式存储系统转变为预期的配置状态。在本地配置测试通过后,将目标配置变更值作为目标配置信息,可以进一步降低目标配置信息出错导致分布式存储系统出现故障的风险,保证分布式存储系统配置的正确性和安全性。

在获取目标配置信息之后,进入:

步骤2200,从分布式存储系统中选取目标存储设备,根据目标配置信息对目标存储设备实施配置变更。

从分布式存储系统中选取目标存储设备,来根据目标配置信息实施实际的线上配置变更,可以在配置变更出现不可预估的错误或风险时,将错误或风险控制在目标存储设备中,避免影响整个分布式存储系统,降低分布式存储系统出现配置故障的概率。

应当理解的是,在本实施例中,从分布式存储系统选取目标存储设备的数目可以是一个或多个,具体数值可以根据具体需求设置。

在一个例子中,从分布式存储系统中选取目标存储设备,可以包括:

从分布式存储系统中,选取符合设备选取条件的存储设备,作为目标存储设备。

设备选取条件是用于在分布式存储系统中选取合适的存储设备作为目标存储设备的条件。在本例中,设备选取条件至少包括下述两项之一:存储设备的设备状态正常并且提供服务状态正常,或者,存储设备与预设的检查项对应的设备状态正常。

存储设备的设备状态正常并且提供服务状态正常,通常意味着该存储设备以及其提供的服务构成一个状态正常的服务实例,选取这样一个服务实例作为目标存储设备实施根据目标配置信息的配置变更,可以有效实施配置变更,避免设备本身存在的状态错误、服务不可能等异常带来的配置错误风险。

预设的检查项可以根据用户的配置需求或者具体的配置场景进行自定义设置,例如,预设的检查项可以存储设备提供的服务性能是否符合预设的性能指标、存储设备的吞吐量是否符合预设的吞吐量指标、存储设备的传输延迟是否低于预设的延迟阈值等等。通过设置预设的检查项,来选取对应的存储设备作为目标设备,可以针对用户的个性化配置需求或者配置场景的特性,自适应地选取符合需求的目标存储设备,实施更有效的配置变更。

步骤2300,在确定目标存储设备在配置变更后符合配置正常条件时,继续从分布式存储系统选取目标存储设备,根据目标配置信息实施配置变更,直至依次对分布式存储系统中的所有存储设备完成配置变更,使得配置变更后的每个存储设备符合配置正常条件。

配置正常条件是用于判断目标存储设备根据目标配置信息实施配置变更后,是否出现配置异常的条件。

在一个例子中,配置正常条件至少包括两项其中之一:目标存储设备在配置变更后设备状态正常并且提供服务状态正常,或者,目标存储设备在配置变更后根据预设的检查项检查获取的配置结果正确。

目标存储设备在配置变更后的设备状态正常并且提供服务状态正常,通常意味着目标存储设备以及其提供的服务构成一个状态正常的服务实例,根据目标配置信息实施的配置变更没有导致服务实例的状态出现错误或不可用,确定目标存储设备的配置变更正确。

预设的检查项可以根据用户的配置需求或者具体的配置场景进行自定义设置,例如,预设的检查项可以存储设备提供的服务性能是否符合预设的性能指标、存储设备的吞吐量是否符合预设的吞吐量指标、存储设备的传输延迟是否低于预设的延迟阈值等等。目标存储设备在配置变更后根据预设的检查项检查获取的配置结果正确,意味着目标存储设备在配置变更后的状态符合用户的预期。

通过设置配置正常条件,可以判断目标存储设备实施配置变更后的状态是否符合预期。在确定目标存储设备在配置变更后符合配置正常条件后,继续从分布式存储系统中选取目标存储设备,根据目标配置信息实施配置变更,这样逐次选取目标存储设备来实施配置变更,在每次选取的目标存储设备实施配置变更后符合配置正常条件,确定设备状态符合预期后,再选取下一次实施配置变更的目标设备,直至所有的存储设备都完成配置变更并符合配置正常条件,这样对分布式存储系统中的存储设备依次批量来实施配置变更,在确定每次实施配置变更后的存储设备的状态符合预期后,再进行下一次的批量配置变更,可以在每次配置变更出现不可预估的错误或风险时,将错误或风险控制在本次选取目标存储设备中,避免影响整个分布式存储系统,降低分布式存储系统出现配置故障的概率,同时便于排查分布式存储系统中出现配置错误的存储设备,快速进行恢复,提高分布式存储系统在线上配置变更的正确性和可靠性,提升配置效率。

在一个例子中,每次从分布式存储系统中选取目标存储设备的数目,大于最近一次从分布式存储系统中选取式所述目标存储设备的数目。

例如,假设第一次从分布式存储系统中选取1台目标存储设备,该台目标存储设备根据目标配置信息实施配置变更后符合配置正常条件,再依次选取6台目标存储设备、分布式存储系统中剩余设备总数的10%的目标存储设备、分布式存储系统中剩余设备总数的50%的目标存储设备、分布式存储系统中剩余设备总数的100%的目标存储设备。

每次选取目标存储设备实施配置变更后符合正常配置条件,下一次选取更多的目标配置设备来实施变更,实现逐步确定实施配置变更后的目标存储设备的配置状态符合预期,再扩大实施配置变更的存储设备范围,一方面能保证对分布式存储系统的配置变更的安全稳健性,有效控制配置错误的风险的影响,另一方面可以进一步提高配置变更的效率。

在本实施例中,提供的系统配置方法还包括:

步骤2400,在确定目标存储设备在配置变更后不符合配置正常条件时,将目标存储设备的配置状态,恢复为最近一次根据所述目标配置信息配置变更前的配置状态,并且,终止根据目标配置信息对所述分布式存储系统进行配置变更。

目标存储设备在配置变更后不符合配置正常条件,意味着目标存储设备在根据目标配置信息实施配置变更后的状态不符合预期,出现配置错误、配置异常等配置风险,此时如果继续选取其他的目标存储设备来根据目标配置信息实施配置变更,可能会进一步扩大配置错误或配置异常,最终导致整个分布式存储系统不可用。而将所有已经实施配置变更的目标存储设备,恢复为最近一次根据目标配置信息配置变更前的配置状态,也就是将目标存储设备恢复未发生配置变更前的状态,实现配置状态回滚,能快速、有效地排除配置错误或异常等配置风险,提高分布式存储系统的配置效率。

在本实施例中,提供的系统配置方法还可以包括:步骤2410-S2420。

步骤2410,根据预设的配置检查周期,检查实施配置变更后的分布式存储系统中每个存储设备的配置状态。

配置检查周期的具体时长,可以根据具体的配置场景或者配置需求设置。在本例中,检测实施配置变更后的分布式存储系统每个存储设备的配置状态,具体可以包括:在每次配置变更后记录分布式存储系统的配置状态,在配置检查周期到达时,检查当前分布式存储系统每个存储设备的配置状态是否与记录的最近一次的配置状态相同,或者,设置预期的配置状态,在配置检查周期到达时,检查当前分布式存储系统每个存储设备的配置状态是否与预期的配置状态相同。

步骤2420,在确定至少一个所述存储设备还原为所述配置变更前的配置状态时,发出告警信号,提示用户对应的配置变更失效。

至少一个存储设备还原为配置变更前的配置状态,通常意味着该存储设备在配置变更后的运行过程中出现不可预估的异常或者错误,导致存储设备自行恢复到未配置变更前的配置状态,在此时发出例如提示音、提示语音、提示消息、提示邮件等告警信号,提示用户对应的配置变更失效,可以让用户快速、准确地发现分布式存储系统的配置变更错误,极大降低排查系统配置错误的时间和人力成本,提高处理配置错误的效率。

在本实施例中,提供的系统配置方法还可以包括:步骤2401-S2402。

步骤2401,在每次根据目标配置信息完成对分布式存储系统的配置变更后,记录对应的配置变更历史信息。

配置变更历史信息是与分布式存储系统的配置变更历史相关信息,可以在每次完成对分布式存储系统的配置变更后记录。配置变更历史信息至少包括对应的目标配置信息、以及完成配置变更的历史时间。

步骤2402,响应于接收的配置变更历史查询请求,提供所记录的、对应的配置变更历史信息。

配置变更历史查询请求是用户触发的、查询分布式存储系统的配置变更历史的请求,在配置变更历史查询请求中可以包括查询时段、查询配置项等更具体的查询索引信息。

在本例中,通过记录分布式存储系统的配置变更历史,提供给用户通过查询获取,可以方便用户通过查询配置变更历史,来统计分布式存储系统的配置特征,并且可以在分布式存储系统出现不可预估的配置错误或配置异常,可以便于用户快速、准确地定位出现配置错误或配置异常的原因,提高处理配置错误的效率。

<系统配置装置>

在本实施例中,提供一种系统配置装置3000,如图3所示,包括:配置获取单元3100、配置变更单元3200,用于实施本实施例中提供的配置变更方法,在此不再赘述。

配置获取单元3100,用于获取用于配置所述分布式存储系统的目标配置信息。

可选地,配置获取单元3100包括静态检查单元,用于:

接收用户提交的目标配置变更值;

确定所述目标配置变更值符合静态配置检查条件时,根据所述目标配置变更值,获取所述目标配置信息;所述静态配置检查条件至少包括所述目标配置变更值符合预设变更值类型、所述目标配置变更值属于预设值域范围其中之一。

可选地,配置获取单元3100包括模型检查单元,用于:

接收用户提交的目标配置变更值;

将所述目标配置变更值,输入配置检查模型,获取对应的检查结果;所述配置检查模型是根据采集的配置错误实例以及配置正确实例为样本,通过机器学习算法训练得到的机器学习模型;

在所述检查结果指示所述目标配置变更值是正确的配置变更值时,根据所述目标配置变更值,获取所述目标配置信息。

进一步可选地,配置获取单元3100还包括配置评审单元,用于:

将所述目标配置变更值发送给外部对象,触发所述外部对象返回对所述目标配置变更值的评审结果;

在所述评审结果指示所述目标配置变更值评审通过时,将所述目标配置变更值作为所述目标配置信息;

在所述评审结果指示所述目标配置变更值评审未通过时,发出修改提示引导用户重新修改所述目标配置变更值。

配置获取单元3100还包括配置测试单元,用于:

在本地测试环境中,根据所接收的目标配置变更值进行本地配置测试;所述本地配置测试至少包括功能测试以及性能测试其中之一;

在根据所述目标配置变更值进行本地配置测试通过后,将所述目标配置变更值作为所述目标配置信息。

配置变更单元3200,用于从所述分布式存储系统中选取目标存储设备,根据所述目标配置信息对所述目标存储设备实施配置变更;以及,用于在确定所述目标存储设备在配置变更后符合配置正常条件时,继续从所述分布式存储系统中选取目标存储设备,根据所述目标配置信息实施配置变更,直至依次对分布式存储系统中的所有存储设备完成所述配置变更,使得配置变更后的每个所述存储设备符合所述配置正常条件。

可选地,配置变更单元3200实施的从所述分布式存储系统中选取目标存储设备,包括:

从所述分布式存储系统中,选取符合设备选取条件的所述存储设备,作为所述目标存储设备;

所述设备选取条件至少包括下述两项之一:所述存储设备的设备状态正常并且提供服务状态正常,或者,所述存储设备中与预设的检查项对应的设备状态正常。

可选地,每次从所述分布式存储系统中选取所述目标存储设备的数目,大于最近一次从所述分布式存储系统中选取式所述目标存储设备的数目。

可选地,所述配置正常条件至少包括下述两项其中之一:所述目标存储设备在配置变更后设备状态正常并且提供服务状态正常,或者,所述目标存储设备在配置变更后根据预设的检查项检查获取的配置结果正确;

系统配置装置3000还用于:

在确定所述目标存储设备在配置变更后不符合配置正常条件时,对所述目标存储设备,恢复为最近一次根据所述目标配置信息配置变更前的配置状态,并且,终止根据所述目标配置信息对所述分布式存储系统进行配置变更。

系统配置装置3000还包括配置报警单元,用于:

根据预设的配置检查周期,检查实施所述配置变更后的所述分布式存储系统中每个所述存储设备的配置状态;

在确定至少一个所述存储设备还原为所述配置变更前的配置状态时,发出告警信号,提示用户对应的配置变更失效。

系统配置装置3000还包括配置查询单元,用于:

在每次根据所述目标配置信息完成对所述分布式存储系统的配置变更后,记录对应的配置变更历史信息;所述配置变更历史信息至少包括对应的目标配置信息、以及完成配置变更的历史时间;

响应于接收的配置变更历史查询请求,提供所记录的、对应的所述配置变更历史信息。

本领域技术人员应当明白,可以通过各种方式来实现系统配置装置3000。例如,可以通过指令配置处理器来实现系统配置装置3000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现系统配置装置3000。例如,可以将系统配置装置3000固化到专用器件(例如ASIC)中。可以将系统配置装置3000分成相互独立的单元,或者可以将它们合并在一起实现。系统配置装置3000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。

在本实施例中,系统配置装置3000可以具有多种实施方式,例如,系统配置装置3000可以是对分布式存储系统提供配置服务的应用程序、软件,或者,系统配置装置3000可以是对分布式存储系统提供配置服务的、可以被加载的补丁件、嵌入件等,或者,系统配置装置3000可以是被封装成软件工具开发包形式,被下载调用提供对分布式存储系统提供配置服务。

<系统配置设备>

在本实施例中,还提供一种系统配置设备4000,如图4所示,包括:

存储器4100,用于存储可执行的指令;

处理器4200,用于根据所述可执行的指令的控制,运行所述系统配置设备4000执行如本实施例提供的、针对分布式存储系统的系统配置方法。

在本实施例中,系统配置设备4000可以是用于初始化或者变更存储设备的配置状态的设备。例如,可以如图1所示的配置设备1100。具体的一个例子中,系统配置设备4000可以是安装有实施本实施例的系统配置方法的应用软件的设备。

系统配置设备4000还可以包括其他的装置,例如还可以包括输入装置、通信装置等。

<可读存储介质>

在本实施例中,还提供一种可读存储介质,可读存储介质存储有可被计算机读取并运行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行如本实施例所述的系统配置方法。

可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

<分布式存储系统>

在本实施例中,还提供一种分布式存储系统5000,包括:

多个存储设备5100;

如图3所示的系统配置装置3000或者如图4所示的系统配置设备。

在本实施例中,分布式存储系统5000可以具有多种实施形式,例如,分布式存储系统5000可以如图1所示的分布式存储系统1000。

<例子>

以下将结合图5进一步举例,说明基于本实施例中提供的分布式存储系统5000实施的系统配置方法。

如图5所示,该系统配置方法包括:步骤501-507。

步骤501,接收用户提交的目标配置变更值。

步骤502,对目标配置变更值进行配置检查。

具体的配置检查步骤可以如上述步骤2102或者步骤2112-2113实施,在此不再赘述,在确定配置检查通过后,进入步骤503,否则,终止配置变更。

通过配置检查,可以避免用户配置不当带来的配置错误,提高分布式存储系统5000的配置正确性。

步骤503,对目标配置变更值进行配置评审。

具体的配置评审步骤可以如步骤2110-2130实施,在此不再赘述,在确定配置评审通过后,进入步骤504,否则,终止配置变更。

通过配置检查,可以避免用户缺乏配置经验带来的配置错误,提高分布式存储系统5000的配置质量。

步骤504,对目标配置变更值进行配置测试。

具体的配置测试步骤可以如步骤2121-2122实施,在此不再赘述,在确定配置测试通过后,进入步骤505,否则,终止配置变更。

通过配置测试,可以通过线下模拟配置变更来发现配置异常或者配置错误,降低分布式存储系统5000出现配置错误或者配置异常的风险。

步骤505,将目标配置值作为目标配置信息,对分布式存储系统实施配置变更。

具体实施配置变更的步骤可以如S2200、S2300以及S2400实施,在分布式存储系统5000中,依次分批选取存储设备5100作为目标存储设备(例如如前述举例,先选1台存储设备,然后是6台存储设备,然后时剩余存储设备的10%、剩余存储设备的50%、剩余存储设备的100%),在每次目标存储设备在根据目标配置信息实施配置变更后的状态符合预期后,才继续选取目标存储设备实施配置变更,一旦目标存储设备在根据目标配置信息实施配置变更后的状态不符合预期,就将配置状态恢复为最近一次配置变更前的状态,通过“变更-检查-回滚或者继续”的配置变更方式,完全全部存储设备的配置变更,或者出现配置错误回滚来保持全部存储设备未配置变更前的状态,有效控制配置变更过程中部分存储设备出现配置异常或者配置错误带来的影响,保证分布式存储系统的配置正确性,提高配置效率。

步骤506,配置变更历史查询。

具体配置变更历史查询的步骤,可以如上述步骤2401-S2402实施,通过记录分布式存储系统的配置变更历史,提供给用户通过查询获取,可以方便用户通过查询配置变更历史,来统计分布式存储系统的配置特征,并且可以在分布式存储系统出现不可预估的配置错误或配置异常,可以便于用户快速、准确地定位出现配置错误或配置异常的原因,提高处理配置错误的效率。

步骤507,配置监控报警。

具体配置监控报警的步骤,可以如上述步骤2410-S2420实施,可以在存储设备在配置变更后出现配置失效时提示用户,让用户快速、准确地发现分布式存储系统的配置变更错误,极大降低排查系统配置错误的时间和人力成本,提高处理配置错误的效率。

在本实施例中,还提供一种可读存储介质,可读存储介质存储有可被计算机读取并运行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行如图5所示的本实施例所述的系统配置方法。

以上已经结合附图和例子,说明本实施例中提供的系统配置方法、装置、设备、可读存储介质及分布式存储系统,通过在从分布式存储系统中选取目标存储设备,根据目标配置信息实施配置变更,确定配置变更后的目标存储设备符合配置正常条件,才继续从分布式存储系统中选取目标存储设备实施配置变更,直至所有的存储设备都完成配置变更并符合配置正常条件,可以自动实现对分布式存储系统的线上配置变更,并且在配置变更过程中,快速发现配置错误或者配置异常,将错误或风险控制在出现配置错误或者配置异常的少量目标存储设备中,避免影响整个分布式存储系统,降低分布式存储系统出现配置故障的概率,提高分布式存储系统在线上配置变更的正确性和配置效率。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

相关技术
  • 系统配置方法、装置、设备、可读存储介质及分布式存储系统
  • 分布式存储系统升级方法、系统、装置及可读存储介质
技术分类

06120113084620