CN107102867A - 一种linux系统硬盘槽位识别方法 - Google Patents
一种linux系统硬盘槽位识别方法 Download PDFInfo
- Publication number
- CN107102867A CN107102867A CN201710427527.6A CN201710427527A CN107102867A CN 107102867 A CN107102867 A CN 107102867A CN 201710427527 A CN201710427527 A CN 201710427527A CN 107102867 A CN107102867 A CN 107102867A
- Authority
- CN
- China
- Prior art keywords
- hard
- disk
- layer
- wwid
- linux system
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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/0653—Monitoring storage devices or systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种linux系统硬盘槽位识别方法,其实现过程为:首先配置硬件部分和软件部分,其中硬件部分包括SAN存储,该SAN存储通过配置若干槽位来连接硬盘,并在软件系统中识别每个硬盘;软件部分基于linux内核,并配置用户层和驱动层,驱动层用于槽位识别,用户层则用于写入硬盘设备节点的主次设备号;通过应用层直接调用驱动层,读取系统中所有磁盘的槽位信息。该一种linux系统硬盘槽位识别方法与现有技术相比,通过在linux内核中加入专门查询硬盘槽位的驱动,实现硬盘槽位的实时监控,使得在linux系统下可以读取磁盘的槽位信息,解决SAN存储无法直接磁盘槽位问题,实用性强,易于推广。
Description
技术领域
本发明涉及计算机技术领域,尤具体地说是一种实用性强、linux系统硬盘槽位识别方法。
背景技术
近年来,随着技术的迅速发展,linux系统的应用也越来越广泛,特别对于国产处理器,linux系统已经是主流操作系统,基于linux系统的存储产品也越来越多。SAN存储分为前端和后端,前端是提供存储服务,后端是实际数据存储的位置,一般是通过SAS卡连接JBOD实现,并且磁盘是通过RAID进行管理,为了方便管理和更换,需要知道每一个磁盘的槽位。
现在linux系统无法直接读取磁盘槽位,导致存储在更换硬盘时无法确认哪块硬盘可更换,还有一点就是进行管理时,比如创建RAID,无法通过软件确认磁盘的位置。
基于此,本发明提供一种linux系统硬盘槽位识别方法。本发明在linux内核中加入专门查询硬盘槽位的驱动,实现硬盘槽位的实时监控。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、linux系统硬盘槽位识别方法。
一种linux系统硬盘槽位识别方法,其实现过程为:
首先配置硬件部分和软件部分,其中硬件部分包括SAN存储,该SAN存储通过配置若干槽位来连接硬盘,并在软件系统中识别每个硬盘;
软件部分基于linux内核,并配置用户层和驱动层,驱动层用于槽位识别,用户层则用于写入硬盘设备节点的主次设备号;
通过应用层直接调用驱动层,读取系统中所有磁盘的槽位信息。
所述SAN存储的后端通过SAS控制器与JBOD连接,JBOD有若干个槽位用于插入SAS或SATA硬盘,在软件系统中识别每个硬盘时,对应每个硬盘创建一个块设备节点。
所述驱动层通过用户层写入主次设备号,该驱动层通过硬盘的主次设备号查询相应物理槽位,然后确定对应的WWID号,该物理槽位和WWID号均由驱动层从内核中读取,然后返回给用户层物理槽位和WWID号供用户查看。
在linux系统中硬盘作为scsi设备进行管理,相对应的,其物理槽位和WWID号在scsi驱动中获得。
所述驱动层进行硬盘槽位识别通过dmesg命令查找出物理槽位和WWID号所在的驱动文件,并分析驱动文件,具体为:
进行槽位号读取,首先查找硬盘控制器结构体的指针,获得所有磁盘信息,并记录到sas_device结构体中,此结构体保存槽位号和WWID号,至此所有信息都可获取;然后通过主次设备号,确定相应的scsi设备信息,通过匹配就可以查找出对应的槽位号和WWID号。
本发明的一种linux系统硬盘槽位识别方法,具有以下优点:
本发明的一种linux系统硬盘槽位识别方法,通过在linux内核中加入专门查询硬盘槽位的驱动,实现硬盘槽位的实时监控,使得在linux系统下可以读取磁盘的槽位信息,解决SAN存储无法直接磁盘槽位问题,实用性强,易于推广。
附图说明
附图1为本发明SAN存储后端结构图。
附图2为驱动实现原理图。
附图3为读取物理槽位和WWID号流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如附图1、图2、图3所示,本发明的主要目的是实现linux系统中可以实时查看磁盘槽位,基于linux操作系统,提出了一种linux系统硬盘槽位识别方法。本发明基于linux内核,加入槽位识别字符驱动,在应用层可以直接调用此驱动,读取本系统中所有磁盘的槽位信息。
其实现过程为:
首先配置硬件部分和软件部分,其中硬件部分包括SAN存储,该SAN存储通过配置若干槽位来连接硬盘,并在软件系统中识别每个硬盘;
软件部分基于linux内核,并配置用户层和驱动层,驱动层用于槽位识别,用户层则用于写入硬盘设备节点的主次设备号;
通过应用层直接调用驱动层,读取系统中所有磁盘的槽位信息。
本发明基于linux操作系统,但实现方法不仅限于此,实现方法如下:
SAN存储后端由SAS卡与JBOD连接,JBOD有多个槽位可以插入SAS或SATA硬盘,在系统中可以识别每个硬盘,并创建一个块设备节点,但是没有直接方法读取每个硬盘的槽位号。
为了解决上述问题,在内核中加入字符设备驱动,实现硬盘设备节点--物理槽位--WWID号三者之间的对应关系,用户层写入硬盘设备节点的主次设备号,然后驱动从内核中读取相应的物理槽位和WWID号,用户读取时直接返回物理槽位和WWID号。
在linux系统中硬盘作为scsi设备进行管理,相对应的,其物理槽位和WWID号在scsi驱动中获得。
所述驱动层进行硬盘槽位识别通过dmesg命令查找出物理槽位和WWID号所在的驱动文件,并分析驱动文件,具体为:
进行槽位号读取,首先查找硬盘控制器结构体的指针,获得所有磁盘信息,并记录到sas_device结构体中,此结构体保存槽位号和WWID号,至此所有信息都可获取;然后通过主次设备号,确定相应的scsi设备信息,通过匹配就可以查找出对应的槽位号和WWID号。
本发明以mpt2sas为例进行说明。通过dmesg命令可以查找出物理槽位和WWID号所在的驱动文件,分析驱动文件。要实现槽位号读取,首先需要查找MPT2SAS_ADAPTER结构体的指针,此结构体中记录所有SAS控制器的所有信息。再通过MPT2SAS_ADAPTER获得所有磁盘信息,并记录到sas_device结构体中,此结构体保存槽位号和WWID号,至此所有信息都可获取。然后通过主次设备号,确定相应的scsi设备信息,通过匹配就可以查找出对应的槽位号和WWID号。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种linux系统硬盘槽位识别方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (5)
1.一种linux系统硬盘槽位识别方法,其特征在于,其实现过程为:
首先配置硬件部分和软件部分,其中硬件部分包括SAN存储,该SAN存储通过配置若干槽位来连接硬盘,并在软件系统中识别每个硬盘;
软件部分基于linux内核,并配置用户层和驱动层,驱动层用于槽位识别,用户层则用于写入硬盘设备节点的主次设备号;
通过应用层直接调用驱动层,读取系统中所有磁盘的槽位信息。
2.根据权利要求1所述的一种linux系统硬盘槽位识别方法,其特征在于,所述SAN存储的后端通过SAS控制器与JBOD连接,JBOD有若干个槽位用于插入SAS或SATA硬盘,在软件系统中识别每个硬盘时,对应每个硬盘创建一个块设备节点。
3.根据权利要求1所述的一种linux系统硬盘槽位识别方法,其特征在于,所述驱动层通过用户层写入主次设备号,该驱动层通过硬盘的主次设备号查询相应物理槽位,然后确定对应的WWID号,该物理槽位和WWID号均由驱动层从内核中读取,然后返回给用户层物理槽位和WWID号供用户查看。
4.根据权利要求3所述的一种linux系统硬盘槽位识别方法,其特征在于,在linux系统中硬盘作为scsi设备进行管理,相对应的,其物理槽位和WWID号在scsi驱动中获得。
5.根据权利要求4所述的一种linux系统硬盘槽位识别方法,其特征在于,所述驱动层进行硬盘槽位识别通过dmesg命令查找出物理槽位和WWID号所在的驱动文件,并分析驱动文件,具体为:
进行槽位号读取,首先查找硬盘控制器结构体的指针,获得所有磁盘信息,并记录到sas_device结构体中,此结构体保存槽位号和WWID号,至此所有信息都可获取;然后通过主次设备号,确定相应的scsi设备信息,通过匹配就可以查找出对应的槽位号和WWID号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710427527.6A CN107102867A (zh) | 2017-06-08 | 2017-06-08 | 一种linux系统硬盘槽位识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710427527.6A CN107102867A (zh) | 2017-06-08 | 2017-06-08 | 一种linux系统硬盘槽位识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107102867A true CN107102867A (zh) | 2017-08-29 |
Family
ID=59660703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710427527.6A Pending CN107102867A (zh) | 2017-06-08 | 2017-06-08 | 一种linux系统硬盘槽位识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107102867A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943723A (zh) * | 2017-11-23 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种计算机硬盘识别方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152397A (zh) * | 2013-02-06 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种多控存储系统设计方法 |
CN103218180A (zh) * | 2013-05-14 | 2013-07-24 | 北京百度网讯科技有限公司 | 磁盘定位方法和定位装置 |
CN104699423A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | Linux系统中绑定盘符的方法和装置 |
CN105353983A (zh) * | 2015-11-03 | 2016-02-24 | 山东超越数控电子有限公司 | 一种识别raid中磁盘信息的方法及装置 |
CN106469103A (zh) * | 2015-08-14 | 2017-03-01 | 华为软件技术有限公司 | 硬盘的维护方法和装置 |
-
2017
- 2017-06-08 CN CN201710427527.6A patent/CN107102867A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152397A (zh) * | 2013-02-06 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种多控存储系统设计方法 |
CN103218180A (zh) * | 2013-05-14 | 2013-07-24 | 北京百度网讯科技有限公司 | 磁盘定位方法和定位装置 |
CN104699423A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | Linux系统中绑定盘符的方法和装置 |
CN106469103A (zh) * | 2015-08-14 | 2017-03-01 | 华为软件技术有限公司 | 硬盘的维护方法和装置 |
CN105353983A (zh) * | 2015-11-03 | 2016-02-24 | 山东超越数控电子有限公司 | 一种识别raid中磁盘信息的方法及装置 |
Non-Patent Citations (2)
Title |
---|
文全刚: "《十三五 嵌入式Linux操作系统原理与应用第3版》", 31 May 2017 * |
计算机操作系统实训: "《计算机操作系统实训》", 30 December 2015 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943723A (zh) * | 2017-11-23 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种计算机硬盘识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8019965B2 (en) | Data migration | |
CN101258493B (zh) | 用于在顺序存取数据存储子系统中执行搜索操作的系统和方法 | |
US9244627B2 (en) | Secure data erasure system for erasing a plurality of data storage devices | |
US7864478B2 (en) | Verification of a tape data storage cartridge | |
CN107346210B (zh) | 硬盘数据擦除方法、服务器及系统 | |
CN100407123C (zh) | 数据存储设备、重构控制设备、重构控制方法 | |
US20070050575A1 (en) | Storage system and control method thereof, and computer program product | |
US7127575B2 (en) | Offsite management using disk based tape library and vault system | |
US8996805B2 (en) | Shared cache module and method thereof | |
CN105373339A (zh) | 一种硬盘数据的拷贝方法及系统 | |
CN107102867A (zh) | 一种linux系统硬盘槽位识别方法 | |
CN112269543B (zh) | 一种存储逻辑卷管理方法、装置及相关组件 | |
CN101520713B (zh) | 存储系统、复制方法以及正侧的存储装置 | |
CN101078972B (zh) | 数据存储装置和数据存取方法 | |
CN103049391B (zh) | 数据处理方法和设备 | |
US8736993B2 (en) | Failure-resistant multi-LUN hard disk drive | |
US7146481B2 (en) | Methods and systems for pre-merge read of configuration data from a foreign volume group inserted in storage array | |
US20080168193A1 (en) | Use of unique identifiers for each data format supported by a multi-format data store | |
CN105279095B (zh) | 创建jbod文件系统的方法及装置 | |
CN103514916B (zh) | 光盘库、用于光盘库的数据异步并行读写方法及控制装置 | |
CN114664372A (zh) | 一种叠瓦式硬盘的性能测试方法、装置、设备及产品 | |
US6574704B1 (en) | Information storage management device and method, control device and method | |
US10162531B2 (en) | Physical allocation unit optimization | |
US9760287B2 (en) | Method and system for writing to and reading from computer readable media | |
CN105827681A (zh) | 一种san网络下备份数据传输方法 |
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: 20170829 |
|
RJ01 | Rejection of invention patent application after publication |