CN112328173A - 一种分布式存储***磁盘故障修复方法及装置 - Google Patents
一种分布式存储***磁盘故障修复方法及装置 Download PDFInfo
- Publication number
- CN112328173A CN112328173A CN202011165795.3A CN202011165795A CN112328173A CN 112328173 A CN112328173 A CN 112328173A CN 202011165795 A CN202011165795 A CN 202011165795A CN 112328173 A CN112328173 A CN 112328173A
- Authority
- CN
- China
- Prior art keywords
- disk
- information
- list
- data directory
- directory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000000638 solvent extraction Methods 0.000 claims abstract description 19
- 230000008439 repair process Effects 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 17
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种分布式存储***磁盘故障更换方法及装置,包括:通过第一工具指令获取当前操作***的硬盘信息集,硬盘信息包括:磁盘设备名称;查询目录配置文件,以获取当前操作***的数据目录列表;逐一将数据目录列表中的数据与磁盘设备名称匹配以判断是否存在未挂载的数据目录;若存在未挂载的数据目录,则根据获取的当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘;对空闲磁盘依次进行磁盘分区、格式化及数据目录挂载。本说明书实施例的实施能够降低Hadoop***的运维复杂度与运维人力成本,实现了Hadoop磁盘故障的自动发现与处置。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种分布式存储***磁盘故障修复方法及装置。
背景技术
Hadoop分布式文件存储与计算***是目前大数据应用场景主流技术之一,其依赖大量磁盘作为存储媒介。通常,在HDFS(Hadoop Distributed File System)使用场景中,由于磁盘I/O负载长期较高,导致***存储类故障频发,因此,需频繁进行存储故障处置操作。
Hadoop***存储类故障处置步骤涉及服务器硬件、操作***和Hadoop***操作,需各领域运维人员相互配合进行手动处置,造成运维复杂与运维压力大。
因此,为降低运维强度和缓解运维压力,亟需提供一种分布式存储***磁盘故障修复方法及装置的技术方案,能够实现对Hadoop***存储类故障的自动化处置,降低其运维压力。
发明内容
针对现有技术的上述问题,本发明的目的在于提供一种分布式存储***磁盘故障更换方法及装置,能够实现对Hadoop***存储类故障的自动化处置,降低其运维压力。
第一方面,本发明提供一种分布式存储***磁盘故障更换方法,所述分布式存储***配置有至少一个服务器,每个所述服务器配置有至少一个空闲磁盘,所述方法包括:
通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;
查询目录配置文件,以获取当前操作***的数据目录列表;
逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;
若存在未挂载的数据目录,则根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘;
对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载。
进一步地、所述根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘包括:
获取所述当前操作***中所有的磁盘设备信息列表;
从以下至少一个***文件中获取非空闲状态的磁盘列表,所述***文件包括:挂载设备列表文件、挂载设备的静态信息文件、当前操作***中的交换空间文件、存在分区的设备列表文件及正在格式化的磁盘列表文件;
将所述磁盘设备信息列表中的磁盘设备与所述非空闲状态的磁盘列表中的磁盘设备一一匹配;
将匹配不通过的磁盘设备作为空闲磁盘。
进一步地、所述对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载之前还包括:
判断所述空闲磁盘对应的磁盘名称是否在黑名单中;
相应的,对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载是在所述空闲磁盘对应的磁盘名称不在黑名单中时进行的。
进一步地、还包括:
若所述空闲磁盘对应的磁盘名称不在黑名单中,则判断所述空闲磁盘的容量是否大于预设容量阈值;
相应的,对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载是在所述空闲磁盘对应的磁盘名称不在黑名单中且容量大于预设容量阈值时进行的。
进一步地、还包括:
若所述空闲磁盘的容量不大于预设容量阈值,则将所述空闲磁盘对应的磁盘名称添加至黑名单中。
进一步地、所述硬盘信息还包括:***接口设备编码;
所述方法还包括:
若不存在未挂载的数据目录,则判断所述磁盘信息中所述***接口设备编码与所述磁盘设备名称是否一一对应;
若所述***接口设备编码与所述磁盘设备名称存在未一一对应,则预设时间后重复执行:通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;查询目录配置文件,以获取当前操作***的数据目录列表;逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;若不存在未挂载的数据目录,则判断所述磁盘信息中所述***接口设备编码与所述磁盘设备名称是否一一对应;若所述***接口设备编码与所述磁盘设备名称仍存在未一一对应,则卸载该数据目录并在挂载设备的静态信息文件中删除对应的挂载信息。
进一步地、还包括:
若所述***接口设备编码与所述磁盘设备名称一一对应,则对所述***接口设备编码对应的目录文件是否存在只读问题;
若存在只读问题,则卸载所述目录文件并利用第二工具指令对目录文件对应的磁盘设备进行修复;
若修复成功,则将所述目录文件挂载至对应的磁盘设备上;
若修复失败,则在挂载设备的静态信息文件中删除对应的挂载信息。
进一步地、所述若修复失败,则在挂载设备的静态信息文件中删除对应的挂载信息之后还包括:
通过第三工具指令获取所述目录文件对应的磁盘主名称;
将所述磁盘主名称与所述硬盘信息比对,将比对通过的所述硬盘信息中的***接口设备编码发出告警信息,以使得订阅告警信息的人员获知磁盘对应的异常信息的内容。
第二方面,本发明提供一种分布式存储***磁盘故障更换装置,所述分布式存储***配置有至少一个服务器,每个所述服务器配置有至少一个空闲磁盘,所述装置包括:
硬盘信息获取模块,被配置为执行通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;
查询模块,被配置为执行查询目录配置文件,以获取当前操作***的数据目录列表;
第一判断模块,被配置为执行逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;
空闲磁盘确定模块,被配置为执行若存在未挂载的数据目录,则根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘;
挂载模块,被配置为执行对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载。
第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上述所述的一种分布式存储***磁盘故障更换方法。
本发明提供的一种分布式存储***磁盘故障更换方法及装置,具有如下有益效果:
本说明书实施例的实施将原来部分厂商和型号的磁盘密集型服务器需要通过运维工程师人工手动巡检的方式发现故障和异常的过程转化为定时自动巡检发现并告警的方式,有效避免了故障漏检、误检或发现不及时的风险,从而大大节约了企业人力运维成本,提高了运维工作的效率。并且,本说明书实施例的实施保证发出的告警均为自动巡检时新出现的故障,使故障信息不会淹没在大量的重复告警中,解决运维人员重复收到相同故障信息的困扰,使得新出现的故障能够被及时发现并处理,提高故障的发现率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明实施例提供的第一种分布式存储***磁盘故障更换方法的流程示意图;
图2为本发明实施例提供的第二种分布式存储***磁盘故障更换方法的流程示意图;
图3为本发明实施例提供的第三种分布式存储***磁盘故障更换方法的流程示意图;
图4为本发明实施例提供的第四种分布式存储***磁盘故障更换方法的流程示意图;
图5为本发明实施例提供的第五种分布式存储***磁盘故障更换方法的流程示意图;
图6为本发明实施例提供的第六种分布式存储***磁盘故障更换方法的流程示意图;
图7为本发明实施例提供的第七种分布式存储***磁盘故障更换方法的流程示意图;
图8为本发明实施例提供的一种分布式存储***磁盘故障更换装置的结构示意图;
图9为本发明实施例提供的一种分布式存储***磁盘故障更换设备的结构示意图。
其中,910-信息获取模块,920-第一写入模块,930-比对模块,940-第二写入模块,950-告警模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。为了便于理解本说明书实施例所述的技术方案及其产生的技术效果,本说明书实施例首先对于相关专业名词进行解释:
Hadoop:一种分布式***基础架构,可实现分布式文件存储以及数据的分布式计算处理。
数据:Hadoop集群存储实际数据的服务器。
文件***:操作***上负责管理和存储文件信息的软件机构。
磁盘挂载:操作***使一个存储设备(如磁盘)上的计算机文件和目录可供用户使用计算机的文件***进行访问的过程。
文件***只读:文件***只能进行读操作,无法写入数据。
如图1和图2所示,图1为本发明实施例提供的第一种分布式存储***磁盘故障更换方法的流程示意图,图2为本发明实施例提供的第二种分布式存储***磁盘故障更换方法的流程示意图,本发明提供一种分布式存储***磁盘故障更换方法,所述分布式存储***配置有至少一个服务器,每个所述服务器配置有至少一个空闲磁盘,所述方法包括:
S102、通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称。
在具体的实施过程中,所述第一工具指令可以是lsscsi,当前操作***可以通过lsscsi命令获取磁盘信息集,磁盘信息集可以包括多个磁盘信息,每个磁盘信息可以包括:***接口设备编码(即SCSI设备ID)、设备类型、设备厂商、型号、版本信息及磁盘设备名称。每个磁盘设备名称对应一个磁盘,每个磁盘对应有一个服务器,分布式存储***中至少设置有两个服务器分别用于控制和/或存储信息。当前操作***可以是分布式存储***。
S104、查询目录配置文件,以获取当前操作***的数据目录列表。
在具体的实施过程中,当前操作***可以查看Hadoop目录配置文件,目录配置文件中包含当前操作***的Hadoop数据目录列表。数据目录列表中包括多个表征磁盘信息的数据。
S106、逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录。
在具体的实施过程中,将数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录。
示例地、数据目录列表有A、B和C三个数据,硬盘信息集中有两个磁盘信息,对应两个磁盘设备名称为A’和B’,依次将A与A’和B’进行匹配,由于A和A’表征相同,因此可以确定A对应挂载有磁盘,同理可以确定B对应挂载有磁盘,由于C与A’和B’进行匹配并未匹配到对应的C’,因此确定出C’为挂载的数据。
S108、若存在未挂载的数据目录,则根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘。
在具体的实施过程中,如果存在未挂载的数据目录,则可以根据获取到的当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘。空闲磁盘可以表征为分布式存储***未对该磁盘进行数据分配。磁盘设备信息列表表征为分布式存储***连接的全部磁盘设备,非空闲状态的磁盘列表表征为分布式存储***连接的正在存储和/或控制的磁盘设备。
在一些可能的实施例中,所述根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘包括:
S1082、获取所述当前操作***中所有的磁盘设备信息列表;
S1084、从以下至少一个***文件中获取非空闲状态的磁盘列表,所述***文件包括:挂载设备列表文件、挂载设备的静态信息文件、当前操作***中的交换空间文件、存在分区的设备列表文件及正在格式化的磁盘列表文件;
在具体的实施过程中,挂载设备列表文件可以从/proc/mounts文件中获取、挂载设备的静态信息文件可以从fstab配置的设备列表中获取、当前操作***中的交换空间文件(即正在挂载的swap的设备列表)可以通过swapon命令获取、存在分区的设备列表文件可以从partitions配置文件里获取、正在格式化的磁盘列表文件可以通过进程搜索mkfs查看。
S1086、将所述磁盘设备信息列表中的磁盘设备与所述非空闲状态的磁盘列表中的磁盘设备一一匹配;
在具体的实施过程中,可以将磁盘设备信息列表中的磁盘设备与所述非空闲状态的磁盘列表中的磁盘设备一一匹配。
S1088、将匹配不通过的磁盘设备作为空闲磁盘。
在具体的实施过程中,如果在磁盘设备信息列表中的磁盘设备并未出现在非空闲状态的磁盘列表,则可以确定对应的磁盘设备为空闲磁盘。
S110、对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载。
在具体的实施过程中,在确定空闲磁盘后对其进行磁盘分区、格式化及数据目录挂载。
本说明书实施例的实施能够降低Hadoop***的运维复杂度与运维人力成本,实现了Hadoop磁盘故障的自动发现与处置。当磁盘故障或文件***变为只读状态时,能够自动检测并尝试恢复,如无法恢复,***会进行自动换盘,整个过程无需人工干预,解放运维人员。
在上述实施例基础上,本说明书一个实施例中,图3为本发明实施例提供的第三种分布式存储***磁盘故障更换方法的流程示意图,如图3所示,所述对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载之前还包括:
S302、判断所述空闲磁盘对应的磁盘名称是否在黑名单中。
在具体的实施过程中,黑名单可以表征为明确不符合要求的磁盘,可以是传输速率过低的磁盘设备、只读状态且修复失败的磁盘设备、磁盘容量不符合要求的磁盘设备。
相应的,对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载是在所述空闲磁盘对应的磁盘名称不在黑名单中时进行的。
本说明书实施例的实施能够避免对不符合要求的空闲磁盘进行磁盘分区、格式化及数据目录挂载,提高本说明书实施例实施的准确性。
在上述实施例基础上,本说明书一个实施例中,图4为本发明实施例提供的第四种分布式存储***磁盘故障更换方法的流程示意图,如图4所示,还包括:
S402、若所述空闲磁盘对应的磁盘名称不在黑名单中,则判断所述空闲磁盘的容量是否大于预设容量阈值。
在具体的实施过程中,如果空闲磁盘不在黑名单中时,可以对空闲磁盘的容量进行判断,判断其容量是否大于预设容量阈值。预设容量阈值可以理解为当前操作***允许挂载的最低磁盘容量需求,预设容量阈值在本说明书实施例中不做具体限定,可以根据实际需要进行设置。
相应的,对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载是在所述空闲磁盘对应的磁盘名称不在黑名单中且容量大于预设容量阈值时进行的。
在上述实施例基础上,本说明书一个实施例中,还包括:
若所述空闲磁盘的容量不大于预设容量阈值,则将所述空闲磁盘对应的磁盘名称添加至黑名单中。
在具体的实施过程中,如果空闲磁盘的容量不大于预设容量阈值,可以将空闲磁盘对应的磁盘名称添加至黑名单中。避免下次对磁盘巡检时再次对该空闲磁盘进行检测,提高目录挂载问题的解决速度。
在上述实施例基础上,本说明书一个实施例中,图5为本发明实施例提供的第五种分布式存储***磁盘故障更换方法的流程示意图,如图5所示,所述硬盘信息还包括:***接口设备编码;***接口设备编码可以是磁盘序列号。
所述方法还包括:
S602、若不存在未挂载的数据目录,则判断所述磁盘信息中所述***接口设备编码与所述磁盘设备名称是否一一对应。
S604、若所述***接口设备编码与所述磁盘设备名称存在未一一对应,则预设时间后重复执行:通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;查询目录配置文件,以获取当前操作***的数据目录列表;逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;若不存在未挂载的数据目录,则判断所述磁盘信息中所述***接口设备编码与所述磁盘设备名称是否一一对应;若所述***接口设备编码与所述磁盘设备名称仍存在未一一对应,则卸载该数据目录并在挂载设备的静态信息文件中删除对应的挂载信息。
在具体的实施过程中,若所述***接口设备编码与所述磁盘设备名称存在未一一对应表征为磁盘设备不存在,磁盘设备不存在的原因可能是由于拔盘或离线等原因导致设备不存在,因此在预设时间后再次进行检测(防止因为闪断而误判设备不存在),当再次检测出磁盘设备不存在时,则判定磁盘不存在,卸载该目录,并去fstab配置文件里删除对应挂载信息(fstab文件记录了磁盘挂载信息,需和操作***的实际磁盘挂载情况保持一致,否则会导致主机重启失败),其中,预设时间在本说明书实施例中不做具体限定,可以是5s。
在上述实施例基础上,本说明书一个实施例中,图6为本发明实施例提供的第六种分布式存储***磁盘故障更换方法的流程示意图,如图6所示,还包括:
S702、若所述***接口设备编码与所述磁盘设备名称一一对应,则对所述***接口设备编码对应的目录文件是否存在只读问题;
S704、若存在只读问题,则卸载所述目录文件并利用第二工具指令对目录文件对应的磁盘设备进行修复;
S706、若修复成功,则将所述目录文件挂载至对应的磁盘设备上;
S708、若修复失败,则在挂载设备的静态信息文件中删除对应的挂载信息。
在具体的实施过程中,如果检测出磁盘设备存在,则检测文件***是否存在只读问题,如果不存在只读问题,则该目录挂载情况正常,继续扫描下一个Hadoop数据目录。如果存在只读问题,则尝试对磁盘进行修复:卸载该目录,利用fsck对磁盘进行修复,如果修复成功,则重新将该目录挂载到磁盘上;如果磁盘修复失败,保持该目录的卸载状态,并去fstab配置文件里删除对应挂载信息。
在上述实施例基础上,本说明书一个实施例中,图7为本发明实施例提供的第七种分布式存储***磁盘故障更换方法的流程示意图,如图7所示,所述若修复失败,则在挂载设备的静态信息文件中删除对应的挂载信息之后还包括:
S802、通过第三工具指令获取所述目录文件对应的磁盘主名称;
S804、将所述磁盘主名称与所述硬盘信息比对,将比对通过的所述硬盘信息中的***接口设备编码发出告警信息,以使得订阅告警信息的人员获知磁盘对应的异常信息的内容。
在具体的实施过程中,如果磁盘设备不存在或文件***只读问题修复失败,则利用findfs命令获取该目录缺失的磁盘主名,并比对第一步中获取的硬盘信息,将故障的磁盘SCSI设备ID通知给运维人员,也可以基于比对通过的所述硬盘信息中的***接口设备编码生成对应的告警信息并推送给订阅告警信息的终端设备。以使得订阅告警信息的人员获知磁盘对应的异常信息的内容。
本说明书实施例的实施能够实现磁盘的自动化扫描与处理。本说明书实施例能够自动扫描Hadoop数据目录所挂载的磁盘设备情况,并会针对磁盘故障或文件***只读问题进行自动化处理:
①如果检测出目录未被挂载,则会去搜索是否有空闲磁盘设备存在。如果有符合要求的空闲磁盘,则会对Hadoop数据目录进行挂载。
②如果检测目录已经被挂载,则会检测该文件***是否存在只读问题,当发现存在只读问题,则会用fsck命令去进行修复。
本说明书实施例的实施通过排除法来搜索空闲磁盘。通过获取操作***所有的磁盘设备列表,并排除mounts、fstab、swap、partitions分区以及正在格式化等非空闲磁盘设备的方法,来搜索空闲的磁盘设备。
本说明书实施例提出了磁盘黑名单机制。如果检测到某空闲磁盘设备不符合Hadoop数据目录容量需求,或者出现目录挂载失败时,则将此磁盘信息拉入黑名单,下次检测时,直接跳过此空闲磁盘。
本说明书实施例能够实现磁盘的自动挂载。当检测出空闲磁盘时,可以自动对磁盘进行分区、格式化和目录挂载操作,无需人工登录操作***进行适配。
另一方面、本说明书实施例提供一种分布式存储***磁盘故障修复装置,图8为本发明实施例提供的一种分布式存储***磁盘故障更换装置的结构示意图,如图8所示,所述分布式存储***配置有至少一个服务器,每个所述服务器配置有至少一个空闲磁盘,所述装置包括:
硬盘信息获取模块910,被配置为执行通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;
查询模块920,被配置为执行查询目录配置文件,以获取当前操作***的数据目录列表;
第一判断模块930,被配置为执行逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;
空闲磁盘确定模块940,被配置为执行若存在未挂载的数据目录,则根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘;
挂载模块950,被配置为执行对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载。
另一方面、本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上述所述的一种分布式存储***磁盘故障更换方法。
另一方面、本说明书实施例提供一种磁盘告警设备,图9为本发明实施例提供的一种分布式存储***磁盘故障更换设备的结构示意图,如图9所示,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如上述所述的一种分布式存储***磁盘故障更换方法。
由于分布式存储***磁盘故障更换装置、计算机可读存储介质及分布式存储***磁盘故障更换设备与分布式存储***磁盘故障更换方法的技术效果相同,在此不在赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本发明实施例所提供测试方法,其实现原理及产生的技术效果和前述***实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述***实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的***和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以上述权利要求的保护范围为准。
Claims (10)
1.一种分布式存储***磁盘故障更换方法,所述分布式存储***配置有至少一个服务器,每个所述服务器配置有至少一个空闲磁盘,所述方法包括:
通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;
查询目录配置文件,以获取当前操作***的数据目录列表;
逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;
若存在未挂载的数据目录,则根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘;
对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载。
2.如权利要求1所述的方法,所述根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘包括:
获取所述当前操作***中所有的磁盘设备信息列表;
从以下至少一个***文件中获取非空闲状态的磁盘列表,所述***文件包括:挂载设备列表文件、挂载设备的静态信息文件、当前操作***中的交换空间文件、存在分区的设备列表文件及正在格式化的磁盘列表文件;
将所述磁盘设备信息列表中的磁盘设备与所述非空闲状态的磁盘列表中的磁盘设备一一匹配;
将匹配不通过的磁盘设备作为空闲磁盘。
3.如权利要求1所述的方法,所述对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载之前还包括:
判断所述空闲磁盘对应的磁盘名称是否在黑名单中;
相应的,对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载是在所述空闲磁盘对应的磁盘名称不在黑名单中时进行的。
4.如权利要求3所述的方法,还包括:
若所述空闲磁盘对应的磁盘名称不在黑名单中,则判断所述空闲磁盘的容量是否大于预设容量阈值;
相应的,对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载是在所述空闲磁盘对应的磁盘名称不在黑名单中且容量大于预设容量阈值时进行的。
5.如权利要求4所述的方法,还包括:
若所述空闲磁盘的容量不大于预设容量阈值,则将所述空闲磁盘对应的磁盘名称添加至黑名单中。
6.如权利要求4所述的方法,所述硬盘信息还包括:***接口设备编码;
所述方法还包括:
若不存在未挂载的数据目录,则判断所述磁盘信息中所述***接口设备编码与所述磁盘设备名称是否一一对应;
若所述***接口设备编码与所述磁盘设备名称存在未一一对应,则预设时间后重复执行:通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;查询目录配置文件,以获取当前操作***的数据目录列表;逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;若不存在未挂载的数据目录,则判断所述磁盘信息中所述***接口设备编码与所述磁盘设备名称是否一一对应;若所述***接口设备编码与所述磁盘设备名称仍存在未一一对应,则卸载该数据目录并在挂载设备的静态信息文件中删除对应的挂载信息。
7.如权利要求6所述的方法,还包括:
若所述***接口设备编码与所述磁盘设备名称一一对应,则对所述***接口设备编码对应的目录文件是否存在只读问题;
若存在只读问题,则卸载所述目录文件并利用第二工具指令对目录文件对应的磁盘设备进行修复;
若修复成功,则将所述目录文件挂载至对应的磁盘设备上;
若修复失败,则在挂载设备的静态信息文件中删除对应的挂载信息。
8.如权利要求7所述的方法,所述若修复失败,则在挂载设备的静态信息文件中删除对应的挂载信息之后还包括:
通过第三工具指令获取所述目录文件对应的磁盘主名称;
将所述磁盘主名称与所述硬盘信息比对,将比对通过的所述硬盘信息中的***接口设备编码发出告警信息,以使得订阅告警信息的人员获知磁盘对应的异常信息的内容。
9.一种分布式存储***磁盘故障修复装置,所述分布式存储***配置有至少一个服务器,每个所述服务器配置有至少一个空闲磁盘,所述装置包括:
硬盘信息获取模块(910),被配置为执行通过第一工具指令获取当前操作***的硬盘信息集,所述硬盘信息包括:磁盘设备名称;
查询模块(920),被配置为执行查询目录配置文件,以获取当前操作***的数据目录列表;
第一判断模块(930),被配置为执行逐一将所述数据目录列表中的数据与所述磁盘设备名称匹配以判断是否存在未挂载的数据目录;
空闲磁盘确定模块(940),被配置为执行若存在未挂载的数据目录,则根据获取的所述当前操作***中所有的磁盘设备信息列表和非空闲状态的磁盘列表确定空闲磁盘;
挂载模块(950),被配置为执行对所述空闲磁盘依次进行磁盘分区、格式化及数据目录挂载。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-8中任一所述的一种分布式存储***磁盘故障修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011165795.3A CN112328173A (zh) | 2020-10-27 | 2020-10-27 | 一种分布式存储***磁盘故障修复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011165795.3A CN112328173A (zh) | 2020-10-27 | 2020-10-27 | 一种分布式存储***磁盘故障修复方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112328173A true CN112328173A (zh) | 2021-02-05 |
Family
ID=74296395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011165795.3A Pending CN112328173A (zh) | 2020-10-27 | 2020-10-27 | 一种分布式存储***磁盘故障修复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328173A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553216A (zh) * | 2021-06-28 | 2021-10-26 | 北京百度网讯科技有限公司 | 数据恢复方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293203B1 (en) * | 2003-04-23 | 2007-11-06 | Network Appliance, Inc. | System and method for logging disk failure analysis in disk nonvolatile memory |
CN102929561A (zh) * | 2012-10-09 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 一种hadoop集群搭建磁盘乱序的解决方法 |
CN106875980A (zh) * | 2017-02-17 | 2017-06-20 | 紫光华山信息技术有限公司 | 硬盘测试方法及装置 |
CN107423157A (zh) * | 2017-07-31 | 2017-12-01 | 北京雷石天地电子技术有限公司 | 一种硬盘挂载方法、模块及操作*** |
CN108121620A (zh) * | 2017-12-22 | 2018-06-05 | 联想(北京)有限公司 | 分布式文件***的修复方法及***和服务器 |
CN108234164A (zh) * | 2016-12-14 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 集群部署方法及装置 |
CN109086079A (zh) * | 2018-06-11 | 2018-12-25 | 青岛海信移动通信技术股份有限公司 | 一种存储设备挂载管理方法及装置 |
CN109117344A (zh) * | 2018-08-29 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种存储单元的启动前校验方法及装置 |
CN109471590A (zh) * | 2017-09-08 | 2019-03-15 | 阿里巴巴集团控股有限公司 | 一种挂载点管理方法、装置及存储节点 |
-
2020
- 2020-10-27 CN CN202011165795.3A patent/CN112328173A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293203B1 (en) * | 2003-04-23 | 2007-11-06 | Network Appliance, Inc. | System and method for logging disk failure analysis in disk nonvolatile memory |
CN102929561A (zh) * | 2012-10-09 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 一种hadoop集群搭建磁盘乱序的解决方法 |
CN108234164A (zh) * | 2016-12-14 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 集群部署方法及装置 |
CN106875980A (zh) * | 2017-02-17 | 2017-06-20 | 紫光华山信息技术有限公司 | 硬盘测试方法及装置 |
CN107423157A (zh) * | 2017-07-31 | 2017-12-01 | 北京雷石天地电子技术有限公司 | 一种硬盘挂载方法、模块及操作*** |
CN109471590A (zh) * | 2017-09-08 | 2019-03-15 | 阿里巴巴集团控股有限公司 | 一种挂载点管理方法、装置及存储节点 |
CN108121620A (zh) * | 2017-12-22 | 2018-06-05 | 联想(北京)有限公司 | 分布式文件***的修复方法及***和服务器 |
CN109086079A (zh) * | 2018-06-11 | 2018-12-25 | 青岛海信移动通信技术股份有限公司 | 一种存储设备挂载管理方法及装置 |
CN109117344A (zh) * | 2018-08-29 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种存储单元的启动前校验方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553216A (zh) * | 2021-06-28 | 2021-10-26 | 北京百度网讯科技有限公司 | 数据恢复方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608860B (zh) | 一种错误日志分类存储的方法、装置、设备 | |
CN105354102B (zh) | 一种文件***维护和修复的方法和装置 | |
CN112328173A (zh) | 一种分布式存储***磁盘故障修复方法及装置 | |
CN114860506A (zh) | Linux文件***修复方法、***、装置及存储介质 | |
CN105426544A (zh) | 监控数据库状态的方法及装置 | |
CN111159051B (zh) | 死锁检测方法、装置、电子设备及可读存储介质 | |
CN110399132B (zh) | 项目代码的维护方法、装置、计算机设备和存储介质 | |
CN115328743A (zh) | 安卓设备异常预警处理方法、***和可读存储介质 | |
US10438011B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN115373916A (zh) | 异常检测方法、装置、电子设备及计算机可读存储介质 | |
CN114281769A (zh) | 磁盘上文件管理方法、装置、计算机设备及存储介质 | |
JPH0786841B2 (ja) | 障害情報ログ方法及びデータ処理装置 | |
CN114116357A (zh) | 一种硬盘的自动测试方法、装置和工具 | |
CN114296827A (zh) | 数据文件处理方法、装置、设备及存储介质 | |
CN112084097A (zh) | 一种磁盘告警方法及装置 | |
CN113656358A (zh) | 一种数据库日志文件处理方法及*** | |
JPH06324916A (ja) | 障害情報ロギング方式 | |
CN113656208B (zh) | 分布式存储***数据处理方法、装置、设备及存储介质 | |
CN112637293B (zh) | 数据修复***、方法、装置、电子设备及存储介质 | |
CN117873408B (zh) | 一种云打印机数据恢复方法以及相关装置 | |
CN111953544B (zh) | 一种服务器的故障检测方法、装置、设备及存储介质 | |
CN110008114B (zh) | 配置信息维护方法、装置、设备及可读存储介质 | |
JP7196415B2 (ja) | 検出支援装置、検出支援方法、およびプログラム | |
CN107679161B (zh) | 电子终端的文件处理方法与电子终端 | |
CN116610495A (zh) | 数据库异常的恢复方法、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |