可动态分配磁盘的多节点服务器及动态分配磁盘的方法与流程

文档序号:15849878发布日期:2018-11-07 09:41阅读:293来源:国知局
可动态分配磁盘的多节点服务器及动态分配磁盘的方法与流程

本发明涉及服务器存储领域,具体涉及一种可动态分配磁盘的多节点服务器和一种动态分配磁盘的方法。

背景技术

在当今互联网和大数据的应用中,对存储技术提出了越来越多样化的要求,不仅要求存储容量、访问速率的提升,更要求如何能够将有限的磁盘资源做最优化的配置,从而降低客户总体成本。

传统的高密度服务器系统中,计算节点与存储资源的划分通常是平均分配,以外部尺寸为2u,具有4节点的服务器系统为例,存储背板具有24块sas(串行连接小型计算机系统接口)磁盘,每个节点平均分配到6块磁盘,但是在实际的运行情况下,各个节点的任务负载和资源消耗往往是不相同的,有的节点可能需要更多的磁盘资源,而有的节点需要的磁盘资源较少,甚至不需要磁盘资源分配,因此平均划分磁盘配置就造成了一定的资源浪费,而且固定磁盘配置也限制了服务器节点性能的发挥。虽然当前也有部分服务器厂商采用sas分区技术去配置磁盘资源,但是这种配置方式是在服务器出厂的时候就固化好了,例如:第一个节点分配3块磁盘,第二个节点分配5块磁盘等等,客户无法根据自己的应用场景去灵活配置,灵活性较差。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种可动态分配磁盘的多节点服务器,能够实现磁盘的动态分配,有效提升服务器系统中存储背板的磁盘空间利用率,避免磁盘资源的浪费。

为达到以上目的,本发明采取的技术方案是:包括含有sasexpander芯片的存储背板、磁盘阵列raid转接板和多个服务器节点,sas为串行连接小型计算机系统接口,expander芯片为存储扩展器芯片,每个服务器节点通过磁盘阵列raid转接板与存储背板建立sas通道的连接,且每个服务器节点中均设有用于实现磁盘分配操作的基板管理控制器;

基板管理控制器生成用于设置expander芯片的sas分区参数的配置文件,所述配置文件包括对sas分区的分组设置和对sas分区的组间访问规则的设置;并将所述配置文件编译成二进制bin格式文件,将所述二进制bin格式文件发送至expander芯片;

expander芯片根据接收到的二进制bin格式文件进行配置更新。

在上述技术方案的基础上,所述对sas分区的分组设置的过程为:创建与服务器节点数相同的sas分组,将存储背板中所有磁盘的端口动态划分至创建的sas分组中,并为每个sas分组设置id值。

在上述技术方案的基础上,所述对sas分区的组间访问规则的设置为对不同sas分组间能否相互访问的设置。

在上述技术方案的基础上,所述基板管理控制器包括可视化操作的web管理端,所述web管理端包括动态分区配置程序,基板管理控制器的web管理端,通过动态分区配置程序生成配置文件。

在上述技术方案的基础上,所述基板管理控制器发送用于锁定expander芯片的命令至expander芯片,待expander芯片锁定后,基板管理控制器将编译得到的二进制bin格式文件发送至expander芯片中;当expander芯片完成配置更新后,基板管理控制器解除expander芯片的锁定。

本发明还提供一种动态分配磁盘的方法,包括以下步骤:

基板管理控制器生成用于设置expander芯片的sas分区参数的配置文件,所述配置文件包括对sas分区的分组设置和对sas分区的组间访问规则的设置;并将所述配置文件编译成二进制bin格式文件,将所述二进制bin格式文件发送至expander芯片;

expander芯片根据接收到的二进制bin格式文件进行配置更新。

在上述技术方案的基础上,所述对sas分区的分组设置的过程为:创建与服务器节点数相同的sas分组,将存储背板中所有磁盘的端口动态划分至创建的sas分组中,并为每个sas分组设置id值。

在上述技术方案的基础上,所述对sas分区的组间访问规则的设置为对不同sas分组间能否相互访问的设置。

在上述技术方案的基础上,所述基板管理控制器包括可视化操作的web管理端,所述web管理端包括动态分区配置程序,基板管理控制器的web管理端,通过动态分区配置程序生成配置文件。

在上述技术方案的基础上,所述expander芯片基于二进制bin格式文件进行更新之前,还包括以下步骤:基板管理控制器发送用于锁定expander芯片的命令至expander芯片,待expander芯片锁定后,基板管理控制器将编译得到的二进制bin格式文件发送至expander芯片中;

所述expander芯片基于二进制bin格式文件进行更新之后,还包括以下步骤:当expander芯片完成配置更新后,基板管理控制器解除expander芯片的锁定。

与现有技术相比,本发明的优点在于:通过基板管理控制器生成用于设置expander芯片的sas分区参数的配置文件,配置文件包括对sas分区的分组和组间访问规则的设置,然后将生成的配置文件编译成能够在expander芯片上运行的二进制bin格式文件,基板管理控制器与expander芯片建立连接将编译后得到的二进制bin格式文件发送至expander芯片,配置文件即可对expander芯片中的sas分区相关寄存器配置,从而实现分区调整,实现磁盘的动态分配,有效提升服务器系统中存储背板的磁盘空间利用率,避免磁盘资源的浪费。

附图说明

图1为本发明实施例中一种可动态分配磁盘的多节点服务器的结构示意图;

图2为本发明实施例中一种动态分配磁盘的方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

实施例1

参见图1所示,本实施例提供一种可动态分配磁盘的多节点服务器,包括含有sasexpander芯片的存储背板、磁盘阵列raid(redundantarraysofindependentdisks)转接板和多个服务器节点,expander芯片为存储扩展器芯片。sas为串行连接小型计算机系统接口,expander芯片为存储扩展器芯片。其中,每个服务器节点通过磁盘阵列raid转接板与存储背板建立sas通道的连接,且每个服务器节点中均设有用于实现磁盘分配操作的基板管理控制器,通过基板管理控制器对每个服务器节点进行磁盘个数的分配,基板管理控制器采用可视化操作的web管理端。web管理端为一种网页远程管理服务,管理人员通过可视化的web管理端即可对服务器节点的磁盘分配进行动态设置和调整,操作简单且便捷。因每个服务器节点中均设有用于实现磁盘分配操作的基板管理控制器,因此管理人员可在任一服务器节点中的基板管理控制器对服务器节点进行磁盘分配。

基板管理控制器生成用于设置expander芯片的sas分区参数的配置文件,配置文件包括对sas分区的分组设置和对sas分区的组间访问规则的设置;并将所述配置文件编译成二进制bin格式文件,将所述二进制bin格式文件发送至expander芯片;expander芯片根据接收到的二进制bin格式文件进行配置更新。

实施例2

本实施例提供一种可动态分配磁盘的多节点服务器,在实施例1的基础上,存储背板为24盘位存储背板,即存储背板中含有24个磁盘,在磁盘的动态分配过程中,对该24个磁盘进行服务器节点的分配,例如,在一种实施方式中,包含有4个服务器节点,则通过服务器节点中的基板管理控制器对磁盘的分配,服务器节点1分配到8块磁盘,服务器节点2分配到11块磁盘,服务器节点3分配到0块磁盘,服务器节点4分配到5块磁盘。

实施例3

本发明实施例提供一种可动态分配磁盘的多节点服务器,在实施例1的基础上,对sas分区的分组设置的过程为:创建与服务器节点数相同的sas分组,将存储背板中所有磁盘的端口动态划分至创建的sas分组中,并为每个sas分组设置id值。对sas分区的组间访问规则的设置为对不同sas分组间能否相互访问的设置。

实施例4

本发明实施例提供一种可动态分配磁盘的多节点服务器,在实施例1的基础上,基板管理控制器包括可视化操作的web管理端,所述web管理端包括动态分区配置程序,基板管理控制器的web管理端,通过动态分区配置程序生成配置文件。基板管理控制器发送用于锁定expander芯片的命令至expander芯片,具体是发送用于锁定expander芯片的smp命令至expander芯片,待expander芯片锁定后,基板管理控制器将编译得到的二进制bin格式文件发送至expander芯片中;当expander芯片完成配置更新后,基板管理控制器解除expander芯片的锁定。

实施例5

参见图2所示,本实施例提供一种适用于上述多节点服务器的动态分配磁盘的方法,具体包括:

s1:通过基板管理控制器生成用于设置expander芯片的sas分区参数的配置文件,配置文件包括对sas分区的分组设置和对sas分区的组间访问规则的设置。

配置文件中对sas分区的分组设置,具体为:创建与服务器节点数相同的sas分组,每个sas分组对应一个服务器节点,将存储背板中所有磁盘的端口动态划分至创建的sas分组中,并为每个sas分组设置id值,即相当于将所有磁盘根据需要划分至sas分组中,每个sas分组中含有的磁盘个数根据需要灵活调整分配,如某一sas分组中含有4个磁盘的端口,则该sas分组对应的服务器节点被分配了4个磁盘,如某一sas分组中含有0个磁盘的端口,则该sas分组对应的服务器节点没有被分配磁盘,通过创建sas分组,并往sas分组中添加磁盘的端口方式,对服务器节点进行磁盘的分配。sas分组的最大分组数为255,sas分区的分组设置格式如下:

0x1a40,phy0zonegroupid(7:0),,,,,,,,0x01,

0x1a41,phy1zonegroupid(7:0),,,,,,,,0x01,

0x1a42,phy2zonegroupid(7:0),,,,,,,,0x01,

0x1a43,phy3zonegroupid(7:0),,,,,,,,0x01,

0x1a44,phy4zonegroupid(7:0),,,,,,,,0x02,

0x1a45,phy5zonegroupid(7:0),,,,,,,,0x02,

0x1a46,phy6zonegroupid(7:0),,,,,,,,0x02,

0x1a47,phy7zonegroupid(7:0),,,,,,,,0x02,

...

配置文件中组间访问规则设置为对不同sas分组间能否相互访问的设置,若两个sas分组间能够相互访问,则相当于该两个sas分组对应的磁盘间是相互连通的,从而若两个sas分组能够相互访问,则该两个sas分组中一个sas分组对应的服务器节点能够访问该两个sas分组中另一个sas分组,相当于该服务器节点能够将资源存储至两个sas分组中,从而进一步增加了磁盘分配的动态性,当服务器节点自身对应的sas分组所对应的磁盘存满后,还能够将资源存储于能够相互访问的另一sas分组对应的磁盘中。不同sas分组间能否相互访问根据需要灵活设置,如某两个sas分组间能够相互访问,某三个sas分组间能够相互访问。在配置文件的配置参数中写入对sas分区的分组和组间访问规则的设置,以便于后续对expander芯片进行更新。对于组间访问规则的设置,其格式如下:

0x1b00,zonepermissionrow0p[0:7-0],,,,,,,,0x01,

0x1b01,zonepermissionrow0p[0:15-8],,,,,,,,0x01,

0x1b02,zonepermissionrow0p[0:23-16],,,,,,,,0x00,

0x1b03,zonepermissionrow0p[0:31-24],,,,,,,,0x00,

0x1b04,zonepermissionrow0p[0:39-32],,,,,,,,0x00,

0x1b05,zonepermissionrow0p[0:47-40],,,,,,,,0x00,

0x1b06,zonepermissionrow0p[0:55-48],,,,,,,,0x00,

