CN105138331A - 一种基于linux系统区分本地磁盘与usb移动磁盘的方法 - Google Patents

一种基于linux系统区分本地磁盘与usb移动磁盘的方法 Download PDF

Info

Publication number
CN105138331A
CN105138331A CN201510529432.6A CN201510529432A CN105138331A CN 105138331 A CN105138331 A CN 105138331A CN 201510529432 A CN201510529432 A CN 201510529432A CN 105138331 A CN105138331 A CN 105138331A
Authority
CN
China
Prior art keywords
disk
usb
sd
local disk
linux
Prior art date
Application number
CN201510529432.6A
Other languages
English (en)
Inventor
焦芬芳
Original Assignee
浪潮电子信息产业股份有限公司
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 浪潮电子信息产业股份有限公司 filed Critical 浪潮电子信息产业股份有限公司
Priority to CN201510529432.6A priority Critical patent/CN105138331A/zh
Publication of CN105138331A publication Critical patent/CN105138331A/zh

Links

Abstract

本发明提供一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法,操作方法如下:先通过linux的sys虚拟文件系统找到block设备;再找出以sd开头命名的磁盘;然后根据磁盘在pci总线的挂接层次来区分是本地磁盘还是usb移动磁盘。本发明的一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法和现有技术相比,能够区分本地磁盘与usb移动磁盘,具有通用和高效率的特点,因而,具有很好的使用价值。

Description

—种基于LINUX系统区分本地磁盘与USB移动磁盘的方法

技术领域

[0001 ] 本发明涉及计算机领域,具体地说是一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法。

背景技术

[0002] 一般在集群监控软件中都会监控本地磁盘的实时读写速率,在实际监控中发现,集群中的计算节点本地磁盘的名字可能不一样,有的计算节点本地磁盘名字是sda,有的计算节点本地磁盘名字是sdb,造成计算节点名字不同的原因与Iinux系统扫描磁盘的顺序有关系,例如,在USB接口上插有一个u盘,Iinux重启后,系统先扫描到USB上的移动磁盘命名为sda,依次扫描到本地磁盘命名为sdb。所以,监控本地磁盘实时读写速率前,需要先确定哪些sd*是本地磁盘。如果,监控软件不能区分本地磁盘还是usb移动磁盘,就需要人为的去改代码,哪些计算节点的本地磁盘是sda、哪些是sdb等,这样的软件不够通用。

发明内容

[0003] 本发明的目的是克服现有技术中存在的不足,提供一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法。

[0004] 本发明的技术方案是按以下方式实现的,其操作方法如下:

先通过Iinux的sys虚拟文件系统找到block设备;再找出以sd开头命名的磁盘;然后根据磁盘在Pci总线的挂接层次来区分是本地磁盘还是usb移动磁盘。

[0005] 上述方法的具体方式如下:

(1)、打开 /sys/block/ 目录;

(2)、读取目录,如果为空,程序结束,否则判断是否以sd开头;

(3)、如果不是sd开头,跳到弟2步;

(4)、打开该文件,获取该文件描述符;

(5)、通过/proc/self/fd/该文件描述符,获取该文件的实际路径;

(6)、解析实际路径中sd*的祖父目录是否为usb,例如: usb的移动硬盘的实际路径:

/sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usbl/l-l/l-l:1.0/host6/target6:0:0/6:0:0:0/block/sdb ;

本地磁盘的实际路径:

/sys/devices/pc1000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda

(7)、是usb,舍弃该sd* ;不是usb,则该sd*为本地磁盘

(8)、跳到第(2)步。

[0006] 本发明提出的通过Iinux的sys虚拟文件系统,区分本地磁盘与usb移动磁盘,关键是先通过/sys/block获取以sd开头的磁盘文件,然后获取该文件的软链接,即该sd*的实际路径,该sd*实际路径包含了 sd*设备驱动层次,如果是usb移动硬盘,它的祖父目录包含usb驱动,否则不包含。

[0007] 本发明的优点是:

本发明的一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法和现有技术相比,能够区分本地磁盘与usb移动磁盘,具有通用和高效率的特点,因而,具有很好的使用价值。

附图说明

[0008] 图1为一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法的结构示意图。

[0009] 实施方式

下面结合附图对本发明的一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法作以下详细说明。

[0010] 如图1所示,本发明的一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法,操作方法如下:

先通过Iinux的sys虚拟文件系统找到block设备;再找出以sd开头命名的磁盘;然后根据磁盘在Pci总线的挂接层次来区分是本地磁盘还是usb移动磁盘。

[0011] 具体方式如下:

(1)、打开 /sys/block/ 目录;

(2)、读取目录,如果为空,程序结束,否则判断是否以sd开头;

(3)、如果不是sd开头,跳到弟2步;

(4)、打开该文件,获取该文件描述符;

(5)、通过/proc/self/fd/该文件描述符,获取该文件的实际路径;

(6)、解析实际路径中sd*的祖父目录是否为usb,例如: usb的移动硬盘的实际路径:

/sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usbl/l-l/l-l:1.0/host6/target6:0:0/6:0:0:0/block/sdb ;

本地磁盘的实际路径:

/sys/devices/pc1000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda

(7)、是usb,舍弃该sd* ;不是usb,则该sd*为本地磁盘

(8)、跳到第(2)步。

