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

一种硬盘管理方法及服务器

文献发布时间:2023-06-19 13:49:36


一种硬盘管理方法及服务器

技术领域

本申请涉及计算机技术领域,尤其涉及一种硬盘管理方法及服务器。

背景技术

大容量存储服务器(以下简称服务器)通常包括至少一个背板以及多块硬盘,每一块硬盘通过背板上的端口插入。插入背板的硬盘通过物理线缆连接到服务器内选路模块的不同通道上,再由基板管理控制器(英文:Baseboard Manager Controller,缩写:BMC)控制选路模块在不同通道间切换,以实现对不同硬盘的管理。

在硬盘管理中,除了硬盘的自身参数(比如,容量、转速、访问时间等)外,硬盘的安装位置信息同样重要。目前,硬盘安装位置的确定主要依赖于硬盘与选路模块之间的固定接线关系,比如,将通过端口1插入的硬盘的线缆固定连接到选路模块的通道1上;将通过端口2插入的硬盘的线缆固定连接到选路模块的通道2上。这样,当BMC通过通道2访问硬盘时,即可直接确定该硬盘位于端口2上。

但是,在实际接线时,常常出现线缆接错的情况,比如,将通过端口1插入的硬盘的线缆连接到通道2上,将通过端口2插入的硬盘的线缆连接到通道1上。此时,如果BMC仍然按照预先规划好的固定接线关系确定硬盘安装位置,则会得到错误的管理信息,比如,错误地认为通过通道1访问的硬盘位于端口1(实际位于端口2)上,导致硬盘管理出错。

发明内容

有鉴于此,本申请提出一种硬盘管理方法及服务器,用以提升硬盘管理准确性。

为实现上述申请目的,本申请提供了如下技术方案:

第一方面,本申请提供一种硬盘管理方法,应用于服务器,所述服务器包括BMC、至少一个背板以及多块硬盘,每一块硬盘通过背板上的端口插入,并通过其所插入背板上的复杂可编程逻辑器件(英文:Complex Programmable Logic Device,缩写:CPLD)与所述BMC连接,每一个CPLD预先配置有第一寄存器和第二寄存器,所述第一寄存器用于存储硬盘所在背板的背板编号,所述第二寄存器用于存储硬盘所在端口的端口编号,所述方法包括:

所述BMC从目标硬盘读取硬盘参数;

所述BMC从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号,所述目标CPLD为与所述目标硬盘所在端口连接的CPLD;

所述BMC记录读取的背板编号、端口编号以及硬盘参数之间的对应关系。

可选的,所述BMC包括与各背板分别对应的至少一个第一接口,所述第一接口为BMC上与背板上CPLD连接的接口,所述BMC从目标CPLD的第一寄存器读取背板编号之前,所述方法还包括:

针对每一个第一接口,所述BMC根据已布局的接口与背板上CPLD的连接关系,确定该第一接口对应背板;

所述BMC通过该第一接口向该第一接口所连接CPLD的第一寄存器,写入该第一接口对应背板的背板编号。

可选的,所述BMC从所述目标CPLD的第二寄存器读取端口编号之前,所述方法还包括:

当所述目标CPLD检测到所述目标硬盘所在端口的硬件信号时,向本CPLD中第二寄存器写入该端口的端口编号。

可选的,所述BMC还包括与各背板分别对应的至少一个第二接口,所述第二接口为BMC上通过选路模块与背板上硬盘以及CPLD连接的接口,所述BMC从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号,包括:

所述BMC通过访问所述目标硬盘的第二接口,从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号。

可选的,所述BMC记录读取的背板编号、端口编号以及硬盘参数之间的对应关系之后,所述方法还包括:

所述BMC向BMC管理界面推送所述背板编号、端口编号以及硬盘参数之间的对应关系。

第二方面,本申请提供一种服务器,所述服务器包括BMC、至少一个背板以及多块硬盘,每一块硬盘通过背板上的端口插入,并通过其所插入背板上的CPLD与所述BMC连接,每一个CPLD预先配置有第一寄存器和第二寄存器,所述第一寄存器用于存储硬盘所在背板的背板编号,所述第二寄存器用于存储硬盘所在端口的端口编号,

所述BMC,用于从目标硬盘读取硬盘参数;

所述BMC,还用于针对当前正在访问的目标硬盘,从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号,所述目标CPLD为与所述目标硬盘所在端口连接的CPLD;

所述BMC,还用于记录读取的背板编号、端口编号以及硬盘参数之间的对应关系。

可选的,所述BMC包括与各背板分别对应的至少一个第一接口,所述第一接口为BMC上与背板上CPLD连接的接口,

