CN104699423A - Linux系统中绑定盘符的方法和装置 - Google Patents
Linux系统中绑定盘符的方法和装置 Download PDFInfo
- Publication number
- CN104699423A CN104699423A CN201510109538.0A CN201510109538A CN104699423A CN 104699423 A CN104699423 A CN 104699423A CN 201510109538 A CN201510109538 A CN 201510109538A CN 104699423 A CN104699423 A CN 104699423A
- Authority
- CN
- China
- Prior art keywords
- drive
- kernel
- interior nuclear
- nuclear equipment
- title
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 230000008859 change Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种Linux系统中绑定盘符的方法和装置,方法包括:在Linux系统中增加磁盘设备时,内核为磁盘设备分配内核设备对应的第一盘符;UDEV获取指示磁盘设备的槽位的信息,根据磁盘设备的槽位,以及预设的槽位和盘符的映射关系,为磁盘设备分配用户态设备对应的第二盘符;UDEV向内核发送改名消息,内核根据改名消息,将内核设备的名称和指向内核设备的链接的名称由第一盘符修改为第二盘符。本发明实施例提供的方法,通过UDEV为新增加的磁盘设备确定用户态设备的盘符,并向内核发送改名消息,内核根据改名消息,将内核设备和指向内核设备的链接中的盘符修改得与用户态设备的盘符相一致,从而实现槽位与盘符绑定。
Description
技术领域
本发明实施例涉及操作系统领域,并且更具体地,涉及Linux系统中绑定盘符的方法和装置。
背景技术
当Linux系统中存在多块硬盘时,通常由内核中的小型计算机系统接口(Small Computer System Interface,SCSI)驱动模块为各硬盘分配盘符,例如,/dev/sda、/dev/sdb、/dev/sdc、……等。在系统启动过程中,内核会按照扫描到硬盘的顺序分配盘符。在系统启动后,热插拔硬盘时,系统则会在增加新的硬盘后顺次分配盘符。由此,对同一个硬盘槽位而言,每次启动或热插拔硬盘后,该槽位在系统中的盘符可能不一致。即Linux系统为硬盘分配的盘符与硬盘所在槽位没有关系,只与硬盘插入或被扫描到的顺序有关。例如,对一个槽位而言,第一次插入硬盘时为其分配的盘符为/dev/sdb,当系统中有进程正在读写该磁盘/dev/sdb时将硬盘拔除,稍后再次插入硬盘,系统为其分配的盘符可能变为/dev/sde,而不是所希望的/dev/sdb,将这种现象称为盘符漂移。
当前,系统中使用的存储板可以支持越来越多的硬盘,例如,SIGMA公司开发的GSU存储板可以支持14块硬盘,因此迫切的需要实现盘符与槽位号绑定功能。现有的一种技术是利用Linux系统中的设备管理器UDEV实现用户态设备文件的创建工作。每当有磁盘设备增加的时候,SCSI模块为该磁盘设备分配盘符,例如为sdx,内核发出用户空间事件(uevent)的通知(notify),UDEV守护进程收到这个事件以后,从/etc/udev/rules.d/*.rules下读取创建规则(查询该物理磁盘的槽位号(slot ID)或选择独立磁盘冗余阵列(RedundantArray of Independent Disks,RAID)逻辑磁盘内某个物理磁盘的slot ID,根据该slot ID分配对应的盘符sdy),依照读到的规则进行用户态设备/dev/sdy的创建。
使用上述方案,只能实现用户态设备的盘符/dev/sdy与槽位号slot ID的绑定。而内核设备的盘符/sys/block/sdx和/sys/class/block/sdx没有修改,仍然为SCSI模块根据预设的规则分配的盘符sdx。系统中有些进程会直接通过/sys/下的内核设备的盘符来进行硬盘检测,此时就会出现进程上报的盘符sdx与用户态设备sdy不一致的现象。
发明内容
本发明实施例提供一种Linux系统中绑定盘符的方法和装置,能够实现槽位与盘符绑定,并能保证用户态设备的盘符与内核设备的盘符一致。
第一方面,提供了一种Linux系统中绑定盘符的方法,包括:
在所述Linux系统中增加磁盘设备时,内核为所述磁盘设备分配内核设备对应的第一盘符;
设备管理器UDEV获取指示所述磁盘设备的槽位的信息,根据所述磁盘设备的槽位,以及预设的槽位和盘符的映射关系,为所述磁盘设备分配用户态设备对应的第二盘符,其中,所述第一盘符与所述第二盘符不同;
所述UDEV向所述内核发送改名消息,所述内核根据所述改名消息,将所述内核设备的名称和指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
结合第一方面,在第一方面的第一种可能的实现方式中,所述内核根据所述改名消息,将所述内核设备的名称和指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符,包括:
所述内核将/sys/devices目录下的所述内核设备的名称由所述第一盘符修改为所述第二盘符;
所述内核将/sys/block目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符;
所述内核将/sys/class/block/目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:
所述内核根据所述改名消息中的所述第一盘符,确定待改名的所述内核设备;
所述内核确定所述内核设备的分区;
所述内核将所述内核设备的分区的名称中的盘符和指向所述内核设备的分区的链接的名称中的盘符由所述第一盘符修改为所述第二盘符。
结合第一方面和第一方面的第一种至第二种可能的实现方式中的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述改名消息包括所述用户态设备对应的所述第二盘符和由所述内核通知的所述内核设备对应的所述第一盘符。
结合第一方面和第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述UDEV获取指示所述磁盘设备的槽位的信息,包括:
在所述磁盘设备为物理磁盘时,所述UDEV获取所述物理磁盘的槽位号;
在所述磁盘设备为独立磁盘冗余阵列RAID逻辑磁盘时,所述UDEV获取所述RAID逻辑磁盘对应的所有物理磁盘的槽位号中最小的槽位号。
第二方面,提供了一种Linux系统中绑定盘符的装置,包括内核和设备管理器UDEV,其中,
所述内核用于在所述Linux系统中增加磁盘设备时,为所述磁盘设备分配内核设备对应的第一盘符;
所述UDEV用于获取指示所述磁盘设备的槽位的信息,根据所述磁盘设备的槽位,以及预设的槽位和盘符的映射关系,为所述磁盘设备分配用户态设备对应的第二盘符,其中,所述第一盘符与所述第二盘符不同;
所述UDEV还用于向所述内核发送改名消息,所述内核还用于根据所述改名消息,将所述内核设备的名称和指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
结合第二方面,在第二方面的第一种可能的实现方式中,所述内核具体用于:
将/sys/devices目录下的所述内核设备的名称由所述第一盘符修改为所述第二盘符;
将/sys/block目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符;
将/sys/class/block/目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述内核还用于:
根据所述改名消息中的所述第一盘符,确定待改名的所述内核设备;
确定所述内核设备的分区;
将所述内核设备的分区的名称中的盘符和指向所述内核设备的分区的链接的名称中的盘符由所述第一盘符修改为所述第二盘符。
结合第二方面和第二方面的第一种至第二种可能的实现方式中的任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述改名消息包括所述用户态设备对应的所述第二盘符和由所述内核通知的所述内核设备对应的所述第一盘符。
结合第二方面和第二方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述UDEV具体用于:
在所述磁盘设备为物理磁盘时,获取所述物理磁盘的槽位号;
在所述磁盘设备为独立磁盘冗余阵列RAID逻辑磁盘时,获取所述RAID逻辑磁盘对应的所有物理磁盘的槽位号中最小的槽位号。
本发明实施例提供的Linux系统中绑定盘符的方法和装置,通过UDEV为新增加的磁盘设备确定用户态设备的盘符,并向内核发送改名消息,内核根据改名消息,将内核设备和指向内核设备的链接中的盘符修改得与用户态设备的盘符相一致,从而实现槽位与盘符绑定。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的Linux系统中绑定盘符的方法的示意性流程图。
图2是UDEV的处理流程的示意图。
图3是本发明实施例的Linux系统中绑定盘符的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例的Linux系统中绑定盘符的方法100的示意性流程图。方法100执行于Linux系统中,包括:
S110,在该Linux系统中增加磁盘设备时,内核为该磁盘设备分配内核设备对应的第一盘符;
S120,设备管理器UDEV获取指示该磁盘设备的槽位的信息,根据该磁盘设备的槽位,以及预设的槽位和盘符的映射关系,为该磁盘设备分配用户态设备对应的第二盘符,其中,该第一盘符与该第二盘符不同;
S130,该UDEV向该内核发送改名消息,该内核根据该改名消息,将该内核设备的名称和指向该内核设备的链接的名称由该第一盘符修改为该第二盘符。
因此,本发明实施例提供的Linux系统中绑定盘符的方法,通过UDEV为新增加的磁盘设备确定用户态设备的盘符,并向内核发送改名消息,内核根据改名消息,将内核设备和指向内核设备的链接中的盘符修改得与用户态设备的盘符相一致,从而实现槽位与盘符绑定。
具体而言,在Linux系统中,物理磁盘或者RAID逻辑磁盘分别在内核中对应内核设备,在应用层面上(例如UDEV中)对应用户态设备。当Linux系统中插入或扫描到增加的磁盘设备时,内核的SCSI驱动模块为该磁盘设备分配内核设备对应的第一盘符,例如为sdx。则内核设备的名称和指向该内核设备的链接的名称均为第一盘符。UDEV可以在规则目录中预先设置槽位和盘符的映射关系。在Linux系统中增加磁盘设备时,UDEV获取该磁盘设备的槽位信息,根据该槽位信息查询预设的映射关系,找到与槽位信息对应的盘符,将查找到的盘符作为为该磁盘设备分配的用户态设备对应的第二盘符,例如为sdy。
UDEV根据第二盘符生成用户态设备文件/dev/sdy。UDEV向内核发送改名消息,以指示内核对内核设备的名称和指向内核设备的链接的名称进行修改。该改名消息包括该用户态设备对应的该第二盘符和由该内核通知的该内核设备对应的该第一盘符。该内核根据该改名消息,将该内核设备的名称和指向该内核设备的链接的名称由该第一盘符修改为该第二盘符。由此使得将内核设备的名称和指向内核设备的链接的名称修改得与用户态设备的盘符相一致,并且本发明实施例的方法不修改现有的SCSI驱动模块,可以避免后继升级造成的维护修改。
可选地,在本发明实施例中,该方法100还包括:
该内核根据该改名消息中的该第一盘符,确定待改名的该内核设备;
该内核确定该内核设备的分区;
该内核将该内核设备的分区的名称中的盘符和指向该内核设备的分区的链接的名称中的盘符由该第一盘符修改为该第二盘符。
具体而言,当Linux系统中插入或扫描到增加的磁盘设备时,内核的SCSI驱动模块为该磁盘设备分配内核设备对应的第一盘符(例如sdx),并将该第一盘符(例如sdx)通知UDEV。UDEV为该磁盘设备分配用户态设备对应的第二盘符(例如sdy)。UDEV向内核发送的改名消息用于指示内核对内核设备的名称和指向内核设备的链接的名称进行修改,其可以包括内核设备对应的第一盘符(例如sdx)和用户态设备对应的第二盘符(例如sdy),以便于内核的提供改名服务的模块将内核设备的第一盘符(例如sdx)修改为第二盘符(例如sdy)。
内核的提供改名服务的模块还根据改名消息中的第一盘符(例如sdx),确定待改名的该内核设备,进而确定该内核设备的分区(例如sdx1,sdx2,……等)。而后,将内核设备的分区的名称(例如sdx1,sdx2,……等)中的盘符和指向该内核设备的分区的链接的名称中的盘符(例如sdx)由该第一盘符修改为该第二盘符(例如sdy)。
内核的提供改名服务的模块对内核设备的名称和指向该内核设备的链接的名称进行修改。提供改名服务的模块能够实现下文中描述的几个位置改名的功能。具体步骤如下:
1、提供改名服务的模块根据UDEV向内核发送的改名消息中携带的第一盘符,即待改名的内核设备的名称(例如sdx),搜索匹配设备集,得到内核设备sdx的设备指针。
2、提供改名服务的模块根据内核设备sdx的设备指针,确定该内核设备sdx的分区sdx1,sdx2,……等。
3、提供改名服务的模块通过kobject_rename(),将/sys/devices目录下的内核设备的名称由sdx修改为sdy;并将/sys/devices目录下的内核设备的分区的名称由sdx1,sdx2,……等修改为sdy1,sdy2,……等。
4、提供改名服务的模块通过sysfs_rename_link(),将/sys/block目录下和/sys/class/block/目录下的指向内核设备的链接的名称由sdx修改为sdy;并将/sys/block目录下和/sys/class/block/目录下的指向该内核设备的分区的链接的名称中的盘符由sdx修改为sdy,即将sdx1,sdx2,……等修改为sdy1,sdy2,……等。
相应地,作为一个实施例,内核根据该改名消息,将该内核设备的名称和指向该内核设备的链接的名称由该第一盘符修改为该第二盘符,包括:
该内核将/sys/devices目录下的该内核设备的名称由该第一盘符修改为该第二盘符;
该内核将/sys/block目录下的指向该内核设备的链接的名称由该第一盘符修改为该第二盘符;
该内核将/sys/class/block/目录下的指向该内核设备的链接的名称由该第一盘符修改为该第二盘符。
应理解,本发明实施例中改名服务的功能可以在内核中增加特定的模块来实现,本发明实施例对此不作限定。
还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
可选地,在本发明实施例中,该UDEV获取指示该磁盘设备的槽位的信息,包括:
在该磁盘设备为物理磁盘时,该UDEV获取该物理磁盘的槽位号;
在该磁盘设备为独立磁盘冗余阵列RAID逻辑磁盘时,该UDEV获取该RAID逻辑磁盘对应的所有物理磁盘的槽位号中最小的槽位号。
具体而言,UDEV是Linux系统的设备管理器,主要功能是管理/dev目录下的设备节点。当磁盘设备增加或删除时,由UDEV守护进程侦听来自内核的热插拔事件uevent,以此,UDEV添加或者删除/dev下的设备文件。UDEV的处理流程200如图2所示,200包括:
S210,当内核有磁盘设备增加或删除时,内核辨认出磁盘设备增加或删除,同时产生一个热插拔事件uevent。UDEV接收到来自内核的增加或删除磁盘设备的uevent。
S220,当uevent为删除磁盘设备的uevent时,UDEV删除/dev目录下相应的用户态设备文件。
S230,当uevent为增加磁盘设备的uevent时,UDEV在配置文件(例如udev.conf)中查找规则文件所在的目录。在规则目录中按顺序查询所有的规则文件,在未查找到匹配规则时执行S240;在查找到匹配规则时执行S250。
S240,在不存在匹配规则时,UDEV在/dev/下按照内核为磁盘设备分配的内核设备对应的第一盘符,创建用户态设备文件。
S250,在存在匹配规则时,UDEV在/dev/下按照匹配规则对应的第二盘符,创建用户态设备文件。
应理解,本发明实施例中的匹配规则对应于上文中描述的预设的槽位和盘符的映射关系,其可以是Linux用户自定义的映射关系,本发明实施例对此不作限定。
该映射关系可以是槽位信息与盘符的映射关系。在磁盘设备为物理磁盘时,UDEV获取该物理磁盘的槽位号(slot ID);在磁盘设备为RAID逻辑磁盘时,UDEV获取RAID逻辑磁盘对应的所有物理磁盘的槽位号中最小的槽位号。例如,UDEV查询到内核设备sdx的slot ID/或选择RAID逻辑磁盘sdx内槽位号最小的物理磁盘的slot ID,按照预设的映射关系得到该slot ID对应的盘符sdy,然后进行用户态设备文件/dev/sdy的创建。
本发明实施例提供的Linux系统中绑定盘符的方法,不需要修改SCSI驱动模块和sas控制器驱动模块,是把内核分配的盘符改名为与UDEV分配的用户态设备的名称一致的盘符,即先分配再改名,可以减小后续维护开销。
因此,本发明实施例提供的Linux系统中绑定盘符的方法,通过UDEV为新增加的磁盘设备确定用户态设备的盘符,并向内核发送改名消息,内核根据改名消息,将内核设备和指向内核设备的链接中的盘符修改得与用户态设备的盘符相一致,从而实现槽位与盘符绑定。
上文中结合图1和图2,详细描述了根据本发明实施例的Linux系统中绑定盘符的方法,下面将结合图3,详细描述根据本发明实施例的Linux系统中绑定盘符的装置。
图3示出了根据本发明实施例Linux系统中绑定盘符的装置300的示意性框图。该Linux系统中绑定盘符的装置300包括内核310和设备管理器UDEV320,其中,
该内核310用于在该Linux系统中增加磁盘设备时,为该磁盘设备分配内核设备对应的第一盘符;
该UDEV320用于获取指示该磁盘设备的槽位的信息,根据该磁盘设备的槽位,以及预设的槽位和盘符的映射关系,为该磁盘设备分配用户态设备对应的第二盘符,其中,该第一盘符与该第二盘符不同;
该UDEV320还用于向该内核310发送改名消息,该内核310还用于根据该改名消息,将该内核设备的名称和指向该内核设备的链接的名称由该第一盘符修改为该第二盘符。
因此,本发明实施例提供的Linux系统中绑定盘符的装置,通过UDEV为新增加的磁盘设备确定用户态设备的盘符,并向内核发送改名消息,内核根据改名消息,将内核设备和指向内核设备的链接中的盘符修改得与用户态设备的盘符相一致,从而实现槽位与盘符绑定。
可选地,作为一个实施例,该内核310具体用于:
将/sys/devices目录下的该内核设备的名称由该第一盘符修改为该第二盘符;
将/sys/block目录下的指向该内核设备的链接的名称由该第一盘符修改为该第二盘符;
将/sys/class/block/目录下的指向该内核设备的链接的名称由该第一盘符修改为该第二盘符。
可选地,作为一个实施例,内核310还用于:
根据该改名消息中的该第一盘符,确定待改名的该内核设备;
确定该内核设备的分区;
将该内核设备的分区的名称中的盘符和指向该内核设备的分区的链接的名称中的盘符由该第一盘符修改为该第二盘符。
可选地,作为一个实施例,该改名消息包括该用户态设备对应的该第二盘符和由该内核通知的该内核设备对应的该第一盘符。
可选地,作为一个实施例,该UDEV320具体用于:
在该磁盘设备为物理磁盘时,获取该物理磁盘的槽位号;
在该磁盘设备为独立磁盘冗余阵列RAID逻辑磁盘时,获取该RAID逻辑磁盘对应的所有物理磁盘的槽位号中最小的槽位号。
因此,本发明实施例提供的Linux系统中绑定盘符的装置,通过UDEV为新增加的磁盘设备确定用户态设备的盘符,并向内核发送改名消息,内核根据改名消息,将内核设备和指向内核设备的链接中的盘符修改得与用户态设备的盘符相一致,从而实现槽位与盘符绑定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种Linux系统中绑定盘符的方法,其特征在于,包括:
在所述Linux系统中增加磁盘设备时,内核为所述磁盘设备分配内核设备对应的第一盘符;
设备管理器UDEV获取指示所述磁盘设备的槽位的信息,根据所述磁盘设备的槽位,以及预设的槽位和盘符的映射关系,为所述磁盘设备分配用户态设备对应的第二盘符,其中,所述第一盘符与所述第二盘符不同;
所述UDEV向所述内核发送改名消息,所述内核根据所述改名消息,将所述内核设备的名称和指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
2.根据权利要求1所述的方法,其特征在于,所述内核根据所述改名消息,将所述内核设备的名称和指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符,包括:
所述内核将/sys/devices目录下的所述内核设备的名称由所述第一盘符修改为所述第二盘符;
所述内核将/sys/block目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符;
所述内核将/sys/class/block/目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述内核根据所述改名消息中的所述第一盘符,确定待改名的所述内核设备;
所述内核确定所述内核设备的分区;
所述内核将所述内核设备的分区的名称中的盘符和指向所述内核设备的分区的链接的名称中的盘符由所述第一盘符修改为所述第二盘符。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述改名消息包括所述用户态设备对应的所述第二盘符和由所述内核通知的所述内核设备对应的所述第一盘符。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述UDEV获取指示所述磁盘设备的槽位的信息,包括:
在所述磁盘设备为物理磁盘时,所述UDEV获取所述物理磁盘的槽位号;
在所述磁盘设备为独立磁盘冗余阵列RAID逻辑磁盘时,所述UDEV获取所述RAID逻辑磁盘对应的所有物理磁盘的槽位号中最小的槽位号。
6.一种Linux系统中绑定盘符的装置,其特征在于,包括内核和设备管理器UDEV,其中,
所述内核用于在所述Linux系统中增加磁盘设备时,为所述磁盘设备分配内核设备对应的第一盘符;
所述UDEV用于获取指示所述磁盘设备的槽位的信息,根据所述磁盘设备的槽位,以及预设的槽位和盘符的映射关系,为所述磁盘设备分配用户态设备对应的第二盘符,其中,所述第一盘符与所述第二盘符不同;
所述UDEV还用于向所述内核发送改名消息,所述内核还用于根据所述改名消息,将所述内核设备的名称和指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
7.根据权利要求6所述的装置,其特征在于,所述内核具体用于:
将/sys/devices目录下的所述内核设备的名称由所述第一盘符修改为所述第二盘符;
将/sys/block目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符;
将/sys/class/block/目录下的指向所述内核设备的链接的名称由所述第一盘符修改为所述第二盘符。
8.根据权利要求6或7所述的装置,其特征在于,所述内核还用于:
根据所述改名消息中的所述第一盘符,确定待改名的所述内核设备;
确定所述内核设备的分区;
将所述内核设备的分区的名称中的盘符和指向所述内核设备的分区的链接的名称中的盘符由所述第一盘符修改为所述第二盘符。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述改名消息包括所述用户态设备对应的所述第二盘符和由所述内核通知的所述内核设备对应的所述第一盘符。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述UDEV具体用于:
在所述磁盘设备为物理磁盘时,获取所述物理磁盘的槽位号;
在所述磁盘设备为独立磁盘冗余阵列RAID逻辑磁盘时,获取所述RAID逻辑磁盘对应的所有物理磁盘的槽位号中最小的槽位号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510109538.0A CN104699423B (zh) | 2015-03-13 | 2015-03-13 | Linux系统中绑定盘符的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510109538.0A CN104699423B (zh) | 2015-03-13 | 2015-03-13 | Linux系统中绑定盘符的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699423A true CN104699423A (zh) | 2015-06-10 |
CN104699423B CN104699423B (zh) | 2018-08-21 |
Family
ID=53346604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510109538.0A Active CN104699423B (zh) | 2015-03-13 | 2015-03-13 | Linux系统中绑定盘符的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699423B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951254A (zh) * | 2015-07-03 | 2015-09-30 | 浪潮(北京)电子信息产业有限公司 | 一种管理存储设备的方法及装置 |
CN106469103A (zh) * | 2015-08-14 | 2017-03-01 | 华为软件技术有限公司 | 硬盘的维护方法和装置 |
CN107102695A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 用于丛集式储存系统的判断异常硬盘之装设位置的方法 |
CN107102867A (zh) * | 2017-06-08 | 2017-08-29 | 山东超越数控电子有限公司 | 一种linux系统硬盘槽位识别方法 |
CN107239273A (zh) * | 2017-05-02 | 2017-10-10 | 杭州沃趣科技股份有限公司 | 一种服务器的磁盘盘符绑定方法 |
CN107247672A (zh) * | 2017-05-03 | 2017-10-13 | 深圳市同泰怡信息技术有限公司 | 通过udev和expander相关接口管理磁盘的方法 |
CN108459823A (zh) * | 2017-07-28 | 2018-08-28 | 紫光华山信息技术有限公司 | 一种操作系统的安装方法和装置 |
CN109445866A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种硬盘盘符的确定方法、装置及服务器 |
CN109491604A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种硬盘盘符重复问题的处理方法、装置及系统 |
CN110413196A (zh) * | 2018-04-27 | 2019-11-05 | 北京京东尚科信息技术有限公司 | 外接存储设备的盘符分配方法、系统、电子设备和介质 |
CN110989926A (zh) * | 2019-11-11 | 2020-04-10 | 北京字节跳动网络技术有限公司 | 故障磁盘槽位定位方法、装置及电子设备 |
TWI803130B (zh) * | 2021-12-14 | 2023-05-21 | 新加坡商鴻運科股份有限公司 | 槽位綁定方法、系統、終端設備及存儲介質 |
TWI816574B (zh) * | 2022-09-22 | 2023-09-21 | 新加坡商鴻運科股份有限公司 | 碟符調整方法、電子設備及存儲介質 |
TWI841160B (zh) * | 2022-11-12 | 2024-05-01 | 新加坡商鴻運科股份有限公司 | 存儲控制器的驅動管理方法及相關設備 |
US12124396B2 (en) | 2022-09-22 | 2024-10-22 | Fulian Precision Electronics (Tianjin) Co., Ltd. | Method for adjusting drive letters, electronic device, and computer readable storage medium applying the method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1164475A2 (de) * | 2000-06-08 | 2001-12-19 | Deutsche Telekom AG | Verfahren zur Installation von Software in einer Hardware |
CN102789371A (zh) * | 2012-07-27 | 2012-11-21 | 曙光信息产业(北京)有限公司 | 硬盘盘符分配方法 |
CN103150126A (zh) * | 2013-02-28 | 2013-06-12 | 北京百度网讯科技有限公司 | 基于Linux下的磁盘的盘符正确分配方法及装置 |
CN103189834A (zh) * | 2012-07-16 | 2013-07-03 | 华为技术有限公司 | 一种确定盘符的方法、装置及系统 |
CN103677650A (zh) * | 2012-09-12 | 2014-03-26 | 北京百度网讯科技有限公司 | 盘符漂移预防及处理方法及装置 |
-
2015
- 2015-03-13 CN CN201510109538.0A patent/CN104699423B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1164475A2 (de) * | 2000-06-08 | 2001-12-19 | Deutsche Telekom AG | Verfahren zur Installation von Software in einer Hardware |
CN103189834A (zh) * | 2012-07-16 | 2013-07-03 | 华为技术有限公司 | 一种确定盘符的方法、装置及系统 |
CN102789371A (zh) * | 2012-07-27 | 2012-11-21 | 曙光信息产业(北京)有限公司 | 硬盘盘符分配方法 |
CN103677650A (zh) * | 2012-09-12 | 2014-03-26 | 北京百度网讯科技有限公司 | 盘符漂移预防及处理方法及装置 |
CN103150126A (zh) * | 2013-02-28 | 2013-06-12 | 北京百度网讯科技有限公司 | 基于Linux下的磁盘的盘符正确分配方法及装置 |
Non-Patent Citations (1)
Title |
---|
RY8212: ""Linux盘符漂移与绑定"", 《URL:HTTP:/BLOG.SINA.COM.CN/S/BLOG_623630D50101Q1WY.HTML》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951254B (zh) * | 2015-07-03 | 2018-09-11 | 浪潮(北京)电子信息产业有限公司 | 一种管理存储设备的方法及装置 |
CN104951254A (zh) * | 2015-07-03 | 2015-09-30 | 浪潮(北京)电子信息产业有限公司 | 一种管理存储设备的方法及装置 |
CN106469103A (zh) * | 2015-08-14 | 2017-03-01 | 华为软件技术有限公司 | 硬盘的维护方法和装置 |
CN106469103B (zh) * | 2015-08-14 | 2019-10-18 | 华为软件技术有限公司 | 硬盘的维护方法和装置 |
CN107102695A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 用于丛集式储存系统的判断异常硬盘之装设位置的方法 |
CN107102695B (zh) * | 2016-02-22 | 2020-07-24 | 佛山市顺德区顺达电脑厂有限公司 | 用于丛集式储存系统的判断异常硬盘之装设位置的方法 |
CN107239273B (zh) * | 2017-05-02 | 2020-08-28 | 杭州沃趣科技股份有限公司 | 一种服务器的磁盘盘符绑定方法 |
CN107239273A (zh) * | 2017-05-02 | 2017-10-10 | 杭州沃趣科技股份有限公司 | 一种服务器的磁盘盘符绑定方法 |
CN107247672A (zh) * | 2017-05-03 | 2017-10-13 | 深圳市同泰怡信息技术有限公司 | 通过udev和expander相关接口管理磁盘的方法 |
CN107102867A (zh) * | 2017-06-08 | 2017-08-29 | 山东超越数控电子有限公司 | 一种linux系统硬盘槽位识别方法 |
CN108459823A (zh) * | 2017-07-28 | 2018-08-28 | 紫光华山信息技术有限公司 | 一种操作系统的安装方法和装置 |
US11106443B2 (en) | 2017-07-28 | 2021-08-31 | New H3C Information Technologies Co., Ltd. | Operating system installation |
WO2019020073A1 (zh) * | 2017-07-28 | 2019-01-31 | 紫光华山信息技术有限公司 | 操作系统的安装 |
CN108459823B (zh) * | 2017-07-28 | 2020-08-04 | 新华三信息技术有限公司 | 一种操作系统的安装方法和装置 |
CN110413196A (zh) * | 2018-04-27 | 2019-11-05 | 北京京东尚科信息技术有限公司 | 外接存储设备的盘符分配方法、系统、电子设备和介质 |
WO2020087955A1 (zh) * | 2018-11-01 | 2020-05-07 | 郑州云海信息技术有限公司 | 一种硬盘盘符重复问题的处理方法、装置及系统 |
CN109491604A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种硬盘盘符重复问题的处理方法、装置及系统 |
CN109491604B (zh) * | 2018-11-01 | 2021-07-02 | 郑州云海信息技术有限公司 | 一种硬盘盘符重复问题的处理方法、装置及系统 |
CN109445866A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种硬盘盘符的确定方法、装置及服务器 |
CN110989926A (zh) * | 2019-11-11 | 2020-04-10 | 北京字节跳动网络技术有限公司 | 故障磁盘槽位定位方法、装置及电子设备 |
CN110989926B (zh) * | 2019-11-11 | 2024-02-13 | 北京字节跳动网络技术有限公司 | 故障磁盘槽位定位方法、装置及电子设备 |
TWI803130B (zh) * | 2021-12-14 | 2023-05-21 | 新加坡商鴻運科股份有限公司 | 槽位綁定方法、系統、終端設備及存儲介質 |
US11829616B2 (en) | 2021-12-14 | 2023-11-28 | Fulian Precision Electronics (Tianjin) Co., Ltd. | Method for determining a hard disk connection slot connected to a hard disk and terminal device |
TWI816574B (zh) * | 2022-09-22 | 2023-09-21 | 新加坡商鴻運科股份有限公司 | 碟符調整方法、電子設備及存儲介質 |
US12124396B2 (en) | 2022-09-22 | 2024-10-22 | Fulian Precision Electronics (Tianjin) Co., Ltd. | Method for adjusting drive letters, electronic device, and computer readable storage medium applying the method |
TWI841160B (zh) * | 2022-11-12 | 2024-05-01 | 新加坡商鴻運科股份有限公司 | 存儲控制器的驅動管理方法及相關設備 |
Also Published As
Publication number | Publication date |
---|---|
CN104699423B (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699423A (zh) | Linux系统中绑定盘符的方法和装置 | |
CN102707990B (zh) | 基于容器的处理方法和装置 | |
US9514138B1 (en) | Using read signature command in file system to backup data | |
EP2169530B1 (en) | Method of managing memory storage space and a computer system | |
CN103473277A (zh) | 文件系统的快照方法和装置 | |
US20100180093A1 (en) | Rapid defragmentation of storage volumes | |
CN104573093A (zh) | 一种管理文件目录的方法和装置 | |
CN105824678A (zh) | 一种操作系统安装方法及装置 | |
CN103440204B (zh) | 一种更新文件系统的方法和存储设备 | |
CN104572242A (zh) | 一种扩展虚拟机磁盘空间的方法、装置及虚拟机系统 | |
CN104205780A (zh) | 一种存储数据的方法和装置 | |
CN104951342A (zh) | 一种调整启动顺序的方法及装置 | |
CN111143113A (zh) | 复制元数据的方法、电子设备和计算机程序产品 | |
CN103714076A (zh) | 电子设备及其文件浏览方法 | |
CN104915462A (zh) | 一种文件管理方法及系统 | |
JP2022182577A (ja) | ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム | |
CN104049914A (zh) | 一种对保护分区执行写操作的方法和装置 | |
CN101996109A (zh) | 计算机系统及其控制方法和存储计算机程序的记录介质 | |
CN104102516A (zh) | 一种应用程序卸载方法及装置 | |
CN103559224A (zh) | 一种对元数据对象进行散列的方法及装置 | |
CN110704139B (zh) | 一种图标分类的方法及装置 | |
CN104272273A (zh) | 动态存储器分配 | |
CN111756618B (zh) | 群聊的处理方法及装置、电子设备、可读存储介质 | |
CN111949180A (zh) | 图标整理方法、装置、存储介质及电子设备 | |
US8990526B2 (en) | Merging data volumes and derivative versions of the data volumes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211222 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |