CN108733501A - 一种盘符校正方法、装置、设备及计算机可读存储介质 - Google Patents

一种盘符校正方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN108733501A
CN108733501A CN201710243215.XA CN201710243215A CN108733501A CN 108733501 A CN108733501 A CN 108733501A CN 201710243215 A CN201710243215 A CN 201710243215A CN 108733501 A CN108733501 A CN 108733501A
Authority
CN
China
Prior art keywords
drive
metadata
hard disk
sequence number
file
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
Application number
CN201710243215.XA
Other languages
English (en)
Inventor
冯旭刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mdt Infotech Ltd (shanghai) Mdt Infotech Ltd
Original Assignee
Mdt Infotech Ltd (shanghai) Mdt Infotech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mdt Infotech Ltd (shanghai) Mdt Infotech Ltd filed Critical Mdt Infotech Ltd (shanghai) Mdt Infotech Ltd
Priority to CN201710243215.XA priority Critical patent/CN108733501A/zh
Publication of CN108733501A publication Critical patent/CN108733501A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种盘符校正方法、装置、设备及计算机可读存储介,该方法包括检测步骤,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;校正步骤,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。本方法构建了硬盘序列号与盘符对应的元数据,在***启动时基于该元数据检测是否存在盘符错误并进行校正,彻底解决盘符错误的技术问题。

Description

一种盘符校正方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及计算机***技术领域,特别是一种盘符校正方法、装置、设备及计算机可读存储介。
背景技术
Linux是一套***和自由传播的类Unix操作***,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作***。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作***。目前也是使用最广泛的操作***之一。
Linux***中所有的硬件设备都是通过文件的方式来表现和使用的,我们将这些文件称为设备文件,在Linux下的/dev目录中有大量的设备文件,根据设备文件的不同,又分为字符设备文件和块设备文件。块设备文件是以数据块的方式来存取的,最常见的设备就是磁盘。***通过块设备文件存取数据的时候,先从内存中的buffer中读或写数据。而不是直接传送数据到物理磁盘。这种方式有效的提高了磁盘的I/O性能。
为了能够在一台服务器上面存储更多的数据,很多服务器厂商生产了一台服务器挂在多台磁盘的服务器,有的甚至多达10块到20块的大容量磁盘。在一般情况下,服务器在重启以后,各个磁盘的盘符会正常恢复。但是在海量和长时间运行时,可能有出现盘符错误的问题,在海量服务器时,该问题几乎是必现。
现有的解决技术是,对于每个特定的服务器,找到其HBA卡,对每块盘的物理槽位进行适配,因为能够记录每个磁盘的物理位置,把固定位置和盘符进行绑定。虽然可以解决部分机型的问题,但是随着机型的增加,厂商的不同,新机型的出现,该方法面临无法自动适配的问题,有部分机型无法适配,且出现新机型时要重新适配,问题比较大。兼容性特别差,技术门槛也比较高。
发明内容
本发明针对上述现有技术中的缺陷,提出了如下技术方案。
一种盘符校正方法,该方法包括:
检测步骤,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
校正步骤,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
更进一步地,在所述检测步骤之前,还包括:
设置步骤,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。
更进一步地,所述只读文件存储在***硬盘中或闪存中。
更进一步地,所述检测步骤包括:
获取步骤,***启动时,获取硬盘的序列号和对应的盘符;
加载步骤,加载所述只读文件;
判断步骤,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
更进一步地,所述***为Linux***,所述设备管理器是Linux kernel 2.6的设备管理器。
本发明还提出了一种盘符校正装置,该装置包括:
检测单元,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
校正单元,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
更进一步地,还包括:
设置单元,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。
更进一步地,所述只读文件存储在***硬盘中或闪存中。
更进一步地,所述检测单元包括:
获取模块,***启动时,获取硬盘的序列号和对应的盘符;
加载模块,加载所述只读文件;
判断模块,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
更进一步地,所述***为Linux***,所述设备管理器是Linux kernel 2.6的设备管理器。
本发明还提出了一种盘符校正设备,所述设备包括处理器、存储器,所述处理器与所述存储器通过总线相连接,所述存储器中存储机器可读代码,所述处理器执行存储器中的机器可读代码可执行以下操作:
检测步骤,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
校正步骤,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
更进一步地,在所述检测步骤之前,还包括:
设置步骤,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。
更进一步地,所述只读文件存储在***硬盘中或闪存中。
更进一步地,所述检测步骤包括:
获取步骤,***启动时,获取硬盘的序列号和对应的盘符;
加载步骤,加载所述只读文件;
判断步骤,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
更进一步地,所述***为Linux***,所述设备管理器是Linux kernel 2.6的设备管理器。
本发明更提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时可执行上述之任一的方法。
本发明的技术效果为:构建了硬盘序列号与盘符对应的元数据,在***启动时基于该元数据检测是否存在盘符错误并进行校正,彻底解决盘符错误的技术问题。
附图说明
图1是本发明的一种盘符校正方法的流程图。
图2是本发明的一种盘符校正装置的结构示意图。
图3是本发明的一种盘符校正设备的结构示意图。
具体实施方式
下面结合附图1-3进行具体说明。
图1示出了本发明的一种盘符校正方法,该方法包括:
S11、检测步骤,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
S12、校正步骤,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
为了在盘符错误时进行校正,需要进行设置磁盘序列号与盘符之间的对应关系,并将其保存在元数据中,因此,在所述检测步骤S11之前,还包括:
S10、设置步骤,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。
元数据的可以通过表、数组、二叉树等数据结构实现。
磁盘序列号 盘符
ST1160022A sda
ST1080022LC sdb
…… ……
表1
表1示出了一种元数据的形式,采用表格的形式,序列号为ST1160022A的硬盘的盘符为sda,序列号为ST1080022LC的硬盘的盘符为sdb,依次类推,将其对应保存为元数据后存储在一个只读文件中,这是本发明实现的重点,再检测到盘符错误时进行校正就是依据该只读文件中的元数据。该只读文件可以存储在***硬盘中,因此为***硬盘是不会出错的,或存储在闪存中,当盘符出现错误时,通过该该闪存中存储的只读文件进行恢复。
检测步骤S11是通过以下步骤实现的:
获取步骤,***启动时,获取硬盘的序列号和对应的盘符;
加载步骤,加载所述只读文件;
判断步骤,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
图2示出了本发明的一种盘符校正装置,包括:
检测单元21,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
校正单元22,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
为了在盘符错误时进行校正,需要进行设置磁盘序列号与盘符之间的对应关系,并将其保存在元数据中,因此,该装置还包括:
设置单元20,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。元数据的可以通过表、数组、二叉树等数据结构实现。如上述表1的类似形式实现。
该只读文件可以存储在***硬盘中,因此为***硬盘是不会出错的,或存储在闪存中,当盘符出现错误时,通过该该闪存中存储的只读文件进行恢复。
检测单元21是本发明的另一个重点,用于检测是否存在盘符错误,检测单元21包括:
获取模块,***启动时,获取硬盘的序列号和对应的盘符;
加载模块,加载所述只读文件;
判断模块,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
所述加载只读文件可以是从***盘中加载,或者从外界的闪存中加载,如通过USB接口连接的U盘中加载。
图3示出了本发明的一种盘符校正设备,所述盘符校正设备包括处理器31、存储器32和显示屏33,当然该设备还可以包括其他部件,如wifi模块、蓝牙模块、USB接口等等其他需要使用的接口,在此没有示出。处理器31分别与存储器32和显示屏33通过总线相连接,存储器32中可以存储该设备所执行的程序及数据等,处理器31可以执行存储器32中的程序,执行相应的操作,如上述图1中所示出的方法。本发明中的设备可以为服务器、台式主机、平板电脑、笔记本电脑等等,但不限于这些设备。
本发明针对的***为Linux***,所述设备管理器是Linux kernel 2.6的设备管理器。
本发明所述的方法,可以通过计算机程序实现,也可以将计算机程序存储在存储介质上,处理器从存储介质上读取计算机程序,并执行相应的方法。
本发明是一种利用***盘符永远不会出错的原理,把初次生成的盘符信息的元数据保存在***盘里面,在***启动时,对各个盘符进行检查,发现错误时,利用Linux下自带的udev技术对盘符进行恢复,彻底解决乱盘问题。比现有的解决方案可以使用所有机型,不用专门适配特定的HBA卡。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (16)

1.一种盘符校正方法,其特征在于,该方法包括:
检测步骤,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
校正步骤,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
2.根据权利要求1的方法,其特征在于,在所述检测步骤之前,还包括:
设置步骤,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。
3.根据权利要求2的方法,其特征在于,所述只读文件存储在***硬盘中或闪存中。
4.根据权利要求3的方法,其特征在于,所述检测步骤包括:
获取步骤,***启动时,获取硬盘的序列号和对应的盘符;
加载步骤,加载所述只读文件;
判断步骤,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
5.根据权利要求1的方法,其特征在于,
所述***为Linux***,所述设备管理器是Linux kernel 2.6的设备管理器。
6.一种盘符校正装置,其特征在于,该装置包括:
检测单元,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
校正单元,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
7.根据权利要求6的装置,其特征在于,还包括:
设置单元,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。
8.根据权利要求7的装置,其特征在于,所述只读文件存储在***硬盘中或闪存中。
9.根据权利要求8的装置,其特征在于,所述检测单元包括:
获取模块,***启动时,获取硬盘的序列号和对应的盘符;
加载模块,加载所述只读文件;
判断模块,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
10.根据权利要求9的装置,其特征在于,
所述***为Linux***,所述设备管理器是Linux kernel 2.6的设备管理器。
11.一种盘符校正设备,其特征在于,所述设备包括处理器、存储器,所述处理器与所述存储器通过总线相连接,所述存储器中存储机器可读代码,所述处理器执行存储器中的机器可读代码可执行以下操作:
检测步骤,***启动时检测是否存在盘符错误,如果存在盘符错误,则获取盘符错误的硬盘的元数据;
校正步骤,设备管理器(UDEV)根据获取的所述元数据进行盘符校正。
12.根据权利要求12的设备,其特征在于,在所述检测步骤之前,还包括:
设置步骤,获取***中安装的硬盘的序列号和对应的盘符,将所述序列号和对应的盘符对应保存为元数据,将所述元数据存储在一只读文件中。
13.根据权利要求12的设备,其特征在于,所述只读文件存储在***硬盘中或闪存中。
14.根据权利要求13的设备,其特征在于,所述检测步骤包括:
获取步骤,***启动时,获取硬盘的序列号和对应的盘符;
加载步骤,加载所述只读文件;
判断步骤,将所述获取的硬盘的序列号和对应的盘符与所述只读文件中的所述元数据存储的硬盘的序列号和对应的盘符进行比较,如果不一致,则存在盘符错误。
15.根据权利要求11的设备,其特征在于,
所述***为Linux***,所述设备管理器是Linux kernel 2.6的设备管理器。
16.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时可执行权利要求1-5之任一的方法。
CN201710243215.XA 2017-04-14 2017-04-14 一种盘符校正方法、装置、设备及计算机可读存储介质 Pending CN108733501A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710243215.XA CN108733501A (zh) 2017-04-14 2017-04-14 一种盘符校正方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710243215.XA CN108733501A (zh) 2017-04-14 2017-04-14 一种盘符校正方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN108733501A true CN108733501A (zh) 2018-11-02

Family

ID=63923798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710243215.XA Pending CN108733501A (zh) 2017-04-14 2017-04-14 一种盘符校正方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108733501A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930707A (zh) * 2020-07-10 2020-11-13 江苏安超云软件有限公司 一种windows云迁移的盘符修正方法及***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876885A (zh) * 2010-06-18 2010-11-03 中兴通讯股份有限公司 一种分配逻辑盘符的方法及设备
US20110047129A1 (en) * 2009-08-18 2011-02-24 Computer Associates Think, Inc. Backup and recovery of systems including boot configuration data in an extension firmware interface partition
CN102063348A (zh) * 2010-12-27 2011-05-18 成都市华为赛门铁克科技有限公司 分区表信息备份方法和装置以及存储***
CN102439565A (zh) * 2011-10-28 2012-05-02 华为技术有限公司 启动恢复的方法和装置
CN103677650A (zh) * 2012-09-12 2014-03-26 北京百度网讯科技有限公司 盘符漂移预防及处理方法及装置
CN103927126A (zh) * 2013-07-18 2014-07-16 詹明德 一种磁盘阵列设备的配置方法及组装及磁盘***处理方法
CN105843720A (zh) * 2016-05-12 2016-08-10 浪潮电子信息产业股份有限公司 一种测试硬盘热插拔稳定性的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110047129A1 (en) * 2009-08-18 2011-02-24 Computer Associates Think, Inc. Backup and recovery of systems including boot configuration data in an extension firmware interface partition
CN101876885A (zh) * 2010-06-18 2010-11-03 中兴通讯股份有限公司 一种分配逻辑盘符的方法及设备
CN102063348A (zh) * 2010-12-27 2011-05-18 成都市华为赛门铁克科技有限公司 分区表信息备份方法和装置以及存储***
CN102439565A (zh) * 2011-10-28 2012-05-02 华为技术有限公司 启动恢复的方法和装置
CN103677650A (zh) * 2012-09-12 2014-03-26 北京百度网讯科技有限公司 盘符漂移预防及处理方法及装置
CN103927126A (zh) * 2013-07-18 2014-07-16 詹明德 一种磁盘阵列设备的配置方法及组装及磁盘***处理方法
CN105843720A (zh) * 2016-05-12 2016-08-10 浪潮电子信息产业股份有限公司 一种测试硬盘热插拔稳定性的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930707A (zh) * 2020-07-10 2020-11-13 江苏安超云软件有限公司 一种windows云迁移的盘符修正方法及***
CN111930707B (zh) * 2020-07-10 2022-08-02 江苏安超云软件有限公司 一种windows云迁移的盘符修正方法及***

Similar Documents

Publication Publication Date Title
US8195619B2 (en) Extent reference count update system and method
US9870288B2 (en) Container-based processing method, apparatus, and system
US9239725B2 (en) System and method for installing an OS via a network card supporting PXE
JP5547727B2 (ja) ボリュームへの変更を追跡するシステムおよび方法
US20100125842A1 (en) Efficient volume manager hot swapping
US8615488B2 (en) Physical replication of database subset to improve availability and reduce resource cost in a cloud environment
US9032414B1 (en) Systems and methods for managing system resources allocated for backup validation
CN101650660A (zh) 从中央存储装置引导计算机***
US10324794B2 (en) Method for storage management and storage device
CN106484719B (zh) 一种扩展手机存储的方法及终端
CN103593269A (zh) 一种多PCIe设备重启压力的自动化循环测试方法
CN102331958A (zh) Linux***下硬盘启动的方法
US8984267B2 (en) Pinning boot data for faster boot
US20120060023A1 (en) Methods for booting an operating system using non-volatile memory
CN104461925A (zh) 一种存储设备地址对齐的自动纠正方法和装置
US10871970B1 (en) Memory channel storage device detection
CN109753378A (zh) 一种内存故障的隔离方法、装置、***及可读存储介质
CN103198122A (zh) 重启内存数据库的方法和装置
US9003139B1 (en) Systems and methods for recovering virtual machines after disaster scenarios
CN114765051A (zh) 内存测试方法及装置、可读存储介质、电子设备
CN116149800A (zh) Kvm虚拟机应用层无代理cdp方法、***及存储介质
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
CN113641446A (zh) 内存快照创建方法、装置、设备及可读存储介质
KR102116096B1 (ko) 다중시스템 및 이의 부팅 방법
CN108733501A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181102

RJ01 Rejection of invention patent application after publication