本发明涉及嵌入式系统的技术领域,具体涉及一种解决Linux磁盘乱序的方法及系统。
背景技术:
每次Linux系统重启,磁盘设备名称都有可能变化,这是因为对驱动加载的顺序,磁盘扫描顺序都不是固定的,所以这个现象是正常现象。RHEL没有固定的驱动加载顺序,如果是相同驱动内的多个磁盘设备名称,目前还没有找到办法可以设定名称。
鉴于此种情况,本领域亟需一种可以解决磁盘乱序的技术方案。
技术实现要素:
基于上述问题,本发明提出了一种解决Linux磁盘乱序的方法及系统。
本发明提供如下技术方案:
一方面,本发明提供了一种解决Linux磁盘乱序的方法,包括:
步骤101,查询磁盘设备的WWID;
步骤102,配置udev规则,根据所述udev规则的结果信息进行匹配,匹配成功则添加一个设备文件,生成磁盘别名;
步骤103,重启Linux系统使所述配置生效。
其中,通过scsi_id命令获取所述磁盘设备的WWID信息。
其中,所述udev规则在/etc/udev/rules.d下。
其中,所述配置保持内核分配的磁盘设备名不变。
另外,本发明还提供了一种解决Linux磁盘乱序的系统,所述系统包括:
查询模块,用于查询磁盘设备的WWID;
配置模块,用于配置udev规则,根据所述udev规则的结果信息进行匹配,匹配成功则添加一个设备文件,生成磁盘别名;
重启模块,用于重启Linux系统使所述配置生效。
其中,通过scsi_id命令获取所述磁盘设备的WWID信息。
其中,所述udev规则在/etc/udev/rules.d下。
其中,所述配置保持内核分配的磁盘设备名不变。
本发明提供了一种解决Linux磁盘乱序的方法及系统,使用udev规则来对磁盘的WWID生成别名,获取到磁盘的WWID信息,根据结果信息比较匹配,匹配符合则会添加一个设备文件,生成磁盘设备别名;本发明通过采用重命名的方式把磁盘名称固定,从而解决Linux系统磁盘乱序的问题,保障了用户在操作过程中不会因为误操做磁盘而造成系统问题。
附图说明
图1是本发明的方法流程图。
图2是本发明的系统结构框图。
具体实施方式
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
一方面,本发明的实施方式提供了一种解决Linux磁盘乱序的方法,附图1为本发明的方法流程图,包括:
步骤101,查询磁盘设备的WWID;
其中,通过scsi_id命令获取所述磁盘设备的WWID信息。
步骤102,配置udev规则,根据所述udev规则的结果信息进行匹配,匹配成功则添加一个设备文件,生成磁盘别名;
所述udev规则为:
ACTION==\"add|change\",KERNEL==\"sd*\",PROGRAM==\"/sbin/scsi_id--whitelisted--replace-whitespace--device=%N\",RESULT==\"3600a0980383038566e2a73ad0d76556b\",SYMLINK=\"mydiskA\";
其中,udev规则在/etc/udev/rules.d下,本发明实际上并不是对磁盘设备名进行修改,而是在kernel分配的磁盘设备名不变的基础上,添加一个别名,先通过scsi_id命令来获取到磁盘的WWID信息,然后根据RESULT后面的信息相比较,符合则会添加一个设备文件,名字是mydiskA。
步骤103,重启Linux系统使所述配置生效。
其中,Reboot所述Linux系统。
本发明提供了一种解决Linux磁盘乱序的方法,使用udev规则来对磁盘的WWID生成别名,获取到磁盘的WWID信息,根据结果信息比较匹配,匹配符合则会添加一个设备文件,生成磁盘设备别名;本发明通过采用重命名的方式把磁盘名称固定,从而解决Linux系统磁盘乱序的问题,保障了用户在操作过程中不会因为误操做磁盘而造成系统问题。
另一方面,本发明的实施方式提供了一种解决Linux磁盘乱序的系统,附图2为本发明的系统结构框图,所述系统包括:
查询模块201,用于查询磁盘设备的WWID;
其中,通过scsi_id命令获取所述磁盘设备的WWID信息。
配置模块202,用于配置udev规则,根据所述udev规则的结果信息进行匹配,匹配成功则添加一个设备文件,生成磁盘别名;
所述udev规则为:
ACTION==\"add|change\",KERNEL==\"sd*\",PROGRAM==\"/sbin/scsi_id--whitelisted--replace-whitespace--device=%N\",RESULT==\"3600a0980383038566e2a73ad0d76556b\",SYMLINK=\"mydiskA\";
其中,udev规则在/etc/udev/rules.d下,本发明实际上并不是对磁盘设备名进行修改,而是在kernel分配的磁盘设备名不变的基础上,添加一个别名,先通过scsi_id命令来获取到磁盘的WWID信息,然后根据RESULT后面的信息相比较,符合则会添加一个设备文件,名字是mydiskA。
重启模块203,用于重启Linux系统使所述配置生效。
Reboot所述Linux系统。
本发明提供了一种解决Linux磁盘乱序的系统,使用udev规则来对磁盘的WWID生成别名,获取到磁盘的WWID信息,根据结果信息比较匹配,匹配符合则会添加一个设备文件,生成磁盘设备别名;本发明通过采用重命名的方式把磁盘名称固定,从而解决Linux系统磁盘乱序的问题,保障了用户在操作过程中不会因为误操做磁盘而造成系统问题。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。