一种硬盘定位方法、装置、电子设备及存储介质转让专利

申请号 : CN201910686388.8

文献号 : CN110427308B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 平景轲

申请人 : 新华三技术有限公司成都分公司

摘要 :

本公开提出一种硬盘定位方法、装置、电子设备及存储介质,涉及服务器技术领域。利用BMC根据硬盘定位请求确定目标硬盘的逻辑位置,根据目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配确定目标硬盘的物理位置,从而使背板控制器控制对应位置的定位灯状态切换实现硬盘的定位,可以脱离OS或BIOS的限制实现硬盘定位灯的状态切换识别硬盘,降低了服务器硬盘维护对业务的影响,也降低了运维的权限要求。用户无需登录OS或BIOS,可以在服务器保证业务正常运行的情况下帮助用户准确地识别目标硬盘。

权利要求 :

1.一种硬盘定位方法,其特征在于,所述方法应用于背板控制器,所述硬盘定位方法包括:接收BMC发送的第一定位灯控制指令,所述第一定位灯控制指令包括目标硬盘的物理位置和第一定位灯状态切换指示;

根据所述第一定位灯状态切换指示,改变所述目标硬盘的物理位置对应的定位灯的状态;

所述背板控制器还接收由磁盘阵列卡发送的第二定位灯控制指令,所述第二定位灯控制指令包括所述目标硬盘的物理位置和第二定位灯状态切换指示,所述根据所述第一定位灯状态切换指示,改变所述目标硬盘的物理位置对应的定位灯的状态的步骤包括:若所述第一定位灯状态切换指示及所述第二定位灯状态切换指示均为灭灯指示,则控制所述定位灯熄灭;

若所述第一定位灯状态切换指示及所述第二定位灯状态切换指示中的至少一个为亮灯指示,则控制所述定位灯点亮。

2.一种硬盘定位装置,其特征在于,所述硬盘定位装置应用于背板控制器,所述硬盘定位装置包括:接收模块,用于接收BMC发送的第一定位灯控制指令,所述第一定位灯控制指令包括目标硬盘的物理位置和第一定位灯状态切换指示;

控制模块,用于根据所述第一定位灯状态切换指示,改变所述目标硬盘的物理位置对应的定位灯的状态;

所述接收模块还用于接收由磁盘阵列卡发送的第二定位灯控制指令,所述第二定位灯控制指令包括所述目标硬盘的物理位置和第二定位灯状态切换指示;

当所述接收模块同时接收到第一定位灯控制指令和第二定位灯控制指令时;所述控制模块还用于当所述第一定位灯状态切换指示及所述第二定位灯状态切换指示均为灭灯指示时,控制定位灯熄灭;当所述第一定位灯状态切换指示及所述第二定位灯状态切换指示中的至少一个为亮灯指示时,控制定位灯点亮。

3.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1所述的硬盘定位方法的步骤。

4.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于运行计算计程序以执行如权利要求1所述的硬盘定位方法的步骤。

说明书 :

一种硬盘定位方法、装置、电子设备及存储介质

技术领域

[0001] 本公开涉及服务器技术领域,具体而言,涉及一种硬盘定位方法、装置、电子设备及存储介质。

背景技术

[0002] 现有技术可以登录操作系统(operating system,OS)或基本输入输出系统(Basic Input Output System,BIOS),通过硬盘管理工具点亮硬盘的定位灯,在一定程度上识别硬盘,但是正常应用中维护人员是没有办法在OS或BIOS下进行操作的。一方面,涉及业务的保密性,OS登录密码是不开放给维护人员的,也就是说用户无法登录到OS下借用硬盘管理工具点亮硬盘定位灯。另一方面由于登录需要重启OS进入到BIOS操作会导致业务中断,所以大多数情况下也不具有可操作性。
[0003] 综上,目前用户无法在不通过OS或BIOS的情况下完成硬盘定位或识别的工作。

发明内容

[0004] 有鉴于此,本公开的目的在于提供一种硬盘定位方法、装置、电子设备及存储介质,以改善现有的服务器硬盘维护需要登录OS或BIOS才能够实现硬盘定位的问题。
[0005] 为了实现上述目的,本公开实施例采用的技术方案如下:
[0006] 第一方面,本公开实施例提供了一种硬盘定位方法,所述硬盘定位方法应用于基板管理控制器BMC,所述硬盘定位方法包括:根据用户的硬盘定位请求确定目标硬盘的逻辑位置;将所述目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,获得与所述目标硬盘的逻辑位置对应的所述目标硬盘的物理位置;所述硬盘物理位置拓扑信息包含每个硬盘的逻辑位置与每个硬盘的物理位置的对应关系;根据所述目标硬盘的物理位置向背板控制器发送定位灯控制指令,以使所述背板控制器控制与所述目标硬盘的物理位置对应的定位灯切换状态。
[0007] 第二方面,本公开实施例提供了一种硬盘定位方法,所述方法应用于背板控制器,所述硬盘定位方法包括:接收BMC发送的第一定位灯控制指令,所述第一定位灯控制指令包括目标硬盘的物理位置和第一定位灯状态切换指示;根据所述第一定位灯状态切换指示,改变所述目标硬盘的物理位置对应的定位灯的状态。
[0008] 第三方面,本公开实施例提供了一种硬盘定位装置,所述硬盘定位装置应用于BMC,所述硬盘定位装置包括:处理模块,用于根据用户的硬盘定位请求确定目标硬盘的逻辑位置;所述处理模块还用于将所述目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,获得与所述目标硬盘的逻辑位置对应的目标物理位置;其中,所述硬盘物理位置拓扑信息包含每个硬盘的逻辑位置与物理位置的对应关系;发送模块,用于根据所述目标物理位置向背板控制器发送定位灯控制指令,以使所述背板控制器控制与所述目标物理位置对应的定位灯的状态改变。
[0009] 第四方面,本公开实施例提供了一种硬盘定位装置,所述硬盘定位装置应用于背板控制器,所述硬盘定位装置包括:接收模块,用于接收BMC发送的第一定位灯控制指令,所述第一定位灯控制指令包括目标硬盘的物理位置和第一定位灯状态切换指示;控制模块,用于根据所述第一定位灯状态切换指示,改变所述目标硬盘的物理位置对应的定位灯的状态。
[0010] 第五方面,本公开实施例提供了一种电子设备,所述电子设备包括处理器,所述处理器用于运行计算计程序以执行上述的硬盘定位方法的步骤。
[0011] 第六方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的硬盘定位方法的步骤。
[0012] 相对现有技术,本公开具有以下有益效果:本公开实施例提供的一种硬盘定位方法、装置、电子设备及存储介质,利用BMC根据用户的硬盘定位请求确定目标硬盘的逻辑位置;将所述目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,获得与所述目标硬盘的逻辑位置对应的所述目标硬盘的物理位置;然后根据所述目标硬盘的物理位置向背板控制器发送定位灯控制指令,以使所述背板控制器控制与所述目标硬盘的物理位置对应的定位灯切换状态。通过BMC维护硬盘物理位置拓扑信息,使BMC根据用户的硬盘定位请求确定目标硬盘的逻辑位置,然后根据目标硬盘的逻辑位置即可确定目标硬盘的物理位置,从而使背板控制器控制对应位置的定位灯状态切换实现硬盘的定位或识别,无须登录OS或BIOS进行操作,可以脱离OS或BIOS的限制,实现了硬盘定位灯的带外控制,降低了服务器硬盘维护对业务的影响,也降低了运维的权限要求,用户无需登录OS或BIOS即可通过BMC完成硬盘定位,可以在保证业务正常运行的情况下帮助用户准确的识别目标硬盘。
[0013] 为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0014] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
[0015] 图1示出了现有的硬盘定位灯点亮的示意框图。
[0016] 图2示出了一种服务器的硬盘部署示意图。
[0017] 图3示出了本公开实施例提供的一种硬盘定位方法应用场景示意图。
[0018] 图4示出了本公开实施例提供的一种硬盘定位方法的流程示意图。
[0019] 图5示出了本公开实施例提供的另一种硬盘定位方法的流程示意图。
[0020] 图6示出了本公开实施例提供的另一种硬盘定位方法的流程示意图。
[0021] 图7示出了本公开实施例提供的另一种硬盘定位方法的流程示意图。
[0022] 图8示出了本公开实施例提供的另一种硬盘定位方法的流程示意图。
[0023] 图9示出了本公开实施例提供的另一种硬盘定位方法的流程示意图。
[0024] 图10示出了本公开实施例提供的另一种硬盘定位方法的流程示意图。
[0025] 图11示出了本公开实施例提供的另一种硬盘定位方法的流程示意图。
[0026] 图12示出了本公开实施例提供的硬盘定位方法的信令交互示意图。
[0027] 图13示出了本公开实施例提供的一种硬盘定位装置的功能模块图。
[0028] 图14示出了本公开实施例提供的一种硬盘定位装置的功能单元示意图。
[0029] 图15示出了本公开实施例提供的另一种硬盘定位装置的功能模块图。
[0030] 图16示出了本公开实施例提供的一种电子设备的示意框图。
[0031] 图标:100‑硬盘定位装置;110‑接收模块;111‑第一接收单元;112‑第二接收单元;113‑第三接收单元;120‑处理模块;130‑发送模块;200‑硬盘定位装置;210‑接收模块;220‑控制模块;300‑电子设备;310‑处理器;320‑总线;330‑存储器。

具体实施方式

[0032] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。
[0033] 因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0034] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0035] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0036] 服务器配置有多块硬盘,在服务器的运维过程中一项重要的操作就是硬盘更换。硬盘的更换出错的比例较高,由于硬盘的数量多,硬盘的信息除了与安装的背板位置相关外,还跟所连接的数据线相关,硬盘是通过连接串行小型计算机系统接口(Serial Attached Small Computer System Interface,SAS)控制器或串行高级技术附件(Serial Advanced Technology Attachment,SATA)控制器将信息呈现给服务器主机,例如,通过磁盘阵列(Redundant Array of Independent Disks,RAID)卡呈现硬盘信息,而RAID卡呈现硬盘信息是以RAID卡端口信息作为索引的,呈现的并非物理机上的位置,硬盘更换操作存在映射关系,服务器不同配置下的映射关系不同,硬盘丝印规则也无统一规范,增大了确定硬盘位置的复杂度。
[0037] 请参阅图1,图1示出了现有的硬盘定位灯点亮的示意框图。其中,服务器通过磁盘阵列(Redundant Array of Independent Disks,RAID)卡配置多块硬盘,配置的硬盘安装在背板(Backplane)上。RAID卡可以采集其配置的每一个硬盘的基本信息,硬盘的基本信息包括硬盘的逻辑位置、硬盘的序列(Serial Number,SN)号、硬盘的容量以及硬盘的工作状态等内容。
[0038] 逻辑地址指在计算机体系结构中应用程序角度看到的内存单元(memory cell)、存储单元(storage element)、网络主机(network host)等的地址。硬盘的逻辑位置由RAID卡维护,不同类型RAID卡的端口数量不同,能够配置的硬盘数量也不同。RAID卡呈现硬盘则是以RAID卡端口信息作为索引的,呈现的并非物理机上的位置,因此硬盘更换操作天然的存在映射关系,即硬盘逻辑位置与物理位置之间的映射关系,服务器不同配置下的映射关系不同,因此更加增加了定位硬盘位置的难度。
[0039] RAID卡将配置的硬盘信息发送至服务器主机,用户可以通过服务器主机的OS或BIOS,控制RAID卡向背板控制器发出串行通用输入输出端口(Serial General‑purpose input/output,SGPIO)点灯命令,背板控制器解析SGPIO点灯命令从而实现相应位置的硬盘的定位灯点亮完成硬盘的定位。
[0040] 进一步地,图1中的RAID卡可以配置多块硬盘,下面给出其一种可能的实现形式,具体的,图2示出了一种服务器的硬盘部署示意图,该服务器最多支持安装24块硬盘,此处以16个硬盘位置为例进行说明。例如,16块硬盘可以分别连接在2张8端口RAID卡下,或者连接在一张16端口的RAID卡下。如果16块硬盘分别连接在2张8端口的RAID卡下,那么硬盘会呈现两组0~7的逻辑地址,如果16块硬盘连接在一张16端口的RAID卡下,则硬盘呈现的逻辑地址为0~15。
[0041] 如图2所示,本实施例提供的服务器包括8口的硬盘驱动器(Hard Disk Drive,HDD)背板2块和非易失性快速存储器(Non‑Volatile Memory express,NVMe)背板1块,背板具有多个插口,多个硬盘对应安装在背板的插口上,插口即为硬盘对应的物理位置,背板控制器可以采集各个硬盘的物理位置,例如,硬盘A安装在插口BOX1‑0,则插口BOX1‑0为硬盘A的物理位置,硬盘B安装在插口BOX2‑1,则插口BOX2‑1为硬盘B的物理位置,其中,BOX1‑0、BOX2‑1均为背板上插口的编号。
[0042] 如果该服务器配置两张8端口的RAID卡,假设分别安装在高速串行计算机扩展总线标准(Peripheral Component Interconnect express,PCIe)插槽2和插槽5,将PCIe插槽2的RAID卡记作卡1,将PCIe插槽5的RAID卡记作卡2;如果配置一张16口的RAID卡,则将该卡记作卡1,对于16口卡可以按照表1所示的方式进行配置:
[0043] 物理位置 BOX1‑0 BOX1‑1 BOX1‑2 BOX1‑3 BOX1‑4 BOX1‑5 BOX1‑6 BOX1‑7组合1逻辑位置 卡1‑0 卡1‑1 卡1‑2 卡1‑3 卡1‑4 卡1‑5 卡1‑6 卡1‑7组合2逻辑位置 卡1‑0 卡1‑1 卡1‑2 卡1‑3 卡1‑4 卡1‑5 卡1‑6 卡1‑7物理位置 BOX2‑0 BOX2‑1 BOX2‑2 BOX2‑3 BOX2‑4 BOX2‑5 BOX2‑6 BOX2‑7组合1逻辑位置 卡2‑0 卡2‑1 卡2‑2 卡2‑3 卡2‑4 卡2‑5 卡2‑6 卡2‑7组合2逻辑位置 卡1‑8 卡1‑9 卡1‑10 卡1‑11 卡1‑12 卡1‑13 卡1‑14 卡1‑15[0044] 表1
[0045] 基于上述图1给出的服务器架构,目前可以通过对硬盘定位灯的状态进行切换达到定位硬盘的目的,当前该功能主要有两种呈现方式:一种是通过使用硬盘管理工具在OS侧点亮特定硬盘的定位灯;另一种是使用BIOS下的硬盘管理工具点亮特定硬盘的定位灯。但是在服务器正常的运行过程中,维护人员是没有办法在OS或BIOS下进行定位操作的。具体的,当服务器处于业务运行状态下,用户需要通过登录OS来触发相应地定位功能。而由于服务器安全性的考量,往往需要登录密码来进行OS的登录,对于硬盘定位功能的实现,造成不便。同时,当用户登录OS后,需要中断该服务器当前的业务,以通过BIOS触发定位功能,从而影响了服务器正常的业务运行。
[0046] 综上所述,为了改善上述缺陷,本公开实施例提出一种硬盘定位方法、装置、电子设备及存储介质,通过基板管理控制器(Baseboard Management Controller,BMC)直接与硬盘背板的背板控制器进行交互,来对硬盘实现定位,通过避免登录OS或BIOS,实现一种便捷且不影响服务器正常业务的硬盘定位方案。
[0047] 下面,对本公开实施例提供的一种硬盘定位方法进行详细阐述。图3示出了本公开实施例提供的硬盘定位方法的架构示意图,该方法的执行主体为BMC,BMC可以采集服务器上的除私有业务本身之外的信息,并能够将采集的信息提供给上层运维网管软件,例如,BMC会提供各种各样的接口供上层网管查询,如WEB、命令行等人机接口,以及简单网络管理协议(Simple Network Management Protocol,SNMP)、智能平台管理接口(Intelligent Platform Management Interface,IPMI)等机机接口,因此可以通过BMC实现本实施例提供的硬盘定位方法。
[0048] 在图3所示的BMC基础上,下面给出一种硬盘定位方法的可能的实现方式,具体的,图4为本公开实施例提供的一种硬盘定位方法的流程示意图,参见图4,该方法包括:
[0049] 步骤110,根据用户的硬盘定位请求确定目标硬盘的逻辑位置。
[0050] 其中,用户的硬盘定位请求可以包含目标硬盘的唯一标识,可选地,可以将硬盘的序列号、逻辑位置或逻辑编号等硬盘的唯一特征作为硬盘的唯一标识,也即是说,硬盘的唯一标识与硬盘的序列号、逻辑位置或逻辑编号具有对应关系,BMC可以根据目标硬盘的唯一标识确定目标硬盘的逻辑位置。
[0051] 步骤120,将目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,获得与目标硬盘的逻辑位置对应的目标硬盘的物理位置。
[0052] 硬盘物理位置拓扑信息包含每个硬盘的逻辑位置与每个硬盘的物理位置的对应关系,BMC将目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,确定目标硬盘的逻辑位置对应的物理位置,即为目标硬盘的物理位置。
[0053] 例如,在一种可能的实施方式中,若BMC维护的硬盘物理位置拓扑信息如表2所示。
[0054]物理位置 BOX1‑0 BOX1‑1 BOX1‑2 BOX1‑3 BOX1‑4 BOX1‑5 BOX1‑6 BOX1‑7逻辑位置 卡1‑0 卡1‑1 卡1‑2 卡1‑3 卡1‑4 卡1‑5 卡1‑6 卡1‑7
物理位置 BOX2‑0 BOX2‑1 BOX2‑2 BOX2‑3 BOX2‑4 BOX2‑5 BOX2‑6 BOX2‑7逻辑位置 卡1‑8 卡1‑9 卡1‑10 卡1‑11 卡1‑12 卡1‑13 卡1‑14 卡1‑15[0055] 表2
[0056] 以硬盘定位请求包含的目标硬盘的唯一标识为硬盘的逻辑位置为例,BMC可以直接根据硬盘定位请求确定目标硬盘的逻辑位置,例如,若目标硬盘的逻辑位置为卡1‑0,则通过该逻辑位置与硬盘物理位置拓扑信息进行匹配可以获得卡1‑0对应的物理位置为BOX1‑0。
[0057] 以硬盘定位请求包含的目标硬盘的唯一标识为硬盘序列号等信息为例,BMC首先根据硬盘的唯一标识与硬盘信息匹配确定对应的目标硬盘的逻辑位置,然后根据目标硬盘的逻辑位置与硬盘物理位置拓扑信息匹配确定目标硬盘的物理位置。例如,若硬盘定位请求中包含的唯一标识为硬盘序列号D123456,BMC首先根据硬盘序列号D123456确定对应的逻辑位置,即目标硬盘的逻辑位置,例如,若确定目标硬盘的逻辑位置为卡2‑3,则通过该逻辑位置与硬盘物理位置拓扑信息进行匹配可以获得卡2‑3对应的物理位置为BOX1‑11。由BMC将目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,无需通过BIOS或者OS即可以快速精确地获得目标硬盘的物理位置,降低了服务器硬盘维护对业务的影响,也降低了运维的权限要求,用户无需登录主机的OS或切换主机至BIOS下,可以在保证业务正常运行的情况下帮助用户准确的识别目标硬盘,避免出现拔错盘的情况。
[0058] 步骤130,根据目标硬盘的物理位置向背板控制器发送定位灯控制指令,以使背板控制器控制与目标硬盘的物理位置对应的定位灯切换状态。
[0059] 定位灯控制指令包含目标硬盘的物理位置以及定位灯状态切换指示,其中,定位灯状态切换指示包括亮灯指示或灭灯指示,例如,若用户欲通过熄灭某一块硬盘的定位灯对硬盘进行定位,则定位灯状态切换指示为灭灯指示,若用户欲通过点亮某一块硬盘的定位灯对硬盘进行定位,则定位灯状态切换指示为亮灯指示。
[0060] BMC发送定位灯控制指令至背板控制器,以使背板控制器控制目标硬盘的物理位置对应的定位灯按照定位灯状态切换指示进行切换,实现硬盘的定位。例如,若定位灯控制指令包含的信息为将物理位置BOX1‑5的硬盘对应的定位灯点亮,背板控制器则给予背板上BOX1‑5位置处的硬盘的定位灯一个电信号,使定位灯点亮,完成硬盘的定位。
[0061] 本公开实施例提供的硬盘定位方法,通过由BMC根据用户的请求确定目标硬盘的逻辑位置,BMC存储有硬盘物理位置拓扑信息,根据目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配从而确定目标硬盘的物理位置,利用BMC可以屏蔽硬件差异,无须登录OS或BIOS,由BMC即可完成目标硬盘的物理位置确定,由BMC向背板控制器发送定位灯控制指令,该定位灯控制指令包含目标硬盘的物理位置以及定位灯状态切换指示,以使背板控制器控制相应的定位灯切换状态,实现硬盘的识别,降低了硬盘的运行维护的权限门槛,同时也减小了对服务器正常业务的影响。
[0062] BMC存储有硬盘物理位置拓扑信息,在这之前,首先要根据每一个硬盘的逻辑位置和每一块硬盘的物理位置生成硬盘物理位置拓扑信息,每一个硬盘的逻辑位置和每一个硬盘的物理位置可以由BMC主动或被动地获取,在图4的基础上,图5为本公开实施例提供的另一种硬盘定位方法的流程示意图,请参阅图5,在步骤110之前,该硬盘定位方法还包括:
[0063] 步骤101,分别获取每个硬盘的逻辑位置和每个硬盘的物理位置。
[0064] 在步骤110之前,BMC还需要获取每个硬盘的逻辑位置和每个硬盘的物理位置,硬盘的逻辑位置由RAID卡维护,RAID卡呈现硬盘则是以RAID卡端口信息作为索引的,因此RAID卡的卡端口即为硬盘的逻辑位置。硬盘的物理位置由背板控制器维护,背板控制器可以维护多块背板,每一块背板包括多个插口,背板的插口即为硬盘的物理位置。
[0065] 步骤102,根据配置信息将每个硬盘的逻辑位置与每个硬盘的物理位置进行匹配形成硬盘物理位置拓扑信息。
[0066] 在对服务器进行配置时其配置信息即已经确定,对服务器的硬盘进行配置即是将硬盘的物理位置与逻辑位置进行分配对应。BMC可以通过访问服务器存储的配置信息以获取服务器的配置,还可以通过将配置文件导入BMC使BMC识别配置文件获取配置信息,本公开实施例对此不做限定。BMC获取服务器的配置信息后,根据服务器的配置信息将每个硬盘的逻辑位置与每个硬盘的物理位置进行匹配,得到每个硬盘的逻辑位置与物理位置的对应关系,形成硬盘物理位置拓扑信息。
[0067] 在图5的基础上,参阅图6,步骤101具体包括:
[0068] 步骤101‑1,获取磁盘阵列卡发送的每个硬盘的逻辑位置。
[0069] 步骤101‑2,获取背板控制器发送的每个硬盘的物理位置。
[0070] 在本公开实施例中,每个硬盘的逻辑位置由RAID卡维护,BMC可以从RAID卡发送的硬盘信息中获取每一个硬盘的逻辑位置,硬盘信息由RAID卡采集,硬盘信息包括硬盘的逻辑位置、硬盘的序列号、硬盘的容量以及硬盘的工作状态等。可选地,BMC可以发送一个请求指令至RAID卡,RAID卡响应BMC发送的请求指令将采集的每个硬盘的硬盘信息发送至BMC,BMC接收RAID卡发送的硬盘信息,从而获取每个硬盘的逻辑位置。
[0071] BMC还可以从背板控制器发送的背板信息中获取每个硬盘的物理位置。背板控制器可以采集背板信息,例如,背板的类型、背板的数量、背板的插口数量、插口的工作状态(是否安装有硬盘)以及背板的插口类型(例如,适用2.5寸硬盘或适用3.5寸硬盘等),可以理解地,硬盘安装在背板的插口上,插口的编号即为硬盘的物理位置。可选地,BMC可以向背板控制器发送请求指令,接收背板控制器发送的背板信息,从接收的背板信息中获取每个硬盘的物理位置。
[0072] 需要说明的是,步骤101‑1和步骤101‑2可以是并行的,二者不存在逻辑上的先后关系。
[0073] BMC需要在硬盘信息中确定每一个硬盘的逻辑位置,在背板信息中确定每一个硬盘的物理位置,因此在步骤101之前,硬盘定位方法还包括接收硬盘信息及背板信息的步骤,在图6的基础上,本公开实施例还提供了一种硬盘定位方法,参阅图7,图7示出了本公开实施例提供的另一种硬盘定位方法,在步骤101之前,硬盘定位方法还包括:
[0074] 步骤100:接收硬盘信息及背板信息。
[0075] BMC接收硬盘信息及背板信息,其中,硬盘信息包括硬盘的逻辑位置、硬盘的序列号、硬盘的容量以及硬盘的工作状态等内容;背板信息包括背板的类型、背板的数量、背板的插口数量、插口的工作状态(是否安装有硬盘)、背板的插口类型(例如,适用2.5寸硬盘或适用3.5寸硬盘等)以及硬盘的物理位置等信息。BMC接收硬盘信息及背板信息,将硬盘信息及背板信息存储。
[0076] 参阅图8,步骤100包括:
[0077] 步骤100‑1:接收RAID卡发送的硬盘信息。
[0078] 硬盘信息由RAID卡采集并发送至BMC,BMC接收RAID卡发送的硬盘信息并存储。
[0079] 步骤100‑2:接收背板控制器发送的背板信息。
[0080] 背板信息由背板控制器采集并发送至BMC,BMC接收背板控制器发送的背板信息并存储。
[0081] 需要说明的是,步骤100‑1和步骤100‑2可以是并行的,二者不存在逻辑上的先后关系。
[0082] 在图7的基础上,本公开实施例还提供了另一种硬盘定位方法,继续参阅图8,在步骤100‑1之后,还包括:
[0083] 步骤103:将硬盘信息进行可视化处理以进行显示。
[0084] BMC接收硬盘信息后,将硬盘信息进行可视化处理以便于用户浏览,例如,可以通过WEB显示硬盘信息,但不限于此。
[0085] 可以理解地,在本公开实施例中,BMC对硬盘的定位操作是基于用户发出的硬盘定位请求而进行的,在图8的基础上,本公开实施例还提供了另一种硬盘定位方法,参阅图9,在步骤110之前,硬盘定位方法还包括:
[0086] 步骤104:接收用户的硬盘定位请求。
[0087] 对于用户而言,对硬盘定位通过点亮硬盘的定位灯完成,但不限于此,使硬盘的定位灯切换状态即可完成硬盘的定位,可以理解地,于本公开实施例中,硬盘定位请求即是使硬盘定位灯状态切换的请求。例如,使某一块硬盘的定位灯由亮转灭,即完成硬盘的定位,或者,使某一块硬盘的定位灯由灭转亮,也可以完成硬盘的定位,在本实施例的其他实施方式中,用户还可以通过使硬盘的定位灯连续切换状态(使硬盘的定位灯闪烁)以实现硬盘的定位。BMC接收用户的硬盘定位请求,以根据该硬盘定位请求完成硬盘的定位。
[0088] 可以理解地,硬盘定位请求包括目标硬盘的标识,该标识包括但不限于硬盘的逻辑编号或逻辑位置以及序列号等。
[0089] 在图3所示的背板控制器的基础上,下面给出另一种硬盘定位方法的可能的实现方式,具体的,图10为本公开实施例提供的另一种硬盘定位方法的流程示意图,该硬盘定位方法的执行主体是背板控制器,需要说明的是,背板控制器用于控制管理背板,以及完成背板与BMC的信息和指令的交互。例如,背板控制器可以采用复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、单片机或现场可编程门阵列(Field‑Programmable Gate Array,FPGA)等其他具有相同或相似功能的器件,其中,每一块背板可以由一个背板控制器独立控制,也可以是多块背板共同由一个背板控制器进行控制,本实施例对此不作限定。
[0090] 请参阅图10,该硬盘定位方法包括:
[0091] 步骤210:接收BMC发送的第一定位灯控制指令,其中,第一定位灯控制指令中包括目标硬盘的物理位置和第一定位灯状态切换指示。
[0092] 背板控制器接收BMC发送的第一定位灯控制指令,其中,第一定位灯控制指令中包括目标硬盘的物理位置和第一定位灯状态切换指示。背板控制器维护管理多块背板,例如,于本公开实施例中,背板控制器维护8口的HDD背板2块和8口的NVMe背板1块。当BMC根据硬盘物理位置拓扑信息确定目标硬盘的物理位置后,发送第一定位灯控制指令至背板控制器,例如,第一定位灯控制指令中目标硬盘的物理位置为BOX2‑3,第一定位灯状态切换指示为亮灯指示。
[0093] 步骤220:根据第一定位灯状态切换指示,改变目标硬盘的物理位置对应的定位灯的状态。
[0094] 背板控制器接收BMC发送的第一定位灯控制指令后对第一定位灯控制指令进行解析,例如,解析第一定位灯控制指令中目标硬盘的物理位置为BOX2‑3,解析第一定位灯状态切换指示为亮灯指示,则背板控制器给BOX2‑3的硬盘的定位灯输送电信号以使定位灯点亮,也即控制第二块背板的第三个插口的定位灯的状态切换为点亮状态。
[0095] 本公开实施例提供的硬盘定位方法,通过BMC向背板控制器发送定位灯控制指令,背板控制器接收BMC发送的定位灯控制指令,从而获得目标硬盘的物理位置以及定位灯状态切换指示,然后控制目标硬盘的物理位置对应的定位灯切换状态,由BMC即可完成目标硬盘的物理位置确定,然后背板控制器控制定位灯改变状态完成识别,无须登录OS或者BIOS,降低了运行维护的权限要求,也不会中断正在进行的业务。
[0096] 现有技术中实现硬盘定位只能通过BIOS或OS通过RAID卡点亮硬盘的定位灯,参阅图11,在图10的基础上,本公开实施例还提供了另一种硬盘定位方法,在实现通过带外方式利用BMC控制硬盘定位灯的情况下仍然可以保留带内RAID卡对硬盘状态灯的控制权。
[0097] 在一种可能的实施方式中,背板控制器还可以接收由RAID卡发送的第二定位灯控制指令,第二定位灯控制指令包括目标硬盘的物理位置和第二定位灯状态切换指示,当背板控制器同时接收到第一定位灯控制指令和第二定位灯控制指令时,背板控制器结合RAID卡和BMC下发的内容综合判断,步骤220包括:
[0098] 步骤220‑1:若第一定位灯状态切换指示及第二定位灯状态切换指示均为灭灯指示,则控制定位灯熄灭。
[0099] 步骤220‑2:若第一定位灯状态切换指示及第二定位灯状态切换指示中的至少一个为亮灯指示时,则控制定位灯点亮。
[0100] 当背板控制器同时接收到BMC发送的第一定位灯控制指令和RAID卡发送的第二定位灯控制指令时,若第一定位灯控制指令和第二定位灯控制指令中包含的目标硬盘的物理位置一致,则按照如下表3所示的优先级控制定位灯状态。
[0101] 第一定位灯状态切换指示 第二定位灯状态切换指示 定位灯状态亮灯指示 亮灯指示 亮
亮灯指示 灭灯指示 亮
灭灯指示 亮灯指示 亮
灭灯指示 灭灯指示 灭
[0102] 表3
[0103] 若第一定位灯状态切换指示及第二定位灯状态切换指示中至少有一个为亮灯指示时,则控制定位灯切换为点亮状态,若第一定位灯状态切换指示及第二定位灯状态切换指示均为灭灯指示,则控制定位灯状态切换为灭灯状态,能够在利用BMC控制定位灯状态的同时保留原有的控制方法,使本公开提供的硬盘定位方法适用范围更广泛。
[0104] 例如,若RAID卡发送的第一定位灯控制指令为使第一块背板的第一个插口的硬盘的定位灯熄灭,BMC发送的第二定位灯控制指令为使第一块背板的第一个插口的硬盘的定位灯熄灭,背板控制器根据第一定位灯控制指令及第二定位灯控制指令综合判断,控制第一块背板的第一个插口的硬盘定位灯点亮。
[0105] 下面对于上述实施例的流程给出一个完整的流程实现方式进行说明,具体的,图12示出了本公开实施例提供的硬盘定位方法的信令交互示意图,下面结合图3及图12对上述实施例的流程进行介绍,其中,服务器侧包括BMC、RAID卡及背板控制器,用户通过与BMC进行交互即可实现与服务器侧的交互,完成硬盘的识别定位。
[0106] 该方法流程包括:
[0107] 步骤100:BMC接收硬盘信息及背板信息。
[0108] 具体地,步骤100包括:
[0109] 步骤100‑1,BMC接收RAID卡发送的硬盘信息。
[0110] 其中,每一个硬盘具有其独特的硬盘信息,硬盘信息包括硬盘的逻辑编号或逻辑位置、容量、工作状态以及序列号等。
[0111] 步骤100‑2,BMC接收背板控制器发送的背板信息。
[0112] 背板信息包括背板类型,插口数量,插口的工作状态、类型以及硬盘的物理位置等信息。
[0113] 在接收硬盘信息之后,该方法流程包括:
[0114] 步骤103、将硬盘信息进行可视化处理以进行显示。
[0115] BMC接收硬盘信息及背板信息,对硬盘信息及背板信息进行处理,根据配置信息匹配形成硬盘物理位置拓扑信息,该方法流程包括:
[0116] 步骤101,分别获取每一个硬盘的逻辑位置和物理位置。
[0117] 步骤102,根据配置信息将每一个硬盘的逻辑位置和每一个硬盘的物理位置匹配形成硬盘物理位置拓扑信息。
[0118] BMC根据服务器的硬盘配置信息,将每一个硬盘的逻辑位置及每一个硬盘的物理位置一一对应形成硬盘物理位置拓扑信息。
[0119] 步骤104,接收用户的硬盘定位请求。
[0120] 步骤110,根据用户的硬盘定位请求确定目标硬盘的逻辑位置。
[0121] 可选地,用户的硬盘定位请求中包含目标硬盘的唯一标识,唯一标识可以是硬盘的序列号、逻辑位置或逻辑编号等硬盘的唯一特征。若硬盘定位请求包含的唯一标识为目标硬盘的逻辑位置时,BMC根据硬盘定位请求即可确定目标硬盘的逻辑位置;若硬盘定位请求包含的唯一标识为序列号或其他信息时,BMC将目标硬盘的唯一标识与硬盘信息进行匹配,确定目标硬盘对应的逻辑位置。
[0122] 步骤120,将目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配获得对应目标硬盘的物理位置。
[0123] 确定硬盘的逻辑位置后,BMC将目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,以确定目标硬盘的物理位置。
[0124] 步骤130,根据目标硬盘的物理位置向背板控制器发送定位灯控制指令,以使背板控制器控制与目标硬盘的物理位置对应的定位灯切换状态。
[0125] BMC向背板控制器发送定位灯控制指令,其中,定位灯控制指令包括目标硬盘的物理位置以及定位灯状态切换指示,定位灯状态切换指示可以为亮灯指示或灭灯指示。
[0126] 步骤210,背板控制器接收BMC发送的第一定位灯控制指令。
[0127] BMC发送的第一定位灯控制指令包括目标硬盘的物理位置以及第一定位灯状态切换指示。
[0128] 步骤220,背板控制器根据第一定位灯状态切换指示,改变目标硬盘的物理位置对应的定位灯的状态。
[0129] 背板控制器解析第一定位灯控制指令,控制目标硬盘的物理位置对应的定位灯状态按照第一定位灯状态指示进行切换,完成硬盘的定位识别。
[0130] 为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种硬盘定位装置的实现方式。请参阅图13,图13为本公开实施例提供的一种硬盘定位装置100的功能模块图。需要说明的是,本实施例所提供的硬盘定位装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出,可参考上述实施例中的相应内容。该硬盘定位装置100应用于BMC,下面结合图3及图13对该硬盘定位装置100进行介绍,该硬盘定位装置100包括:接收模块110、处理模块120及发送模块130。
[0131] 该接收模块110,用于接收硬盘信息、背板信息及用户的硬盘定位请求。
[0132] 可选地,该接收模块110具体可以用于执行上述各个图中的步骤100、步骤104,以实现对应的技术效果。
[0133] 可选地,在图13的基础上,参阅图14,接收模块110包括:第一接收单元111、第二接收单元112及第三接收单元113。
[0134] 第一接收单元111用于接收背板控制器发送的背板信息。
[0135] 可选地,该第一接收单元111具体可以用于执行上述各个图中的步骤100‑2,以实现对应的技术效果。
[0136] 第二接收单元112用于接收RAID卡发送的硬盘信息。
[0137] 可选地,该第二接收单元112具体可以用于执行上述各个图中的步骤100‑1,以实现对应的技术效果。
[0138] 第三接收单元113用于接收用户的硬盘定位请求。
[0139] 可选地,该第三接收单元113具体可以用于执行上述各个图中的步骤104,以实现对应的技术效果。
[0140] 处理模块120用于分别获取每一个硬盘的逻辑位置和物理位置,并根据配置信息将逻辑位置与物理位置匹配形成硬盘物理位置拓扑信息。
[0141] 可选地,该处理模块120具体可以用于执行上述各个图中的步骤101及步骤102,以实现对应的技术效果。
[0142] 处理模块120还用于根据用户的硬盘定位请求确定目标硬盘的逻辑位置。
[0143] 可选地,处理模块120具体还可以用于执行上述各个图中的步骤110,以实现对应的技术效果。
[0144] 处理模块120还用于将目标硬盘的逻辑位置与硬盘物理位置拓扑信息进行匹配,获得与目标硬盘的逻辑位置对应的目标硬盘的物理位置。
[0145] 可选地,处理模块120具体还可以用于执行上述各个图中的步骤120,以实现对应的技术效果。
[0146] 该发送模块130用于根据目标硬盘的物理位置向背板控制器发送定位灯控制指令,以使背板控制器控制与目标硬盘的物理位置对应的定位灯切换状态。
[0147] 可选地,发送模块130具体可以用于执行上述各个图中的步骤130,以实现对应的技术效果。
[0148] 本公开实施例还给出了另一种硬盘定位装置的实现方式。请参阅图15,图15为本公开实施例提供的另一种硬盘定位装置200的功能模块图。需要说明的是,本实施例所提供的硬盘定位装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出,可参考上述实施例中的相应内容。该硬盘定位装置200应用于背板控制器,下面结合图3及图15对该硬盘定位装置200进行介绍,该硬盘定位装置200包括:接收模块210及控制模块220。
[0149] 该接收模块210用于接收BMC发送的第一定位灯控制指令,第一定位灯控制指令包括目标硬盘的物理位置和第一定位灯状态切换指示。
[0150] 可选地,该接收模块210具体可以用于执行上述图中的步骤210,以实现对应的技术效果。
[0151] 该控制模块220,用于根据第一定位灯状态切换指示,改变目标硬盘的物理位置对应的定位灯的状态。
[0152] 可选地,该控制模块220具体可以用于执行上述图中的步骤220,以实现对应的技术效果。
[0153] 该控制模块220可以对BMC发送的第一定位灯控制指令进行解析,例如,解析得到第一定位灯控制指令中目标硬盘的物理位置为BOX2‑3、第一定位灯状态切换指示为亮灯指示,则控制模块220控制第二块背板的第三个插口安装的硬盘的定位灯切换至点亮状态。
[0154] 在一种可能的实施方式中,该接收模块210还可以接收由RAID卡发送的第二定位灯控制指令,第二定位灯控制指令包括目标硬盘的物理位置和第二定位灯状态切换指示,当该接收模块210同时接收到第一定位灯控制指令和第二定位灯控制指令时,该控制模块220结合RAID卡和BMC发送的内容综合判断,对硬盘定位灯的状态进行控制。
[0155] 该控制模块220用于当第一定位灯状态切换指示及第二定位灯状态切换指示均为灭灯指示时,控制定位灯熄灭。
[0156] 该控制模块220用于当第一定位灯状态切换指示及第二定位灯状态切换指示中的至少一个为亮灯指示时,控制定位灯点亮。
[0157] 若第一定位灯控制指令中包含的目标硬盘的物理位置和第二定位灯控制指令包含的目标硬盘的物理位置一致时,则该控制模块220对来自RAID卡的控制指令和来自BMC的控制指令进行优先级判断,若第一定位灯状态切换指示及第二定位灯状态切换指示中的至少一个为亮灯指示时,即控制目标硬盘的物理位置对应的定位灯点亮;若第一定位灯状态切换指示及第二定位灯状态切换指示均为灭灯指示,则控制定位灯熄灭。通过上述的设计,在通过BMC控制硬盘定位灯的同时保留了传统的通过OS或BIOS利用RAID卡对硬盘定位灯的控制方式,使本公开实施例提供的硬盘定位方法的适用范围更加广泛。
[0158] 参阅图16,图16示出了本公开实施例提供的电子设备300的示意框图。电子设备300包括处理器310、总线320及存储器330。处理器310通过总线320与存储器330连接。
[0159] 电子设备300可以是集成的服务器或特殊用途的计算机,两者都可以用于实现本公开实施例的硬盘定位方法,电子设备300还可以是简单的控制器如基板管理控制器、背板控制器等,当电子设备300为基板管理控制器或背板控制器时,其可以与服务器或计算机的主板处于同一物理空间内。
[0160] 存储器330用于存储程序,例如图13所示的硬盘定位装置100或图14所示的硬盘定位装置200,硬盘定位装置100或硬盘定位装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器330中或固化在电子设备300的操作系统(operating system,OS)中的软件功能模块,处理器310在接收到执行指令后,执行所述程序以实现发明上述实施例揭示的硬盘定位方法。
[0161] 存储器330可能包括高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失存储器(non‑volatile memory,NVM)。
[0162] 处理器310可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器310可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、微控制单元(Microcontroller Unit,MCU)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、嵌入式ARM等芯片。
[0163] 本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器310执行时实现上述实施例揭示的硬盘定位方法。
[0164] 综上所述,本公开实施例提供的一种硬盘定位方法、装置、电子设备及存储介质,利用BMC维护硬盘物理位置拓扑信息,使BMC根据目标硬盘的逻辑位置即可确定目标硬盘的物理位置,从而使背板控制器控制对应位置的定位灯状态切换实现硬盘的定位,脱离了OS或BIOS的限制实现硬盘定位灯的带外控制,降低了服务器硬盘维护对业务的影响,也降低了运维的权限要求,用户无需登录OS或BIOS即可通过BMC完成硬盘的定位识别,可以在保证业务正常运行的情况下帮助用户准确的识别目标硬盘,避免出现拔错盘的情况,不需要额外的权限即可完成硬盘定位,提高了用户的工作效率。
[0165] 在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0166] 另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0167] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0168] 以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。