0x1b07,zonepermissionrow0p[0:63-56],,,,,,,,0x00,

...

其中,例如对于分组1可否访问分组2,设置为0表示禁止访问,设置为1表示可以访问。

s2:将生成的配置文件编译成能够在expander芯片上运行的二进制bin格式文件。基板管理控制器生成的配置文件为csv格式,csv格式的配置文件是无法被expander芯片调用的,因此需要在基板管理控制器上进行一次编译转化,将csv格式的配置文件编译成能够在expander芯片上运行的二进制bin格式文件,仅进行格式的转化,文件内容不改变。

s3:基板管理控制器将编译得到的二进制bin格式文件发送至expander芯片,具体的为,基板管理控制器将编译得到的二进制bin格式文件发送至expander芯片的固件内存中。

s4:expander芯片根据接收到的二进制bin格式文件进行配置更新,即实现了对于磁盘分配的动态调整,动态对每个服务器节点进行磁盘的分配。

本实施例的动态分配磁盘的方法,通过基板管理控制器生成用于设置expander芯片的sas分区参数的配置文件,配置文件包括对sas分区的分组和组间访问规则的设置,然后将生成的配置文件编译成能够在expander芯片上运行的二进制bin格式文件,基板管理控制器与expander芯片建立连接将编译后得到的二进制bin格式文件发送至expander芯片,配置文件即可对expander芯片中的sas分区相关寄存器配置,从而实现分区调整,实现磁盘的动态分配。

实施例6

本实施例提供一种动态分配磁盘的方法,在实施例5的基础上,基板管理控制器包括可视化操作的web管理端,且web管理端包括动态分区配置程序,在基板管理控制器的web管理端,通过动态分区配置程序生成配置文件。即相当于采用图形化的操作界面,将sas动态分区功能集成在基板管理控制器的web管理界面中,从来实现用户对磁盘的动态分配,且采用基板管理控制器作为控制端配置,可不限于操作系统版本的约束,开发人员只需开发一套web配置界面,并提供简单易用的用户界面,从而用户咋爱后期便可自行配置磁盘,有效提升用户对于磁盘分配操作的便捷性,降低操作难度。

实施例7

本实施例提供一种动态分配磁盘的方法,在实施例5的基础上,将生成的配置文件编译成能够在expander芯片上运行的二进制bin格式文件。基板管理控制器生成的配置文件为csv格式,csv格式的配置文件是无法被expander芯片调用的,因此需要在基板管理控制器上进行一次编译转化,将csv格式的配置文件编译成能够在expander芯片上运行的二进制bin格式文件,仅进行格式的转化,文件内容不改变。基板管理控制器将编译得到的二进制bin格式文件发送至expander芯片。

具体的expander芯片基于二进制bin格式文件进行更新之前,还包括以下步骤:基板管理控制器发送用于锁定expander芯片的smp命令至expander芯片,待expander芯片锁定后,基板管理控制器将编译得到的二进制bin格式文件发送至expander芯片中,expander芯片根据接收到的二进制bin格式文件进行配置更新。基板管理控制器通过发送用于锁定expander芯片的smp命令至expander芯片,使得expander芯片处于锁定状态,以防止在同一个时间节点内多个服务器节点的基板管理控制器对expander芯片访问冲突,当expander芯片完成配置更新后,基板管理控制器解除expander芯片的锁定,此时expander芯片可接受其他服务器节点的基板管理控制器的控制。expander芯片基于二进制bin格式文件进行更新之后,还包括以下步骤:当expander芯片更新完成后,解除expander芯片的锁定。

通过基板管理控制器生成用于设置expander芯片的sas分区参数的配置文件,但是,任一服务器节点中的基板管理控制器均能生成配置文件,实现对expander芯片的配置,进行sas动态分区的配置,因此用户可在任意一服务器节点的web管理端,通过配置文件的设置,对存储背板的磁盘进行动态调整,方便用户的操作。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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