[0012] 本发明的一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法其加工制作非常简单方便,按照说明书附图所示即可加工。

[0013] 除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (2)

1.一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法,其特征在于操作方法如下: 先通过Iinux的sys虚拟文件系统找到block设备;再找出以sd开头命名的磁盘;然后根据磁盘在Pci总线的挂接层次来区分是本地磁盘还是usb移动磁盘。
2.根据权利要求1所述的一种基于LINUX系统区分本地磁盘与USB移动磁盘的方法,其特征在于具体方式如下: (1)、打开 /sys/block/ 目录; (2)、读取目录,如果为空,程序结束,否则判断是否以sd开头; (3)、如果不是sd开头,跳到弟2步; (4)、打开该文件,获取该文件描述符; (5)、通过/proc/self/fd/该文件描述符,获取该文件的实际路径; (6)、解析实际路径中sd*的祖父目录是否为usb,例如: usb的移动硬盘的实际路径: /sys/devices/pc1000:00/0000:00:11.0/0000:02:03.0/usbl/l-l/l-l:1.0/host6/target6:0:0/6:0:0:0/block/sdb ; 本地磁盘的实际路径:/sys/devices/pc1000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda (7)、是usb,舍弃该sd* ;不是usb,则该sd*为本地磁盘 (8)、跳到第(2)步。
CN201510529432.6A 2015-08-26 2015-08-26 一种基于linux系统区分本地磁盘与usb移动磁盘的方法 CN105138331A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510529432.6A CN105138331A (zh) 2015-08-26 2015-08-26 一种基于linux系统区分本地磁盘与usb移动磁盘的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510529432.6A CN105138331A (zh) 2015-08-26 2015-08-26 一种基于linux系统区分本地磁盘与usb移动磁盘的方法

Publications (1)

Publication Number Publication Date
CN105138331A true CN105138331A (zh) 2015-12-09

Family

ID=54723689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510529432.6A CN105138331A (zh) 2015-08-26 2015-08-26 一种基于linux系统区分本地磁盘与usb移动磁盘的方法

Country Status (1)

Country Link
CN (1) CN105138331A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107016104A (zh) * 2017-04-12 2017-08-04 广东浪潮大数据研究有限公司 一种在Linux系统中自动识别所有逻辑硬盘设备名称的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942088A (zh) * 2014-04-01 2014-07-23 国云科技股份有限公司 一种获取虚拟机usb存储设备使用情况的方法
US20140321858A1 (en) * 2003-01-31 2014-10-30 Centurylink Intellectual Property Llc Optical Network Termination Systems and Methods
CN104536902A (zh) * 2015-01-28 2015-04-22 浪潮电子信息产业股份有限公司 一种测试服务器io子系统的性能调优方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140321858A1 (en) * 2003-01-31 2014-10-30 Centurylink Intellectual Property Llc Optical Network Termination Systems and Methods
CN103942088A (zh) * 2014-04-01 2014-07-23 国云科技股份有限公司 一种获取虚拟机usb存储设备使用情况的方法
CN104536902A (zh) * 2015-01-28 2015-04-22 浪潮电子信息产业股份有限公司 一种测试服务器io子系统的性能调优方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CRUCIFIX: "《学步网https://www.xuebuyuan.com/2175797.html》", 2 October 2014 *
SHMTU2005: "《chinaunix:http://bbs.chinaunix.net/thread-1712952-1-1.html》", 31 May 2010 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107016104A (zh) * 2017-04-12 2017-08-04 广东浪潮大数据研究有限公司 一种在Linux系统中自动识别所有逻辑硬盘设备名称的方法及系统

Similar Documents

Publication Publication Date Title
EP3260985B1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
US20100082855A1 (en) Associating process priority with i/o queuing
US7574626B2 (en) Trace information collecting system, method and program
CN102479084A (zh) 一种Android终端获取日志的方法及装置
CN101719149A (zh) 数据同步方法及装置
WO2012075526A3 (en) End-user performance monitoring for mobile applications
US20130326278A1 (en) Server and method of manipulation in relation to server serial ports
TWI410864B (zh) 在一處理環境中控制指令執行
US8881150B2 (en) Virtual machine, virtual machine system and method for controlling virtual machine
US8661306B2 (en) Baseboard management controller and memory error detection method of computing device utilized thereby
CN102185729B (zh) 测试装置、测试方法及系统
US9489234B2 (en) Dynamically adjusting a log level of a transaction
US8527467B2 (en) Compression-aware data storage tiering
CN103578568A (zh) 固态硬盘的性能测试方法及装置
US9672245B2 (en) Memory storage apparatus, method of supporting transaction function for database, and memory system
CN102855941A (zh) 基于多符号多清理周期分析的抢先存储器修复方法和系统
CN102087615B (zh) 消息队列中消息的合并的方法和系统
US9477501B2 (en) Encapsulation of an application for virtualization
CN105938450B (zh) 自动除错信息收集的方法及系统
CN102654762A (zh) 在基于扫描的工业处理控制系统中获得无损数据流化
CN101887393B (zh) 基于半虚拟化技术的设备故障复现方法及系统
US8032869B2 (en) Profiling method and computer product
US8832666B2 (en) Dynamic instrumentation
CN102467516A (zh) 设备控制过程中的日志记录方法、装置及系统
US8489824B2 (en) Selective memory compression for multi-threaded applications

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination