一种通过osd自动监控和定位故障硬盘的方法及装置与流程

1.本发明涉及故障定位领域,尤其是一种通过osd自动监控和定位故障硬盘的方法及装置。

背景技术


::2.osd:objectstoragedevice,主要负责响应客户端请求返回具体数据的守护进程,一般一个ceph(ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件存储系统)集会有多个osd组成,每个一块硬盘或者一个分区都对应一个osd守护进程,因为每个osd守护进程直接与本地的硬盘相关联,因此osd出现故障或者配置osd再或者重启osd等操作都需要在osd对应的硬盘所在的服务器上进行,例如vms81上存在的osd为0、1、2,vms82上存在osd为3、4、5,操作osd0只能登陆vms81上进行操作,操作osd5只能登陆vms82进行操作,例如某个osd出现了异常,首先需要定位该osd所在服务器,然后进一步定位该osd对应的硬盘是否出现故障,因为存在服务器同时出现多个硬盘故障或者osd已经自动迁移到其他服务器上,定位信息需要考虑多维信息,那么如何实时精准监控和定位osd对应的具体硬盘位置,缩短osd异常时定位故障硬盘位置时间,提高故障发现效率是本方案需要解决的问题。技术实现要素:3.为解决现有技术存在的问题,本发明提供一种通过osd自动监控和定位故障硬盘的方法及装置,通过实时精准监控和定位osd对应的具体硬盘位置,缩短osd异常时定位故障硬盘位置时间,提高故障发现效率。4.为实现上述目的,本发明采用下述技术方案:5.在本发明一实施例中,提出了一种通过osd自动监控和定位故障硬盘的方法,该方法包括:6.s01、通过cephosdtree获取osd所在的服务器地址,将osd和对应的服务器地址存入到列表中;7.s02、循环读取列表list_osd登录到服务器,以vms81为例,通过df查看与服务器上osd编号匹配的挂载点路径;8.s03、通过查询到的挂载点路径查相应的block路径,使用dmsetuptable查询block路径对应的id;9.s04、根据上一步输出的路径获取id编号,再次使用dmsetuptable查询block路径对应的id;10.s05、将id转换为ls-l/dev/sd*可以识别的格式;11.s06、通过ls-l/dev/sd*查询vms81获取id对应的硬盘位置,对比s05输出内容,将符合条件的存入到列表list_first中;12.如s05输出的osd.0:up:vms81:/var/lib/ceph-0:8,32中的8,32和s06中ls-l/dev/sd*输出的brw-rw‑‑‑‑1rootdisk8,322月162021/dev/sdb中的8,32两者进行比较,相同的则截取硬盘位置存入列表。13.s07、固定时间段通过cephosdtree|grepdown|wc-l确定一次osd状态。14.进一步地,所述s06中符合条件为:s05输出的内容和s06输出的内容两者进行比较,相同的则截取硬盘位置存入列表。15.进一步地,所述s07包括:16.s071、osd状态均为up,固定时间段循环读取list_first列表,按照s02-s06步骤重新获取相应信息更新list_first列表;17.s072、osd状态存在down的则立即触发查询更新list_first列表。18.在本发明一实施例中,还提出了一种通过osd自动监控和定位故障硬盘的装置,该装置包括:19.地址读取模块、通过cephosdtree获取osd所在的服务器地址,将osd和对应的服务器地址存入到列表中;20.列表读取模块、循环读取列表list_osd登录到服务器,通过df查看与服务器上osd编号匹配的挂载点路径;21.id一次读取模块、通过查询到的挂载点路径查相应的block路径,使用dmsetuptable查询block路径对应的id;22.id二次读取模块、根据上一步输出的路径获取id编号,再次使用dmsetuptable查询block路径对应的id;23.id转换模块、将id转换为ls-l/dev/sd*可以识别的格式;24.对比与写入模块、通过ls-l/dev/sd*查询获取id对应的硬盘位置,对比id转换模块输出内容,将符合条件的存入到列表list_first中;25.osd状态确定模块、固定时间段通过cephosdtree|grepdown|wc-l确定一次osd状态。26.进一步地,所述对比与写入模块中符合条件为:id转换模块输出的内容和对比与写入模块输出的内容两者进行比较,相同的则截取硬盘位置存入列表。27.进一步地,所述osd状态确定模块包括:28.osd状态均为up模块、固定时间段循环读取list_first列表,按照列表读取模块、id一次读取模块、id二次读取模块、id转换模块、对比与写入模块、osd状态确定模块重新获取相应信息更新list_first列表;29.osd状态存在down模块、立即触发查询更新list_first列表。30.在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述通过osd自动监控和定位故障硬盘的方法。31.在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行通过osd自动监控和定位故障硬盘的方法的计算机程序。32.有益效果:33.本发明通过df查看与该服务器上osd编号匹配的挂载点路径,查看挂载点路径对应的block路径,再通过dmsetuptable查看该路径对应的标记,将标记转换格式,比对即可确定该osd对应的硬盘位置;通过实时精准监控和定位osd对应的具体硬盘位置,缩短osd异常时定位故障硬盘位置时间,提高故障发现效率是本方案需要解决的问题。附图说明34.图1是本发明通过osd自动监控和定位故障硬盘的方法实施例的流程示意图;35.图2是本发明通过osd自动监控和定位故障硬盘的装置结构示意图;36.图3是本发明一实施例的计算机设备结构示意图。具体实施方式37.下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。38.本发明涉及的专业名词及其解释:39.cephosdtree:查看osd状态及其所在的服务器;40.df:检查文件系统的磁盘空间占用情况,可现实磁盘挂载点路径;41.block:存储块(空间);42.dmsetuptable:查看物理设备到虚拟设备的映射表命令;43.ls-l/dev/:查看/dev目录下文件:44.cephosdtree|grepdown|wc-l:查询osd是否存在down的(异常)。45.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。46.根据本发明的实施方式,提出了一种通过osd自动监控和定位故障硬盘的方法及装置,通过实时精准监控和定位osd对应的具体硬盘位置,缩短osd异常时定位故障硬盘位置时间,提高故障发现效率。47.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。48.该方法包括:49.s01、通过cephosdtree获取osd所在的服务器地址,将osd和对应的服务器地址存入到列表中;50.s02、循环读取列表list_osd登录到服务器,以vms81为例,通过df查看与服务器上osd编号匹配的挂载点路径;51.s03、通过查询到的挂载点路径查相应的block路径,使用dmsetuptable查询block路径对应的id;52.s04、根据上一步输出的路径获取id编号,再次使用dmsetuptable查询block路径对应的id;53.s05、将id转换为ls-l/dev/sd*可以识别的格式;54.s06、通过ls-l/dev/sd*查询vms81获取id对应的硬盘位置,对比s05输出内容,将符合条件的存入到列表list_first中;55.如s05输出的osd.0:up:vms81:/var/lib/ceph-0:8,32中的8,32和s06中ls-l/dev/sd*输出的brw-rw‑‑‑‑1rootdisk8,322月162021/dev/sdb中的8,32两者进行比较,相同的则截取硬盘位置存入列表。56.s07、固定时间段通过cephosdtree|grepdown|wc-l确定一次osd状态。57.进一步地,所述s06中符合条件为:s05输出的内容和s06输出的内容两者进行比较,相同的则截取硬盘位置存入列表。58.进一步地,所述s07包括:59.s071、osd状态均为up,固定时间段循环读取list_first列表,按照s02-s06步骤重新获取相应信息更新list_first列表;60.s072、osd状态存在down的则立即触发查询更新list_first列表。61.需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。62.为了对上述通过osd自动监控和定位故障硬盘的方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。63.如图1所示:64.s01:通过cephosdtree获取osd所在的服务器地址,将osd和对应的服务器地址存入到列表中65.66.将osd和对应的服务器地址存入列表list_osd:67.[‘osd.0:up:vms81’,’osd.1:up:vms81’,’osd.2:up:vms81’,‘osd.3:up:vms82’,’osd.4:up:vms82’,’osd.5:up:vms82’][0068]s02:循环读取列表list_osd登录到服务器,以vms81为例,通过df查看与服务器上osd编号匹配的挂载点路径[0069][0070][0071]获取osd编号匹配的挂载点路径:[0072]osd.0:up:vms81:/var/lib/ceph-0[0073]osd.1:up:vms81:/var/lib/ceph-1[0074]osd.2:up:vms81:/var/lib/ceph-2[0075]s03:通过查询到的挂载点路径查相应的block路径,进一步使用dmsetuptable查询block路径对应的id:[0076][root@vms81~]#ls-l/var/lib/ceph-0|grepblock[0077]lrwxrwxrwx1cephceph938月1715:52block-》/dev/ceph-e9c466ad-7fb5-4773-9665-6cb444c65d6d/osd-block-f1b5a8b5-0bc7-431b-b392-2640ccf3ef20[0078][root@vms81~]#ls-l/var/lib/ceph-1|grepblock[0079]lrwxrwxrwx1cephceph938月1715:53block-》/dev/ceph-e9c496ad-8fb5-4773-9664-7cb4u4c65d6d/osd-block-g1b5a8b5-0bc7-831b-b392-2640ccf3ef21[0080][root@vms81~]#ls-l/var/lib/ceph-2|grepblock[0081]lrwxrwxrwx1cephceph938月1715:53block-》/dev/ceph-e9c496ad-8fb5-4773-9664-7cu4u4c6dd6d/osd-block-gub5a8b5-0bc7-931b-4392-2y40ccf3ef22[0082]s04:根据s03输出,进一步使用dmsetuptable查询block路径对应的id:[0083][root@vms81~]#dmsetuptable/dev/ceph-e9c466ad-7fb5-4773-9665-6cb444c65d6d/osd-block-f1b5a8b5-0bc7-431b-b392-2640ccf3ef20[0084]041934848linear8:322048//id编号为8:32[0085][root@vms81~]#dmsetuptable/dev/ceph-e9c496ad-8fb5-4773-9664-7cb4u4c65d6d/osd-block-g1b5a8b5-0bc7-831b-b392-2640ccf3ef21[0086]041934848linear8:332048//id编号为8:33[0087][root@vms81~]#dmsetuptable/dev/ceph-e9c496ad-8fb5-4773-9664-7cu4u4c6dd6d/osd-block-gub5a8b5-0bc7-931b-4392-2y40ccf3ef22[0088]041934848linear8:372048//id编号为8:37[0089]s05:将id转换为ls-l/dev/sd*可以识别的格式:[0090]osd.0:up:vms81:/var/lib/ceph-0:8,32[0091]osd.1:up:vms81:/var/lib/ceph-1:8,33[0092]osd.2:up:vms81:/var/lib/ceph-2:8,37[0093]s06:通过ls-l/dev/sd*查询获取id对应的硬盘位置,对比s05输出内容,将符合条件的存入到列表list_first中:[0094][root@vms81~]#ls-l/dev/sd*[0095]brw-rw‑‑‑‑1rootdisk8,02月162021/dev/sda[0096]brw-rw‑‑‑‑1rootdisk8,12月162021/dev/sda1[0097]brw-rw‑‑‑‑1rootdisk8,22月162021/dev/sda2[0098]brw-rw‑‑‑‑1rootdisk8,322月162021/dev/sdb[0099]brw-rw‑‑‑‑1rootdisk8,332月162021/dev/sdc[0100]brw-rw‑‑‑‑1rootdisk8,372月162021/dev/sdd[0101][root@vms81~]#[0102]存入列表list_first:[0103][‘osd.0:up:vms81:/var/lib/ceph-0:8,32:/dev/sdb’,osd.1:up:vms81:/var/lib/ceph-1:8,[0104]33:/dev/sdc’,osd.2:up:vms81:/var/lib/ceph-2:8,37:/dev/sdc’][0105]同理登录vms82获取相应的信息,最后输出如下:[0106][‘osd.0:up:vms81:/var/lib/ceph-0:8,32:/dev/sdb’,osd.1:up:vms81:/var/lib/ceph-1:8,[0107]33:/dev/sdc’,osd.2:up:vms81:/var/lib/ceph-2:8,37:/dev/sdc’,‘osd.3:up:vms82:/var/lib/ceph-0:8,32:/dev/sdb’,osd.4:up:vms82:/var/lib/ceph-1:8,33:/dev/sdc’,osd.5:up:vms82:/var/lib/ceph-2:8,37:/dev/sdc’][0108]osd.0:up:vms81:/var/lib/ceph-0:8,32中的8,32和s06中ls-l/dev/sd*输出的brw-rw‑‑‑‑1rootdisk8,322月162021/dev/sdb中的8,32两者进行比较,相同的则截取硬盘位置存入列表。[0109]s07:每30秒通过cephosdtree|grepdown|wc-l确定一次osd状态,如果状态均为up,每五分钟循环读取list_first列表,按照上述流程重新获取相应信息更新list_first列表,如果状态有为down的则立即触发查询更新list_first列表,以vms81的osd.0为例。[0110][root@vms81init.d]#cephosdtree|grep-evms|down[0111]-3ꢀꢀꢀꢀꢀꢀꢀꢀ0.05800ꢀꢀꢀꢀꢀhostvms81[0112]0hdd0.01900ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀosd.0ꢀꢀꢀꢀꢀꢀꢀꢀdown1.000001.00000[0113][root@vms81init.d]#[0114]获取变为down的osd的编号和服务器地址为vms81存入列表list_osd[0115][‘osd.0:down:vms81’][0116]按照s02至s06步骤重新查询并更新list_first列表:[0117][‘osd.0:down:vms81:/var/lib/ceph-0:8,32:/dev/sdb’,osd.1:up:vms81:/var/lib/ceph-1:8,[0118]33:/dev/sdc’,osd.2:up:vms81:/var/lib/ceph-2:8,37:/dev/sdc’,‘osd.3:up:vms82:/var/lib/ceph-0:8,32:/dev/sdb’,osd.4:up:vms82:/var/lib/ceph-1:8,33:/dev/sdc’,osd.5:up:vms82:/var/lib/ceph-2:8,37:/dev/sdc’][0119]基于同一发明构思,本发明还提出一种通过osd自动监控和定位故障硬盘的装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。[0120]图2是本发明通过osd自动监控和定位故障硬盘的装置结构示意图。如图2所示,该装置包括:[0121]地址读取模块110、通过cephosdtree获取osd所在的服务器地址,将osd和对应的服务器地址存入到列表中;[0122]列表读取模块120、循环读取列表list_osd登录到服务器,通过df查看与服务器上osd编号匹配的挂载点路径;[0123]id一次读取模块130、通过查询到的挂载点路径查相应的block路径,使用dmsetuptable查询block路径对应的id;[0124]id二次读取模块140、根据上一步输出的路径获取id编号,再次使用dmsetuptable查询block路径对应的id;[0125]id转换模块150、将id转换为ls-l/dev/sd*可以识别的格式;[0126]对比与写入模块160、通过ls-l/dev/sd*查询获取id对应的硬盘位置,对比s05输出内容,将符合条件的存入到列表list_first中;[0127]osd状态确定模块170、固定时间段通过cephosdtree|grepdown|wc-l确定一次osd状态。[0128]所述对比与写入模块160中符合条件为:id转换模块150输出的内容和对比与写入模块160输出的内容两者进行比较,相同的则截取硬盘位置存入列表。[0129]所述osd状态确定模块170包括:[0130]osd状态均为up模块171、固定时间段循环读取list_first列表,按照s02-s06步骤重新获取相应信息更新list_first列表;[0131]osd状态存在down模块172、立即触发查询更新list_first列表。[0132]应当注意,尽管在上文详细描述中提及了通过osd自动监控和定位故障硬盘的装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。[0133]基于前述发明构思,如图3所示,本发明还提出一种计算机设备200,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时实现前述通过osd自动监控和定位故障硬盘的方法。[0134]基于前述发明构思,本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有执行前述通过osd自动监控和定位故障硬盘的方法的计算机程序。[0135]本发明提出的通过osd自动监控和定位故障硬盘的方法及装置,通过df查看与该服务器上osd编号匹配的挂载点路径,查看挂载点路径对应的block路径,再通过dmsetuptable查看该路径对应的标记,将标记转换格式,比对即可确定该osd对应的硬盘位置;通过实时精准监控和定位osd对应的具体硬盘位置,缩短osd异常时定位故障硬盘位置时间,提高故障发现效率是本方案需要解决的问题。[0136]虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。[0137]本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。[0138]用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。[0139]在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。[0140]为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。[0141]可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。[0142]计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。[0143]应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。[0144]上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。[0145]对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。当前第1页12当前第1页12