所述BMC,还用于针对每一个第一接口,根据已布局的接口与背板上CPLD的连接关系,确定该第一接口对应背板;

所述BMC,还用于通过该第一接口向该第一接口所连接CPLD的第一寄存器,写入该第一接口对应背板的背板编号。

可选的,所述目标CPLD,用于当检测到所述目标硬盘所在端口的硬件信号时,向本CPLD中第二寄存器写入该端口的端口编号。

可选的,所述BMC还包括与各背板分别对应的至少一个第二接口,所述第二接口为BMC上通过选路模块与背板上硬盘以及CPLD连接的接口,

所述BMC,具体用于通过访问所述目标硬盘的第二接口,从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号。

可选的,所述BMC,还用于向BMC管理界面推送所述背板编号、端口编号以及硬盘参数之间的对应关系。

由以上描述可以看出,本申请实施例中,由于背板与CPLD之间的关系固定,CPLD与端口之间的连接关系固定(通过背板上的印制线连接),因此,CPLD可准确获取到硬盘所在背板信息以及端口信息,并存储在CPLD的寄存器中,BMC通过读取硬盘中的硬盘参数以及读取CPLD寄存器中的背板编号、端口编号,可准确确定硬盘参数与硬盘位置的对应关系,从而提升硬盘管理准确性。

附图说明

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

图1是本申请实施例示出的一种服务器的结构示意图;

图2是本申请实施例示出的一种硬盘管理方法流程图;

图3是本申请实施例示出的一种更新第一寄存器的实现流程。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。

在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,为本申请实施例示出的一种服务器结构示意图。该服务器包括2个背板,分别为背板1和背板2;每个背板上有3个端口,分别为端口1~端口3;每一个端口可插入一块硬盘,比如,硬盘1~硬盘3分别插入背板1的端口1~端口3,硬盘4~硬盘6分别插入背板2的端口1~端口3。

硬盘插入端口后,通过端口与CPLD间的印制线(亦称为PCB线)与CPLD建立电气连接,该CPLD还可直接和间接(通过选路模块)与BMC连接。

这里,需要说明的是,CPLD与选路模块之间通常采用物理线缆连接,该物理线缆为硬盘的数据线缆。也就是说,硬盘的数据线除了与CPLD连接,还要与选路模块连接,且每一块硬盘的物理线缆对应连接选路模块的一个通道。比如,硬盘1的线缆1连接到选路模块1的通道1;硬盘2的线缆2连接到选路模块1的通道2;以此类推。

参见图2,为本申请实施例示出的一种硬盘管理方法流程图,该流程可包括以下步骤:

步骤201,BMC从目标硬盘读取硬盘参数。

这里,目标硬盘可为BMC当前访问的任一硬盘。可以理解的是,之所以称为目标硬盘,只是为便于区分而进行的命名,并非用于限定。

硬盘参数包括但不限于硬盘容量、硬盘转速、访问时间等硬盘自身相关信息。

步骤202,BMC从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号。

本申请实施例中,每一个CPLD均预先配置有两个寄存器,分别为第一寄存器和第二寄存器。可以理解的是,之所以称为第一寄存器、第二寄存器,只是为了便于区分而进行的命名,并非用于限定。

其中,第一寄存器用于存储硬盘所在背板的背板编号;第二寄存器用于存储硬盘所在端口的端口编号。

当BMC访问目标硬盘时,与该目标硬盘所在端口连接的CPLD(以下称为目标CPLD)中第一寄存器的值会更新为目标硬盘所在背板的背板编号,目标CPLD中第二寄存器的值会更新为目标硬盘所在端口的端口编号,因此,本步骤可通过读取目标CPLD中第一寄存器的值和第二寄存器的值,获取目标硬盘所在背板的背板编号和目标硬盘所在端口的端口编号。

步骤203,BMC记录读取的背板编号、端口编号以及硬盘参数之间的对应关系。

比如,BMC通过步骤201读取到硬盘1的硬盘参数(记为参数1);通过步骤202读取到硬盘1所在背板的背板编号为1,读取到硬盘1所在端口的端口编号为1,则可生成表1所示对应关系:

表1

至此,完成图2所示流程。

通过图2所示流程可以看出,本申请实施例中,由于背板与CPLD之间的关系固定,CPLD与端口之间的连接关系固定(通过背板上的印制线连接),因此,CPLD可准确获取到硬盘所在背板信息以及端口信息,并存储在CPLD的寄存器中,BMC通过读取硬盘中的硬盘参数以及读取CPLD寄存器中的背板编号、端口编号,可准确确定硬盘参数与硬盘位置的对应关系,从而提升硬盘管理准确性。

