原文链接:http://ilinuxkernel.com/?p=462
在
Linux系统中,若存在多块硬盘,通常内核分配盘符的顺序是/dev/sda、/dev/sdb、/dev/sdc ...
...。在系统启动过程中,内核会按照扫描到硬盘的顺序分配盘符。在系统启动后,热插拔硬盘硬盘,系统会顺序分配盘符。在同一个硬盘槽位,每次插入硬盘后,在
系统中的盘符都可能不一致。第一次插入时,盘符可能为/dev/sdb,将硬盘拔除后,再次插入硬盘,盘符可能变为/dev/sde,出现盘符漂移。
假设机器上有6个硬盘槽位,槽位号分别为0~5。其中1、2、5槽位有硬盘,则Linux系统后
| x 0 | √ 2 | x 4 |
| √ 1 | x 3 | √ 5 |
所得到的系统盘符对应关系为:1槽位的硬盘盘符为/dev/sda,2槽位的硬盘盘符为/dev/sdb,3槽位的硬盘盘符为/dev/sdc。
| x 0 | sdb 2 | x 4 |
| sda 1 | x 3 | sdc 5 |
系统启动后,我们热插拔硬盘,将一块硬盘插入3槽位,则该硬盘的盘符为/dev/sdd。
| x 0 | sdb 2 | x 4 |
| sda 1 | sdd 3 | sdc 5 |
再分别在0和4槽位插入硬盘,则系统盘符为:
从上面,我们可以可以看出,Linux分配给硬盘的盘符与所在槽位没有关系,只与插入硬盘的顺序有关。
同时即使在同一槽位的硬盘,也会存在盘符漂移现象。如,当系统中有进程正在读写磁盘/dev/sdd,若此时我们将该硬盘拔除,稍后将硬盘插入,此时得到的盘符可能为/dev/sdg,而不是所希望的/dev/sdd。
| sde 0 | sdb 2 | sdf 4 |
| sda 1 | sdg 3 | sdc 5 |
盘符漂移现象,给用户带来很大不便,尤其是使用裸设备的用户。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