技术特征:


1.一种通过osd自动监控和定位故障硬盘的方法,其特征在于,该方法包括:s01、通过ceph osd tree获取osd所在的服务器地址,将osd和对应的服务器地址存入到列表中;s02、循环读取列表list_osd登录到服务器,通过df查看与服务器上osd编号匹配的挂载点路径;s03、通过查询到的挂载点路径查相应的block路径,使用dmsetup table查询block路径对应的id;s04、根据上一步输出的路径获取id编号,再次使用dmsetup table查询block路径对应的id;s05、将id转换为ls-l/dev/sd*可以识别的格式;s06、通过ls-l/dev/sd*查询获取id对应的硬盘位置,对比s05输出内容,将符合条件的存入到列表list_first中;s07、固定时间段通过ceph osd tree|grep down|wc-l确定一次osd状态。2.根据权利要求1所述的通过osd自动监控和定位故障硬盘的方法,其特征在于,所述s06中符合条件为:s05输出的内容和s06输出的内容两者进行比较,相同的则截取硬盘位置存入列表。3.根据权利要求2所述的通过osd自动监控和定位故障硬盘的方法,其特征在于,所述s07包括:s071、osd状态均为up,固定时间段循环读取list_first列表,按照s02-s06步骤重新获取相应信息更新list_first列表;s072、osd状态存在down的则立即触发查询更新list_first列表。4.一种通过osd自动监控和定位故障硬盘的装置,其特征在于,该装置包括:地址读取模块、通过ceph osd tree获取osd所在的服务器地址,将osd和对应的服务器地址存入到列表中;列表读取模块、循环读取列表list_osd登录到服务器,通过df查看与服务器上osd编号匹配的挂载点路径;id一次读取模块、通过查询到的挂载点路径查相应的block路径,使用dmsetup table查询block路径对应的id;id二次读取模块、根据上一步输出的路径获取id编号,再次使用dmsetup table查询block路径对应的id;id转换模块、将id转换为ls-l/dev/sd*可以识别的格式;对比与写入模块、通过ls-l/dev/sd*查询获取id对应的硬盘位置,对比id转换模块输出内容,将符合条件的存入到列表list_first中;osd状态确定模块、固定时间段通过ceph osd tree|grep down|wc-l确定一次osd状态。5.根据权利要求4所述的通过osd自动监控和定位故障硬盘的装置,其特征在于,所述对比与写入模块中符合条件为:id转换模块输出的内容和对比与写入模块输出的内容两者进行比较,相同的则截取硬盘位置存入列表。6.根据权利要求4所述的通过osd自动监控和定位故障硬盘的装置,其特征在于,所述
osd状态确定模块包括:osd状态均为up模块、固定时间段循环读取list_first列表,按照列表读取模块、id一次读取模块、id二次读取模块、id转换模块、对比与写入模块、osd状态确定模块重新获取相应信息更新list_first列表;osd状态存在down模块、立即触发查询更新list_first列表。7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-3任一项所述方法。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-3任一项所述方法的计算机程序。

技术总结


本发明公开一种通过osd自动监控和定位故障硬盘的方法及装置,方法包括:通过ceph osd tree获取osd所在服务器地址,将osd和对应服务器地址存入到列表中;循环读取列表list_osd登录到服务器,通过df查看与服务器上osd编号匹配的挂载点路径;通过查询到的挂载点路径查相应的block路径,使用dmsetup table查询block路径对应的id;根据上一步输出的路径获取id编号,再次使用dmsetup table查询block路径对应的id;将id转换为ls-l/dev/sd*可以识别的格式;通过ls-l/dev/sd*查询获取id对应的硬盘位置,对比上一步输出内容,将符合条件的存入到列表list_first中;固定时间段通过ceph osd tree|grep down|wc-l确定一次osd状态。该方法及装置通过监控和定位osd对应具体硬盘位置,缩短osd异常时定位故障硬盘位置的时间,提高故障发现效率。高故障发现效率。高故障发现效率。


技术研发人员:

王洪涛 王成 田维中

受保护的技术使用者:

中盈优创资讯科技有限公司

技术研发日:

2022.11.07

技术公布日:

2023/2/3

本文发布于:2024-09-25 08:29:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/54307.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:路径   模块   硬盘   列表
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议