下面对更新CPLD中第一寄存器的过程进行描述。参见图3,为本申请实施例示出的一种更新第一寄存器的实现流程。

如图3所示,该流程可包括以下步骤:

步骤301,针对每一个第一接口,BMC根据已布局的接口与背板CPLD的连接关系,确定该第一接口对应背板。

这里,第一接口为BMC上与背板CPLD连接的接口。比如,图1中,接口1和接口3。可以理解的是,之所以称为第一接口,只是为便于区分而进行的命名,并非用于限定。

BMC针对每一个第一接口,根据已布局的接口与背板CPLD的连接关系,确定该第一接口对应背板。比如,图1中,已布局接口1连接背板1上的CPLD1;接口3连接背板2上的CPLD2,因此,可确定接口1对应背板为背板1,接口3对应背板为背板2。

步骤302,BMC通过该第一接口向该第一接口所连接CPLD的第一寄存器,写入该第一接口对应背板的背板编号。

仍以接口1和接口3为例,BMC通过步骤301确定接口1对应背板为背板1后,可通过接口1向接口1所连接CPLD1的第一寄存器中,写入背板1的背板编号;同理,BMC通过步骤301确定接口3对应背板为背板2后,可通过接口3向接口3所连接CPLD2的第一寄存器中,写入背板2的背板编号。

至此,完成图3所示流程。

通过图3所示流程可实现对CPLD中第一寄存器的设置。这里,需要说明的是,由于CPLD所属背板固定,比如,CPLD1固定位于背板1上,CPLD2固定位于背板2上,因此,BMC仅需在启动时设置一次CPLD中第一寄存器的值(背板编号)即可。

下面对更新CPLD中第二寄存器的过程进行描述。

作为一个实施例,当目标CPLD检测到目标硬盘所在端口的硬件信号(比如,硬盘在位信号、数据信号等)时,向本CPLD的第二寄存器中写入该检测到硬件信号的端口的端口编号。

这里,需要说明的是,CPLD通过背板上的印制线与背板上各端口连接,因此,当选路模块选通目标硬盘所在端口时,目标CPLD可检测到(感知到)该端口上的硬件信号,确定该端口为目标硬盘所在端口,将该端口的端口编号写入本CPLD的第二寄存器中。

可以看出,本申请实施例中,第二寄存器中端口编号会随着访问硬盘的不同(硬盘所在端口不同)发生变化,以保证第二寄存器中始终保存正在访问的硬盘所在端口的端口编号。

作为一个实施例,BMC还包括与各背板分别对应的至少一个第二接口,该第二接口为BMC上通过选路模块与背板上硬盘以及CPLD连接的接口。可以理解的是,之所以称为第二接口,只是为便于区分而进行的命名,并非用于限定。

比如,图1中,接口2和接口4,其中,接口2通过选路模块1与背板1上各硬盘以及CPLD1连接;接口4通过选路模块2与背板2上各硬盘以及CPLD2连接。

此外,如前所述,BMC还通过第一接口连接CPLD,并通过第一接口向CPLD的第一寄存器中写入背板编号。比如,图1中,BMC通过接口1向CPLD1的第一寄存器写入背板1的背板编号;通过接口3向CPLD2的第一寄存器写入背板2的背板编号。

可以看出,本申请中,同一CPLD与BMC上两个接口(第一接口和第二接口)存在连接关系。比如,CPLD1与BMC上接口1(第一接口)和接口2(第二接口)存在连接关系;CPLD2与BMC上接口3(第一接口)和接口4(第二接口)存在连接关系。作为一个示例,同一CPLD连接的第一接口和第二接口可均为集成电路总线(英文:Inter-Integrated Circuit,缩写:IIC)接口。

本申请实施例中,CPLD可自身模拟成两台设备(比如,IIC设备),分别在其对应的第一接口和第二接口上呈现。

基于此,BMC通过第一接口向CPLD的第一寄存器写入数据(背板编号)后,可通过连接该CPLD的第二接口,读取该CPLD中第一寄存器的数据。

因此,步骤202中,BMC可通过访问目标硬盘的第二接口,从目标CPLD的第一寄存器读取背板编号,以及从目标CPLD的第二寄存器读取端口编号。比如,图1中,BMC可通过访问硬盘2的接口2,读取之前通过接口1向CPLD1中第一寄存器写入的背板编号,并读取第二寄存器中的端口编号。

