CN103677650A - 盘符漂移预防及处理方法及装置 - Google Patents
盘符漂移预防及处理方法及装置 Download PDFInfo
- Publication number
- CN103677650A CN103677650A CN201210337890.6A CN201210337890A CN103677650A CN 103677650 A CN103677650 A CN 103677650A CN 201210337890 A CN201210337890 A CN 201210337890A CN 103677650 A CN103677650 A CN 103677650A
- Authority
- CN
- China
- Prior art keywords
- disk
- drive
- kernel
- udev
- uevent
- 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
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种盘符漂移预防及处理方法,包括以下步骤:内核中的设备管理工具Udev以守护进程的形式侦听内核发出的Uevent;当设备管理工具Udev监控到删除磁盘的Uevent时,则检查磁盘设备在***中的挂载点是否已被卸载,如果磁盘设备处于挂载状态,则卸载对应的盘符;当设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将磁盘的内核模块名称和设备文件名称一致。本发明还公开一种盘符漂移预防及处理装置、预防方法及装置、处理方法及装置。本发明避免再次加载磁盘时盘符顺序发生漂移。
Description
技术领域
本发明涉及服务器技术领域,特别涉及一种盘符漂移预防处理方法及装置、盘符漂移预防方法及装置、盘符漂移处理方法及装置。
背景技术
磁盘被***加载时,内核会依次分配磁盘驱动模块名。设备管理工具Udev会根据磁盘在内核中的驱动模块名,生成相应的块设备文件名,如第三块磁盘,内核中的驱动模块名为sdc,块设备文件名为sdc,第四块磁盘的驱动模块名及块设备文件名就是sdd;当磁盘被从***拔出时,如果其对应的挂载点已经被卸载,则内核就释放相应的磁盘设备文件数据,否则将继续持有。
磁盘被从***拔出前,如果其挂载点没有被卸载,则内核持有的磁盘设备模块就不会被释放,再次加载磁盘时,内核会自动向后分配一个新的驱动模块名,设备管理工具Udev就会产生相应的块设备文件名,例如对于配置12块磁盘的服务器,正常设备文件名为sda到sdl,相应的挂载点为disk1到disk12,如果不卸载disk3,直接将sdc拔出,再次***磁盘后其获得的设备文件名将是sdm,即盘符发生了漂移。因为***没有sdm对应的挂载点,所以该磁盘将无法被使用,同时disk3对应已经被删除的sdc,后续的IO请求均会报错,而且盘符顺序与实际槽位顺序不一致,对磁盘的运维操作也带来麻烦。
发明内容
本发明旨在至少在一定程度上解决上述技术问题之一或至少提供一种有用的商业选择。为此,本发明的第一个目的在于提供一种盘符漂移预防及处理方法,该方法可以避免盘符漂移,保证***加载的磁盘可以被正常使用。本发明的第二个目的在于提供一种盘符漂移预防及处理装置。本发明的第三个目的在于提供一种盘符漂移预防方法。本发明第四个目的在于提供一种盘符漂移预防装置。本发明第五个目的在于提供一种盘符漂移处理方法。本发明的第四个目的在于提供一种盘符漂移处理装置。
为实现上述目的,本发明第一方面的实施例提供了盘符漂移预防及处理方法,包括如下步骤:
内核中的设备管理工具Udev以守护进程的形式侦听所述内核发出的Uevent;
当所述设备管理工具Udev监控到删除磁盘的Uevent时,则检查所述磁盘设备在***中的挂载点是否已被卸载,如果所述磁盘设备处于挂载状态,则卸载对应的盘符;以及
当所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。
根据本发明式实施例的盘符漂移预防及处理方法,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的方法避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明第二方面的实施例提供一种盘符漂移预防及处理装置,包括:内核,用于发出Uevent;设备管理工具Udev,用于以守护进程的形式侦听所述内核发出的Uevent,记录磁盘插拔行为,并当Uevent为对磁盘的操作时,如果所述设备管理工具Udev监控到删除磁盘的Uevent时,则检查所述磁盘设备在***中的挂载点是否已被卸载,如果所述磁盘设备处于挂载状态,则卸载对应的盘符;如果所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。
根据本发明实施例的盘符漂移预防及处理装置,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的方法避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明第三方面的实施例提供了一种盘符漂移预防方法,包括如下步骤:
内核中的设备管理工具Udev以守护进程的形式侦听所述内核发出的Uevent;以及
当Uevent为对磁盘的操作时,如果所述设备管理工具Udev监控到删除磁盘的Uevent时,所述设备管理工具Udev对***中所述磁盘的挂载情况进行检查,并在所述磁盘处于挂载状态时卸载所述磁盘对应的挂载点以使所述内核释放对应的磁盘在所述内核中的驱动模块。
根据本发明实施例的盘符漂移预防方法,通过Uevent事件机制,卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。通过本发明的方法避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明第四方面的实施例提供一种盘符漂移预防装置,包括:内核,用于发出Uevent;设备管理工具Udev,用于以守护进程的形式侦听所述内核发出的Uevent,并当所述Uevent为对磁盘的操作时,如果所述设备管理工具Udev监控到删除磁盘的Uevent时,对所述***中所述磁盘的挂载情况进行检查,并在所述磁盘处于挂载状态时卸载所述磁盘对应的挂载点以使所述内核释放对应的磁盘在所述内核中的驱动模块。
根据本发明实施例的盘符漂移预防装置,通过Uevent事件机制,卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。通过本发明的方法避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明第五方面的实施例提供一种盘符漂移处理方法,包括如下步骤:
内核中的设备管理工具Udev以守护进程的形式侦听所述内核发出的Uevent;如果所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。根据本发明实施例的盘符漂移处理方法,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的装置避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明第六方面的实施例提供一种盘符漂移处理装置,包括:内核,用于发出Uevent;设备管理工具Udev,用于以守护进程的形式侦听所述内核发出的Uevent以及记录磁盘的插拔行为,如果所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。
根据本发明实施例的盘符漂移处理装置,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的装置避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的盘符漂移预防及处理方法的流程图;
图2为根据本发明实施例的盘符漂移预防及处理方法的工作流程;
图3为根据本发明实施例的磁盘下线的处理策略的示意图;
图4为根据本发明实施例的磁盘加载策的处理策略的示意图;
图5为根据本发明实施例的盘符漂移的示意图;
图6根据本发明实施例的盘符漂移预防及处理装置的示意图;
图7为根据本发明实施例的盘符漂移预防方法的流程图;以及
图8为根据本发明实施例的盘符漂移处理方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面参考图1至图5描述根据本发明实施例的盘符漂移预防及处理方法。其中,该盘符漂移预防及处理方法可以应用于服务器及磁盘运维管理方面。
如图1所示,本发明实施例提供的盘符漂移预防及处理方法,包括如下步骤:
步骤S101,内核中的设备管理工具Udev以守护进程的形式侦听内核发出的Uevent(user space event)。在本发明的一个实施例中,内核可以为Linux内核,例如Linux 2.6及更高版本。
其中,设备管理工具Udev为在用户空间以守护进程的形式运行,通过侦听内核发出的设备事件Uevent管理设备管理目录(/dev)下的设备文件。
在本发明的一个实施例中,设备管理工具Udev根据Uevent对设备管理目录下的设备文件进行管理。当删除或加载磁盘时,设备管理工具Udev的守护进程侦听来自内核的Uevent,对设备管理目录(/dev)下的设备文件进行添加或删除操作。
设备管理工具Udev在接收到Uevent后,匹配Udev规则(rule)。对Uevent的类型进行判断,判断Uevent为对磁盘的操作。其中,无论磁盘是被***踢出(reject)、重置(reset)或者被人为拔出,均会检测到Uevent的行为action为remove行为,即判断Uevent的类型为操作行为。
当磁盘被添加至***时,则判断Uevent的类型为添加操作行为(add)。
根据Uevent的类型的不同,触发相应的Udev rule调用策略。在本发明的一个实例中,本发明实施例的盘符漂移预防及处理方法涉及到的Udev rule策略以udev script的形式实现。
如图2所示,设备管理工具Udev匹配rule,并判断Udev action的类型,包括如下步骤:
步骤S201,设备管理工具Udev从内核接收到Uevent。
设备管理工具Udev侦听内核发出的Uevent,从而管理设备管理目录(/dev)下的设备文件。
步骤S202,匹配Udev rule(规则)。
步骤S203,Udev action(行为)为添加(add)或移动(remove)。
根据接收到的设备事件Uevent,判断Udev行为的类型为移动操作或添加操作。
步骤S204,调用Udev script。
根据判断出的Udev行为的类型,触发相应的Udev rule调用策略。其中,触发相应的Udev rule调用策略是通过调用相应的Udev script的形式实现。
步骤S 102,当设备管理工具Udev监控到删除磁盘的Uevent时,则检查磁盘设备在***中的挂载点是否已被卸载,如果磁盘设备处于挂载状态,则卸载对应的盘符。
当检测到remove行为时,设备管理工具Udev对***中的磁盘的挂载情况进行检查,检查磁盘设备在***中的挂载点是否已经被卸载。
如果磁盘处于挂载状态,则卸载磁盘对应的盘符,以便内核成功释放磁盘在内核中的驱动模块。当磁盘下线时,本发明可以及时释放磁盘设备在内核中的数据,从而在下次加载磁盘时,内核驱动模块的名称可以顺利被重新分配,从而可以预防盘符漂移。
图3示出了磁盘下线的处理策略。
步骤S301,磁盘下线(disk offline)。
步骤S302,内核删除(kernel delete)。
内核从***中删除磁盘。
步骤S303,Udev行为为移动(Udev action remove)。
此时设备管理工具Udev监控到的内核发出的Uevent为remove操作。
步骤S304,Udev脚本检查挂载(Udev script check mount)。
设备管理工具Udev对***中的磁盘的挂载情况进行检查。
步骤S305,Udev脚本卸载(Udev script umount)。
设备管理工具Udev在检查到磁盘处于挂载状态时卸载磁盘对应的盘符,从而使得内核释放对应的磁盘在内核中的驱动模块。
步骤S103,当设备管理工具Udev监控到加载磁盘设备的Uevent时,设备管理工具Udev判断磁盘是否发生盘符漂移,如果未发生盘符漂移,则执行步骤S1031,如果发生盘符漂移,则执行步骤S1032。
当磁盘被加载时,设备管理工具Udev会检测到Uevent的action:add,即Uevent为添加操作。在缺省规则下,在设备管理目录/dev下会使用内核驱动模块名作为设备文件名。
设备管理工具Udev根据内核分配的初始盘符判断是否发生盘符漂移。具体地,当出现以下情况之一时,设备管理工具Udev判断发生盘符漂移:
(1)初始盘符的顺序与与原有盘符的顺序不一致。
例如,磁盘的初始盘符为3,而原有盘符顺序为第4,则可以判断发生了盘符漂移。
(2)磁盘所在的槽位顺序对应的盘符不能被使用。
例如,***包括12个槽位,可以放置12个磁盘。如果磁盘的初始盘符被分配至第13的盘符,可以判断磁盘所在的槽位顺序对应的盘符超出了槽位的范围,磁盘所在的槽位顺序对应的盘符不能被使用,则判断发生了盘符漂移。
步骤S1031,如果未发生盘符漂移,则将初始盘符作为添加磁盘的最终盘符。
步骤S1032,如果发现盘符漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将磁盘的内核模块名称和设备文件名称一致。
在本发明的实施例中,设备管理工具Udev对于磁盘的每次插拔行为均有记录,从而通过查询设备管理工具Udev中的磁盘插拔记录可以获知是否初始盘符的顺序与原有盘符的顺序不一致,或者磁盘所在的槽位顺序对应的盘符不能被使用,从而可以判断是否发生盘符漂移。
根据设备管理工具Udev记录的磁盘插拔记录卸载原有盘符对应的挂载点,为添加磁盘分配新的盘符,从而使得原有磁盘设备(已经被删除了)在内核中的引用得以释放,再以模拟热插拔的方式重新加载硬盘,从而使得磁盘的内核模块名和设备文件名与原有的盘符保持一致,从而避免盘符漂移。
下面对模拟热插拔进行解释。模拟热插拔是指设备管理工具Udev先将添加磁盘模拟拔出,但实际的磁盘并未被拔出,故而称之为模拟拔出。由于,磁盘的插拔动作均在设备管理工具Udev中有记录,从而根据该记录可以获知哪个磁盘被拔出。然后根据磁盘插拔记录查找之前被拔出的磁盘的盘符,并将之前拔出的磁盘的盘符分配给该添加磁盘的盘符。
如图5所示,磁盘包括Disk1、Disk2、Disk3、Disk4、Disk5,其中,上述磁盘分别对应的盘符号及设备文件名为sda、sdb、sdc、sdd和sde。Disk6为添加的磁盘,Disk2为被拔出的磁盘。
从图中可以看出,***包括五个槽位,可以放置五个磁盘。如果要向***中添加磁盘Disk6,为了避免出现设备管理工具Udev向磁盘Disk6顺序分配新的盘符号及设备文件名为sdf而导致盘符漂移,需要将添加磁盘Disk6模拟拔出,即将Disk6模拟拔出,而实际并未拔出。然后查询设备管理工具Udev中的设备插拔记录,查询之前设备插拔记录,获知Disk2为被拔出的磁盘,并查找到Disk2对应的盘符为sdb。然后,将sdb分配给Disk6,即添加磁盘Disk6的盘符为sdb,从而避免了盘符漂移。
图4示出了磁盘加载的处理策略。
步骤S401,添加磁盘(disk add)。
步骤S402,内核加载(kernel load)。
内核加载磁盘。
步骤S403,Udev行为为添加(Udev action add)。
当磁盘被加载时,设备管理工具Udev会检测到Uevent的action:add,即Uevent为添加操作。
步骤S404,Udev脚本检查磁盘盘符的槽位(Udev script check disklabel with slot)。
步骤S405,Udev脚本卸载(Udev script umount)。
如果发现盘符发生了漂移,则先卸载槽位对应的挂载点,使得原有磁盘设备在内核中的引用得以释放
步骤S406,Udev脚本重新加载磁盘(Udev script reload disk)。
Udev脚本以模拟热插拔的方式重新加载磁盘。
根据本发明实施例的盘符漂移预防及处理方法,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的方法避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
下面参考图6描述根据本发明实施例的盘符漂移预防及处理装置600。其中,该盘符漂移预防及处理装置可以应用于服务器及磁盘运维管理方面。
如图6所示,本发明实施例的盘符漂移预防及处理装置600,包括:内核610和设备管理工具Udev 620。
内核610用于发出Uevent(user space event)。在本发明的一个实施例中,内核可以为Linux内核,例如Linux 2.6及更高版本。
设备管理工具Udev 620以守护进程的形式侦听所述内核发出的Uevent,记录磁盘插拔行为。其中,设备管理工具Udev620为在用户空间以守护进程的形式运行,通过侦听内核610发出的Uevent管理设备管理目录(/dev)下的设备文件。
在本发明的一个实施例中,设备管理工具Udev620根据Uevent对设备管理目录下的设备文件进行管理。当删除或加载磁盘时,设备管理工具Udev620的守护进程侦听来自内核610的Uevent,对设备管理目录(/dev)下的设备文件进行添加或删除操作。
设备管理工具Udev620在接收到Uevent后,匹配Udev规则(rule)。对Uevent的类型进行判断,判断Uevent为对磁盘的操作。其中,无论磁盘是被***踢出(reject)、重置(reset)或者被人为拔出,均会检测到Uevent的行为action为remove行为,即判断Uevent的类型为操作行为。
当磁盘被添加至***时,则判断Uevent的类型为添加操作行为(add)。
根据Uevent的类型的不同,触发相应的Udev rule调用策略。在本发明的一个实例中,本发明实施例的盘符漂移预防及处理装置涉及到的Udev rule策略以udev script的形式实现。
设备管理工具Udev620当Uevent为对磁盘的操作时,当设备管理工具Udev监控到删除磁盘的Uevent时,对内核610中磁盘的挂载情况进行检查,并在磁盘处于挂载状态时卸载磁盘对应的盘符以使内核释放对应的磁盘在内核中的驱动模块,以及当设备事件Uevent为对磁盘的添加操作时,根据内核分配的初始盘符判断是否发生盘符漂移。
当检测到remove行为时,设备管理工具Udev620对内核610中的磁盘的挂载情况进行检查,检查磁盘设备在***中的挂载点是否已经被卸载。
如果磁盘处于挂载状态,则卸载磁盘对应的盘符,以便内核610成功释放磁盘在内核中的驱动模块。当磁盘下线时,本发明可以及时释放磁盘设备在内核中的数据,从而在下次加载磁盘时,内核驱动模块的名称可以顺利被重新分配,从而可以预防盘符漂移。
当磁盘被加载时,设备管理工具Udev会检测到设备事件Uevent的action:add,即Uevent为添加操作。在缺省规则下,在设备管理目录/dev下会使用内核驱动模块名作为设备文件名。
设备管理工具Udev620判断磁盘是否发生盘符漂移。具体地,当出现以下情况之一时,设备管理工具Udev620判断发生盘符漂移:
(1)初始盘符的顺序与原有盘符的顺序不一致。
例如,磁盘的初始盘符为3,而原有盘符顺序为第4,则可以判断发生了盘符漂移。
(2)磁盘所在的槽位顺序对应的盘符不能被使用。
例如,***包括12个槽位,可以放置12个磁盘。如果磁盘的初始盘符被分配至第13的盘符,可以判断磁盘所在的槽位顺序对应的盘符超出了槽位的范围,磁盘所在的槽位顺序对应的盘符不能被使用,则判断发生了盘符漂移。
如果设备管理工具Udev620判断未发生漂移,则设备管理工具Udev 620将初始盘符作为添加磁盘的最终盘符。如果判断已发生盘符漂移,则设备管理工具Udev 620卸载原有盘符对应的挂载点以使原有磁盘设备在内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将磁盘的内核模块名称和设备文件名称一致。
在本发明的实施例中,设备管理工具Udev620对于磁盘的每次插拔行为均有记录,从而通过查询设备管理工具Udev620中的磁盘插拔记录可以获知是否初始盘符的顺序与原有盘符的顺序不一致,或者磁盘所在的槽位顺序对应的盘符不能被使用,从而可以判断是否发生盘符漂移。
根据设备管理工具Udev620记录的磁盘插拔记录卸载原有盘符对应的挂载点,为添加磁盘分配新的盘符,从而使得原有磁盘设备(已经被删除了)在内核中的引用得以释放,再以模拟热插拔的方式重新加载硬盘,从而使得磁盘的内核模块名和设备文件名与原有的盘符保持一致,从而避免盘符漂移。
下面对模拟热插拔进行解释。模拟热插拔是指设备管理工具Udev620先将添加磁盘模拟拔出,但实际的磁盘并未被拔出,故而称之为模拟拔出。由于,磁盘的插拔动作均在设备管理工具Udev620中有记录,从而根据该记录可以获知哪个磁盘被拔出。然后根据磁盘插拔记录查找之前被拔出的磁盘的盘符,并将之前拔出的磁盘的盘符分配给该添加磁盘的盘符。
根据本发明实施例的盘符漂移预防及处理装置,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的装置避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
下面参考图7描述根据本发明实施例的盘符漂移预防方法。其中,该盘符漂移预防方法可以应用于服务器及磁盘运维管理方面。
如图7所示,本发明实施例提供的盘符漂移预防方法,包括如下步骤:
步骤S701,内核中的设备管理工具Udev对内核发出的设备事件Uevent(user space event)进行监控。在本发明的一个实施例中,内核可以为Linux内核,例如Linux 2.6及更高版本。
其中,设备管理工具Udev为在用户空间以守护进程的形式运行,通过侦听内核发出的设备事件Uevent管理设备管理目录(/dev)下的设备文件。
在本发明的一个实施例中,设备管理工具Udev根据Uevent对设备管理目录下的设备文件进行管理。当删除或加载磁盘时,设备管理工具Udev的守护进程侦听来自内核的Uevent,对设备管理目录(/dev)下的设备文件进行添加或删除操作。
设备管理工具Udev在接收到Uevent后,匹配Udev规则(rule)。对Uevent的类型进行判断,判断Uevent为对磁盘的操作。其中,无论磁盘是被***踢出(reject)、重置(reset)或者被人为拔出,均会检测到Uevent的行为action为remove行为,即判断Uevent的类型为操作行为。
当磁盘被添加至***时,则判断Uevent的类型为添加操作行为(add)。
根据Uevent的类型的不同,触发相应的Udev rul e调用策略。在本发明的一个实例中,本发明实施例的盘符漂移预防及处理方法涉及到的Udev rule策略以udev script的形式实现。
步骤S702,当设备管理工具Udev监控到删除磁盘的Uevent时,则检查磁盘设备在***中的挂载点是否已被卸载,如果磁盘设备处于挂载状态,则卸载对应的盘符。
当检测到remove行为时,设备管理工具Udev对***中的磁盘的挂载情况进行检查,检查磁盘设备在***中的挂载点是否已经被卸载。
如果磁盘处于挂载状态,则卸载磁盘对应的盘符,以便内核成功释放磁盘在内核中的驱动模块。当磁盘下线时,本发明可以及时释放磁盘设备在内核中的数据,从而在下次加载磁盘时,内核驱动模块的名称可以顺利被重新分配,从而可以预防盘符漂移。
根据本发明实施例的盘符漂移预防方法,通过Uevent事件机制,卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。通过本发明的方法避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明实施例还提供了一种盘符漂移预防装置,包括内核和设备管理工具Udev。其中,该盘符漂移预防装置可以应用于服务器及磁盘运维管理方面。
内核用于发出Uevent user space event)。在本发明的一个实施例中,内核可以为Linux内核,例如Linux 2.6及更高版本。
设备管理工具Udev用于以守护进程的形式侦听所述内核发出的Uevene,记录磁盘插拔行为。其中,设备管理工具Udev为在用户空间以守护进程的形式运行,通过侦听内核发出的Uevent管理设备管理目录(/dev)下的设备文件。
在本发明的一个实施例中,设备管理工具Udev根据Uevent对设备管理目录下的设备文件进行管理。当删除或加载磁盘时,设备管理工具Udev的守护进程侦听来自内核的Uevent,对设备管理目录(/dev)下的设备文件进行添加或删除操作。
设备管理工具Udev在接收到Uevent后,匹配Udev规则(rule)。对Uevent的类型进行判断,判断Uevent为对磁盘的操作。其中,无论磁盘是被***踢出(reject)、重置(reset)或者被人为拔出,均会检测到Uevent的行为action为remove行为,即判断Uevent的类型为操作行为。
根据Uevent的类型的不同,触发相应的Udev rule调用策略。在本发明的一个实例中,本发明实施例的盘符漂移预防及处理装置涉及到的Udev rule策略以udev script的形式实现。
设备管理工具Udev当Uevent为对磁盘的操作时,当设备管理工具Udev监控到删除磁盘的Uevent时,对内核中磁盘的挂载情况进行检查,并在磁盘处于挂载状态时卸载磁盘对应的盘符以使内核释放对应的磁盘在内核中的驱动模块。
当检测到remove行为时,设备管理工具Udev对***中的磁盘的挂载情况进行检查,检查磁盘设备在***中的挂载点是否已经被卸载。
如果磁盘处于挂载状态,则卸载磁盘对应的盘符,以便内核成功释放在内核中的驱动模块。当磁盘下线时,本发明可以及时释放磁盘设备在内核中的数据,从而在下次加载磁盘时,内核驱动模块的名称可以顺利被重新分配,从而可以预防盘符漂移。
根据本发明实施例的盘符漂移预防装置,通过Uevent事件机制,卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。通过本发明的方法避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
下面参考图8描述根据本发明实施例的盘符漂移处理方法。其中,该盘符漂移处理方法可以应用于服务器及磁盘运维管理方面。
如图8所示,本发明实施例提供的盘符漂移处理方法,包括如下步骤;
步骤S801,内核中的设备管理工具Udev以守护进程的形式侦听所述内核发出的Uevent(user space event)。在本发明的一个实施例中,内核可以为Linux内核,例如Linux 2.6及更高版本。
其中,设备管理工具Udev为在用户空间以守护进程的形式运行,通过侦听内核发出的设备事件Uevent管理设备管理目录(/dev)下的设备文件。
在本发明的一个实施例中,设备管理工具Udev根据Uevent对设备管理目录下的设备文件进行管理。当删除或加载磁盘时,设备管理工具Udev的守护进程侦听来自内核的Uevent,对设备管理目录(/dev)下的设备文件进行添加或删除操作。
设备管理工具Udev在接收到Uevent后,匹配Udev规则(rule)。对Uevent的类型进行判断,判断Uevent为移动操作或添加操作。其中,无论磁盘是被***踢出(reject)、重置(reset)或者被人为拔出,均会检测到Uevent的行为action为remove行为,即判断Uevent的类型为操作行为。
当磁盘被添加至***时,则判断Uevent的类型为添加操作行为(add)。
根据Uevent的类型的不同,触发相应的Udev rule调用策略。在本发明的一个实例中,本发明实施例的盘符漂移预防及处理方法涉及到的Udev rule策略以udev script的形式实现。
步骤S802,当Uevent为对磁盘的添加操作时,设备管理工具Udev判断磁盘是否发生盘符漂移。如果判断未发生盘符漂移,则执行步骤S8021。如果判断发生盘符漂移,则执行步骤S8022。
当磁盘被加载时,设备管理工具Udev会检测到Uevent的action:add,即设备事件Uevent为添加操作。在缺省规则下,在设备管理目录/dev下会使用内核驱动模块名作为设备文件名。
设备管理工具Udev判断磁盘是否发生盘符漂移。具体地,当出现以下情况之一时,设备管理工具Udev判断发生盘符漂移:
(1)初始盘符的顺序与原有盘符的顺序不一致。
例如,磁盘的初始盘符为3,而原有盘符顺序为第4,则可以判断发生盘符漂移。
(2)磁盘所在的槽位顺序对应的盘符不能被使用。
例如,***包括12个槽位,可以放置12个磁盘。如果磁盘的初始盘符被分配至第13的盘符,可以判断磁盘所在的槽位顺序对应的盘符超出了槽位的范围,磁盘所在的槽位顺序对应的盘符不能被使用,则判断发生了盘符漂移。
步骤S8021,如果判断发生盘符漂移,则将初始盘符作为添加磁盘的最终盘符。
步骤S8022,如果判断已发生盘符漂移,则设备管理工具Udev 620卸载原有盘符对应的挂载点以使原有磁盘设备在内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将磁盘的内核模块名称和设备文件名称一致。
在本发明的实施例中,设备管理工具Udev对于磁盘的每次插拔行为均有记录,从而通过查询设备管理工具Udev中的磁盘插拔记录可以获知是否初始盘符的顺序与原有盘符的顺序不一致,或者磁盘所在的槽位顺序对应的盘符不能被使用,从而可以判断是否发生盘符漂移。
根据设备管理工具Udev记录的磁盘插拔记录卸载原有盘符对应的挂载点,为添加磁盘分配新的盘符,从而使得原有磁盘设备(已经被删除了)在内核中的引用得以释放,再以模拟热插拔的方式重新加载硬盘,从而使得磁盘的内核模块名和设备文件名与原有的盘符保持一致,从而避免盘符漂移。
下面对模拟热插拔进行解释。模拟热插拔是指设备管理工具Udev先将添加磁盘模拟拔出,但实际的磁盘并未被拔出,故而称之为模拟拔出。由于,磁盘的插拔动作均在设备管理工具Udev中有记录,从而根据该记录可以获知哪个磁盘被拔出。然后根据磁盘插拔记录查找之前被拔出的磁盘的盘符,并将之前拔出的磁盘的盘符分配给该添加磁盘的盘符。
根据本发明实施例的盘符漂移处理方法,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的装置避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
本发明实施例的盘符漂移处理装置,包括:内核和设备管理工具Udev。其中,该盘符漂移处理方法可以应用于服务器及磁盘运维管理方面。内核用于发出Uevent(user space event)。在本发明的一个实施例中,内核可以为Linux内核,例如Linux 2.6及更高版本。
设备管理工具Udev用于以守护进程的形式侦听所述内核发出的Uevent以及记录磁盘的插拔记录。其中,设备管理工具Udev为在用户空间以守护进程的形式运行,通过侦听内核发出的设备事件Uevent管理设备管理目录(/dev)下的设备文件。
在本发明的一个实施例中,设备管理工具Udev根据Uevent对设备管理目录下的设备文件进行管理。当删除或加载磁盘时,设备管理工具Udev620的守护进程侦听来自内核的Uevent,对设备管理目录(/dev)下的设备文件进行添加或删除操作。
设备管理工具Udev在接收到Uevent后,匹配Udev规则(rule)。对Uevent的类型进行判断,判断Uevent为对磁盘的操作。其中,无论磁盘是被***踢出(reject)、重置(reset)或者被人为拔出,均会检测到Uevent的行为action为remove行为,即判断Uevent的类型为操作行为。
当磁盘被添加至***时,则判断Uevent的类型为添加操作行为(add)。
根据Uevent的类型的不同,触发相应的Udev rule调用策略。在本发明的一个实例中,本发明实施例的盘符漂移预防及处理装置涉及到的Udev rule策略以udev script的形式实现。
当磁盘被加载时,设备管理工具Udev会检测到Uevent的action:add,即Uevent为添加操作。在缺省规则下,在设备管理目录/dev下会使用内核驱动模块名作为设备文件名。
设备管理工具Udev620当Uevent为对磁盘的添加操作时,判断磁盘是否发生漂移。
具体地,当出现以下情况之一时,设备管理工具Udev620判断发生盘符漂移:
(1)初始盘符的顺序与原有盘符的顺序不一致。
例如,磁盘的初始盘符为3,而原有盘符顺序为第4,则可以判断发生了盘符漂移。
(2)磁盘所在的槽位顺序对应的盘符不能被使用。
例如,***包括12个槽位,可以放置12个磁盘。如果磁盘的初始盘符被分配至第13的盘符,可以判断磁盘所在的槽位顺序对应的盘符超出了槽位的范围,磁盘所在的槽位顺序对应的盘符不能被使用,则判断发生了盘符漂移。
如果设备管理工具Udev判断为发生盘符漂移,则将初始盘符作为添加磁盘的最终盘符。如果判断已发生盘符漂移,则设备管理工具Udev卸载原有盘符对应的挂载点以使原有磁盘设备在内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将磁盘的内核模块名称和设备文件名称一致。
在本发明的实施例中,设备管理工具Udev对于磁盘的每次插拔行为均有记录,从而通过查询设备管理工具Udev中的磁盘插拔记录可以获知是否初始盘符的顺序与原有盘符的顺序不一致,或者磁盘所在的槽位顺序对应的盘符不能被使用,从而可以判断是否发生盘符漂移。
根据设备管理工具Udev记录的磁盘插拔记录卸载原有盘符对应的挂载点,为添加磁盘分配新的盘符,从而使得原有磁盘设备(已经被删除了)在内核中的引用得以释放,再以模拟热插拔的方式重新加载硬盘,从而使得磁盘的内核模块名和设备文件名与原有的盘符保持一致,从而避免盘符漂移。
下面对模拟热插拔进行解释。模拟热插拔是指设备管理工具Udev先将添加磁盘模拟拔出,但实际的磁盘并未被拔出,故而称之为模拟拔出。由于,磁盘的插拔动作均在设备管理工具Udev中有记录,从而根据该记录可以获知哪个磁盘被拔出。然后根据磁盘插拔记录查找之前被拔出的磁盘的盘符,并将之前拔出的磁盘的盘符分配给该添加磁盘的盘符。
根据本发明实施例的盘符漂移处理装置,通过Uevent事件机制,可检测到磁盘的插拔行为,及时卸载在上述情况发生时磁盘在***中的设备挂载点,使得磁盘在内核中的设备文件数据得以释放,从而避免再次加载磁盘时盘符顺序发生漂移。当磁盘加载后,如果发现盘符发生了漂移,该方法可以及时处理,保证磁盘重新加载后能被分配到正确的盘符。通过本发明的装置避免了盘符漂移,从而可以保证***加载的磁盘能够被正常使用,更换故障磁盘时,也能杜绝拔错磁盘的问题。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (20)
1.一种盘符漂移预防及处理方法,其特征在于,包括以下步骤:
内核中的设备管理工具Udev以守护进程的形式侦听所述内核发出的Uevent;
当所述设备管理工具Udev监控到删除磁盘的Uevent时,则检查所述磁盘设备在***中的挂载点是否已被卸载,如果所述磁盘设备处于挂载状态,则卸载对应的盘符;以及
当所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。
2.如权利要求1所述的盘符漂移预防及处理方法,其特征在于,所述设备管理工具Udev根据所述Uevent对设备管理目录下的设备文件进行管理,当删除或加载所述磁盘时,所述设备管理工具Udev的守护进程对所述设备管理目录下的设备文件进行添加或删除操作。
3.如权利要求1所述的盘符漂移预防及处理方法,其特征在于,所述内核为Linux内核。
4.如权利要求1所述的盘符漂移预防及处理方法,其特征在于,如果所述初始盘符的顺序与原有盘符的顺序不一致,或者所述磁盘所在的槽位顺序对应的盘符不能被使用,则判断发生盘符漂移。
5.一种盘符漂移预防及处理装置:包括:
内核,用于发出Uevent;
设备管理工具Udev,用于以守护进程的形式侦听所述内核发出的Uevent,记录磁盘插拔行为,并当Uevent为对磁盘的操作时,如果所述设备管理工具Udev监控到删除磁盘的Uevent时,则检查所述磁盘设备在***中的挂载点是否已被卸载,如果所述磁盘设备处于挂载状态,则卸载对应的盘符;如果所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。
6.如权利要求5所述的盘符漂移预防及处理装置,其特征在于,所述设备管理工具Udev还用于根据所述Uevent对设备管理目录下的设备文件进行管理,
当删除或加载所述磁盘时,所述设备管理工具Udev的守护进程对所述设备管理目录下的设备文件进行添加或删除操作。
7.如权利要求5所述的盘符漂移预防及处理装置,其特征在于,所述内核为Linux内核。
8.如权利要求5所述的盘符漂移预防及处理装置,其特征在于,所述设备管理工具Udev在所述初始盘符的顺序与原有盘符的顺序不一致,或者所述磁盘所在的槽位顺序对应的盘符不能被使用。
9.一种盘符漂移预防方法,其特征在于,包括以下步骤:
内核中的设备管理工具Udev以守护进程的形式侦听所述内核发出的Uevent;以及
当Uevent为对磁盘的操作时,如果所述设备管理工具Udev监控到删除磁盘的Uevent时,所述设备管理工具Udev对***中所述磁盘的挂载情况进行检查,并在所述磁盘处于挂载状态时卸载所述磁盘对应的挂载点以使所述内核释放对应的磁盘在所述内核中的驱动模块。
10.如权利要求9所述的盘符漂移预防方法,其特征在于,所述内核为Linux内核。
11.一种盘符漂移预防装置,包括:
内核,用于发出Uevent;
设备管理工具Udev,用于以守护进程的形式侦听所述内核发出的Uevent,并当所述Uevent为对磁盘的操作时,如果所述设备管理工具Udev监控到删除磁盘的Uevent时,对所述***中所述磁盘的挂载情况进行检查,并在所述磁盘处于挂载状态时卸载所述磁盘对应的挂载点以使所述内核释放对应的磁盘在所述内核中的驱动模块。
12.如权利要求11所述的盘符漂移预防装置,其特征在于,所述内核为Linux内核。
13.一种盘符漂移处理方法,其特征在于,包括以下步骤:
内核中的设备管理工具Udev以守护进程的形式侦听所述内核发出的Uevent;以及
当所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。
14.如权利要求13所述的盘符漂移处理方法,其特征在于,所述设备管理工具Udev根据所述Uevent对设备管理目录下的设备文件进行管理,当加载所述磁盘时,所述设备管理工具Udev的守护进程对所述设备管理目录下的设备文件进行添加。
15.如权利要求13所述的盘符漂移处理方法,其特征在于,所述内核为Linux内核。
16.如权利要求13所述的盘符漂移处理方法,其特征在于,如果所述初始盘符的顺序与原有盘符的顺序不一致,或者所述磁盘所在的槽位顺序对应的盘符不能被使用。
17.一种盘符漂移处理装置,包括:
内核,用于发出Uevent;
设备管理工具Udev,用于以守护进程的形式侦听所述内核发出的Uevent以及记录磁盘的插拔行为,如果所述设备管理工具Udev监控到加载磁盘设备的Uevent时,如果检查到被分配的盘符发生了漂移,则卸载原有盘符对应的挂载点以使原有磁盘设备在所述内核中的引用得到释放,并且以模拟热插拔的方式重新加载磁盘以将所述磁盘的内核模块名称和设备文件名称一致。
18.如权利要求17所述的盘符漂移处理装置,其特征在于,所述设备管理工具Udev根据所述设备事件Uevent对设备管理目录下的设备文件进行管理,当加载所述磁盘时,所述设备管理工具Udev的守护进程对所述设备管理目录下的设备文件进行添加。
19.如权利要求17所述的盘符漂移处理装置,其特征在于,所述内核为Linux内核。
20.如权利要求17所述的盘符漂移处理装置,其特征在于,所述设备管理工具在所述初始盘符的顺序与原有盘符的顺序不一致,或者所述磁盘所在的槽位顺序对应的盘符不能被使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210337890.6A CN103677650B (zh) | 2012-09-12 | 2012-09-12 | 盘符漂移预防及处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210337890.6A CN103677650B (zh) | 2012-09-12 | 2012-09-12 | 盘符漂移预防及处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677650A true CN103677650A (zh) | 2014-03-26 |
CN103677650B CN103677650B (zh) | 2017-02-08 |
Family
ID=50315364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210337890.6A Active CN103677650B (zh) | 2012-09-12 | 2012-09-12 | 盘符漂移预防及处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677650B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461402A (zh) * | 2014-12-29 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种linux***下多控制器间调整磁盘顺序的方法 |
CN104699423A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | Linux***中绑定盘符的方法和装置 |
CN106681799A (zh) * | 2017-01-03 | 2017-05-17 | 北京百度网讯科技有限公司 | ***磁盘的方法、装置和*** |
CN107102695A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 用于丛集式储存***的判断异常硬盘之装设位置的方法 |
CN107239273A (zh) * | 2017-05-02 | 2017-10-10 | 杭州沃趣科技股份有限公司 | 一种服务器的磁盘盘符绑定方法 |
CN107506151A (zh) * | 2017-09-06 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种通过reset SAS、raid卡调整***下磁盘盘符顺序的方法 |
CN107766000A (zh) * | 2017-10-16 | 2018-03-06 | 北京易讯通信息技术股份有限公司 | 一种云计算中基于分布式存储的数据安全擦除方法 |
CN108733501A (zh) * | 2017-04-14 | 2018-11-02 | 优估(上海)信息科技有限公司 | 一种盘符校正方法、装置、设备及计算机可读存储介质 |
CN108845762A (zh) * | 2018-05-29 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种解决热插拔时磁盘盘符漂移方法及装置 |
CN109117344A (zh) * | 2018-08-29 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种存储单元的启动前校验方法及装置 |
CN109408442A (zh) * | 2018-12-28 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种多芯片扩展装置及扩展方法 |
CN111625193A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种多路径别名的配置方法、装置、设备及介质 |
CN114691052A (zh) * | 2022-05-31 | 2022-07-01 | 杭州沃趣科技股份有限公司 | 一种磁盘的更换方法、装置、计算机设备及存储介质 |
CN114721603A (zh) * | 2022-06-10 | 2022-07-08 | 浙江豪联信息科技有限公司 | 避免磁盘漂移的电数据处理识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6053739A (en) * | 1996-04-10 | 2000-04-25 | Stewart; Donald B. | Measurement of attention span and attention deficits |
EP1164475A2 (de) * | 2000-06-08 | 2001-12-19 | Deutsche Telekom AG | Verfahren zur Installation von Software in einer Hardware |
CN101520792A (zh) * | 2008-12-17 | 2009-09-02 | 康佳集团股份有限公司 | 一种自动挂载与识别***文件的方法及其*** |
CN102521114A (zh) * | 2011-11-30 | 2012-06-27 | 华中科技大学 | 一种虚拟化环境下的文件***日志存储*** |
-
2012
- 2012-09-12 CN CN201210337890.6A patent/CN103677650B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6053739A (en) * | 1996-04-10 | 2000-04-25 | Stewart; Donald B. | Measurement of attention span and attention deficits |
EP1164475A2 (de) * | 2000-06-08 | 2001-12-19 | Deutsche Telekom AG | Verfahren zur Installation von Software in einer Hardware |
CN101520792A (zh) * | 2008-12-17 | 2009-09-02 | 康佳集团股份有限公司 | 一种自动挂载与识别***文件的方法及其*** |
CN102521114A (zh) * | 2011-11-30 | 2012-06-27 | 华中科技大学 | 一种虚拟化环境下的文件***日志存储*** |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461402B (zh) * | 2014-12-29 | 2018-04-06 | 浪潮电子信息产业股份有限公司 | 一种linux***下多控制器间调整磁盘顺序的方法 |
CN104461402A (zh) * | 2014-12-29 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种linux***下多控制器间调整磁盘顺序的方法 |
CN104699423A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | Linux***中绑定盘符的方法和装置 |
CN104699423B (zh) * | 2015-03-13 | 2018-08-21 | 华为技术有限公司 | Linux***中绑定盘符的方法和装置 |
CN107102695A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 用于丛集式储存***的判断异常硬盘之装设位置的方法 |
CN107102695B (zh) * | 2016-02-22 | 2020-07-24 | 佛山市顺德区顺达电脑厂有限公司 | 用于丛集式储存***的判断异常硬盘之装设位置的方法 |
CN106681799A (zh) * | 2017-01-03 | 2017-05-17 | 北京百度网讯科技有限公司 | ***磁盘的方法、装置和*** |
CN108733501A (zh) * | 2017-04-14 | 2018-11-02 | 优估(上海)信息科技有限公司 | 一种盘符校正方法、装置、设备及计算机可读存储介质 |
CN107239273A (zh) * | 2017-05-02 | 2017-10-10 | 杭州沃趣科技股份有限公司 | 一种服务器的磁盘盘符绑定方法 |
CN107239273B (zh) * | 2017-05-02 | 2020-08-28 | 杭州沃趣科技股份有限公司 | 一种服务器的磁盘盘符绑定方法 |
CN107506151A (zh) * | 2017-09-06 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种通过reset SAS、raid卡调整***下磁盘盘符顺序的方法 |
CN107506151B (zh) * | 2017-09-06 | 2021-04-23 | 郑州云海信息技术有限公司 | 一种通过reset SAS、raid卡调整***下磁盘盘符顺序的方法 |
CN107766000A (zh) * | 2017-10-16 | 2018-03-06 | 北京易讯通信息技术股份有限公司 | 一种云计算中基于分布式存储的数据安全擦除方法 |
CN108845762A (zh) * | 2018-05-29 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种解决热插拔时磁盘盘符漂移方法及装置 |
CN109117344A (zh) * | 2018-08-29 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种存储单元的启动前校验方法及装置 |
CN109408442A (zh) * | 2018-12-28 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种多芯片扩展装置及扩展方法 |
CN109408442B (zh) * | 2018-12-28 | 2024-04-09 | 郑州云海信息技术有限公司 | 一种多芯片扩展装置及扩展方法 |
CN111625193A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种多路径别名的配置方法、装置、设备及介质 |
CN114691052A (zh) * | 2022-05-31 | 2022-07-01 | 杭州沃趣科技股份有限公司 | 一种磁盘的更换方法、装置、计算机设备及存储介质 |
CN114721603A (zh) * | 2022-06-10 | 2022-07-08 | 浙江豪联信息科技有限公司 | 避免磁盘漂移的电数据处理识别方法 |
CN114721603B (zh) * | 2022-06-10 | 2022-08-26 | 浙江豪联信息科技有限公司 | 避免磁盘漂移的电数据处理识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103677650B (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677650A (zh) | 盘符漂移预防及处理方法及装置 | |
US7525749B2 (en) | Disk array apparatus and disk-array control method | |
EP3179359B1 (en) | Data sending method, data receiving method, and storage device | |
US7934071B2 (en) | Method of managing storage capacity in a storage system, a storage device and a computer system | |
CN101641681B (zh) | 自管理处理设备 | |
CN104156298A (zh) | 一种应用监控方法及装置 | |
US20050033933A1 (en) | Systems and methods for modifying disk drive firmware in a raid storage system | |
US7983171B2 (en) | Method to manage path failure thresholds | |
EP3697024B1 (en) | Data processing method, device and distributed storage system | |
CN111240903A (zh) | 数据恢复方法及相关设备 | |
CN105573872A (zh) | 数据存储***的硬盘维护方法和装置 | |
CN109445909A (zh) | 虚拟机数据的备份方法、***、终端及存储介质 | |
US8176188B2 (en) | Billing adjustment for power on demand | |
CN110968456B (zh) | 分布式存储***中故障磁盘的处理方法及装置 | |
US8887145B2 (en) | Storage device and configuration-information storing method | |
US20190065065A1 (en) | Data protection method and storage server | |
CN106776142B (zh) | 一种数据存储方法以及数据存储装置 | |
US10747706B2 (en) | Server event log storage and retrieval system | |
KR102221593B1 (ko) | 단말의 설치 환경 유지를 위한 시스템 | |
CN105426273B (zh) | 恢复物理存储单元数据的方法和服务器 | |
CN114579357A (zh) | 服务数据存储阵列中的数据存储设备 | |
CN105138283A (zh) | 计算机磁盘、用于计算机磁盘的数据管理方法及装置 | |
CN111104256A (zh) | 一种数据读取方法、装置、设备及存储介质 | |
CN104008338A (zh) | 一种Android恶意程序处理方法、装置及设备 | |
CN110287066A (zh) | 一种服务器分区迁移方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |