Linux 硬盘和槽位

第一步:可以使用命令查询硬盘序列号 smartctl -a /dev/sdc
第二步:使用硬盘SN号到服务器带外管理介面查询

注:smartctl 工具安装方法#yum install smartmontools

介绍一下Linux硬盘盘符的分配原则

在Linux系统中,若存在多块硬盘,内核分配盘符的顺序是/dev/sda、/dev/sdb、/dev/sdc … …。在系统启动过程中,内核会按照扫描到硬盘的顺序分配盘符。

内核中分配盘符函数,见链接http://ilinuxkernel.com/?p=794
Linux内核通过IDR(integer ID)机制来分配盘符,即找到一个空闲的整数。内核针对SCSI盘符,从0开始分配整数。整数0对应的盘符为/dev/sda,关系如下:
若index=0,则分配给此块SCSI硬盘的盘符为sda;
若index=1,则分配给此块SCSI硬盘的盘符为sdb;
… …
若index=25,则分配给此块SCSI硬盘的盘符为sdz;

如在有12硬盘的服务器中,每个物理槽位均插一块硬盘,且没有做RAID,硬盘物理槽位关系如下: 

0369
14710
25811

 那么Linux内核启动后,IDR机制分配的盘符的整数为0、1、2、3、4、5、6、7、8、9、10、11,对应的硬盘盘符如下:

 系统运行过程中,若拔掉第5块盘,如下图所示:

则此时系统中,/dev/sde盘符消失,内核针对SCSI盘符的IDR整数4就空闲出来。当再次将该硬盘插入时,得到的盘符仍然是/dev/sde。

非热插拔硬盘盘符分配示例

如下图,第5个硬盘物理槽位没有硬盘。系统重启后,盘符对应关系如下。系统中没有盘符/dev/sdl,缺少不是最后一块硬盘,而是第5块硬盘。

 下图是第5块和第9块物理槽位硬盘不在位时,OS盘符对应关系。

热插拔硬盘盘符分配示例

下图是第1、5、9块硬盘不在位时,OS盘符对应关系,此时没有热插拔硬盘。

 

 系统运行过程中,先热插拔一块到第1个物理槽位,此时得到的盘符为/dev/sdj,然后插入一块硬盘到第9个物理槽位,此时分配的盘符为/dev/sdk。

 

 若插入2块硬盘后,机器重启,则盘符对应关系如下。从这里我们可以看出,硬盘盘符和物理槽位没有必然直接对应关系。

硬盘盘符为什么会漂移

服务器只有12块物理硬盘,但在系统运行过程中或更换硬盘时,会出现/dev/sdm、/dev/sdn等类似盘符。下面示例,系统运行过程中,我们把第5块硬盘拔出再插入,此时得到的硬盘盘符可能为/dev/sdm。

当我们拔出硬盘后,内核会调用sd_remove()函数卸载硬盘,正常情况下会清除该硬盘盘符占用的所有资源,包括SCSI盘符对应的IDR整数。但我们拔出硬盘时,若系统有进程正在访问该硬盘,则内核不会删除对应IDR的整数,该整数就会被占用,再次插入硬盘时,就分配新的IDR整数给盘符,导致盘符漂移。

如上面第5块硬盘,内核分配的IDR值为4,但硬盘拔出再插入后,应为IDR值为4没被释放,内核找到空闲的IDR就会12,此时盘符就变为/dev/sdm。盘符变为/dev/sdn等时,以此类推。

链接:http://ilinuxkernel.com/?p=958

相关问题一: 如果Linux盘符sda-z用完后,名称如何变化呢?

如下:

The kernel will continue to assign names in the form of sdaasdab and so on. There may be a bug preventing it from going beyond sdzzz, but in theory, it's going to continue forever (that is up to 18278 due to data type limitations).

链接:https://askubuntu.com/questions/47447/block-devices-sda-sdb-sdc-what-comes-after-sdz

 相关问题二:Windows盘符26个字母用完后参考如下链接:

https://blog.csdn.net/meiyimin/article/details/104689598

相关问题三:浅析硬盘Media Error

https://cloud.tencent.com/developer/article/1707945

相关问题四:Linux硬盘和槽位相关命令

https://www.cnblogs.com/onlybobby/p/11282296.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值