此外,还需要补充说明的是,BMC可将通过步骤203记录的硬盘参数与背板编号、端口编号之间的对应关系,推送至BMC管理界面显示,以使用户直观感知硬盘参数与硬盘安装位置的对应关系。

下面仍以图1所示服务器为例进行说明。

作为一个实施例,该服务器插入的硬盘可为非易失性内存标准(英文:Non-Volatile Memory Express,缩写:NVMe)硬盘。该服务器包括的BMC可通过IIC接口(接口1~接口4)对各硬盘进行管理。

其中,BMC通过接口1和接口2连接CPLD1,该CPLD1模拟成两台IIC设备分别呈现在接口1和接口2上;BMC通过接口3和接口4连接CPLD2,该CPLD2模拟成两台IIC设备分别呈现在接口3和接口4上。

此外,CPLD1和CPLD2还均配置有两个寄存器,分别记为REG[0]和REG[1],其中,REG[0]用于存储背板编号;REG[1]用于存储端口编号。

当BMC启动时,BMC可通过接口1向CPLD1的REG[0]中写入背板1的背板编号,比如,1;通过接口3向CPLD2的REG[0]中写入背板2的背板编号,比如,2。

当BMC通过接口4访问硬盘5(即,选路模块2选通端口2对应通道1)时,CPLD2可感知到端口2上的硬件信号,因此,确定当前被访问硬盘位于端口2上,则CPLD2将端口2的端口编号,比如,2,写入CPLD2的REG[1]中。

BMC读取硬盘5中的硬盘参数(记为参数2);并通过接口4读取CPLD2中的REG[0]和REG[1],可得到背板编号“2”和端口编号“2”,BMC记录参数2与背板编号“2”以及端口编号“2”之间的对应关系,并将该对应关系推送至BMC管理界面显示,以使用户直观感知硬盘5的硬盘参数与硬盘5所在安装位置(背板2上的端口2)的对应关系。

从上述描述可以看出,无论硬盘5对应的线缆5连接在选路模块2的哪一个通道上,都不影响本申请准确获取到硬盘的安装位置信息,进而准确确定硬盘参数与硬盘安装位置的对应关系,有效提升硬盘管理准确性。

以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的服务器进行描述:

所述服务器包括BMC、至少一个背板以及多块硬盘,每一块硬盘通过背板上的端口插入,并通过其所插入背板上的CPLD与所述BMC连接,每一个CPLD预先配置有第一寄存器和第二寄存器,所述第一寄存器用于存储硬盘所在背板的背板编号,所述第二寄存器用于存储硬盘所在端口的端口编号,

所述BMC,用于从目标硬盘读取硬盘参数;

所述BMC,还用于针对当前正在访问的目标硬盘,从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号,所述目标CPLD为与所述目标硬盘所在端口连接的CPLD;

所述BMC,还用于记录读取的背板编号、端口编号以及硬盘参数之间的对应关系。

作为一个实施例,所述BMC包括与各背板分别对应的至少一个第一接口,所述第一接口为BMC上与背板上CPLD连接的接口,

所述BMC,还用于针对每一个第一接口,根据已布局的接口与背板上CPLD的连接关系,确定该第一接口对应背板;

所述BMC,还用于通过该第一接口向该第一接口所连接CPLD的第一寄存器,写入该第一接口对应背板的背板编号。

作为一个实施例,所述目标CPLD,用于当所述目标CPLD检测到所述目标硬盘所在端口的硬件信号时,向本CPLD中第二寄存器写入该端口的端口编号。

作为一个实施例,所述BMC还包括与各背板分别对应的至少一个第二接口,所述第二接口为BMC上通过选路模块与背板上硬盘以及CPLD连接的接口,

所述BMC,具体用于通过访问所述目标硬盘的第二接口,从目标CPLD的第一寄存器读取背板编号,从目标CPLD的第二寄存器读取端口编号。

作为一个实施例,所述BMC,还用于向BMC管理界面推送所述背板编号、端口编号以及硬盘参数之间的对应关系。

至此,完成对服务器的描述。本申请实施例中,由于背板与CPLD之间的关系固定,CPLD与端口之间的连接关系固定(通过背板上的印制线连接),因此,CPLD可准确获取到硬盘所在背板信息以及端口信息,并存储在CPLD的寄存器中,BMC通过读取硬盘中的硬盘参数以及读取CPLD寄存器中的背板编号、端口编号,可准确确定硬盘参数与硬盘位置的对应关系,从而提升硬盘管理准确性。

以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 一种服务器硬盘信息管理方法、装置、设备及介质
  • 一种云硬盘管理方法、装置、服务器及介质
技术分类

06120113823060