« Oracle数据恢复: ORA-600 kclchkblk_4 案例一则 | 文摘首页 | 使用udev管理 Linux 设备文件 防止盘符改变 »
Linux 操作系统中盘符可能发生的变化
链接:https://www.eygle.com/digest/2012/03/linux_device_number_change.html
原文链接: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 |
历史上的今天...
By eygle on 2012-03-23 17:03 | Comments (0) | 软件工具 | 2979 |