Linux网卡没有漂移什么原因,Linux驱动器号漂移问题和解决方法

b8b6249ae027aac1e788799ca8d039a1.gif

在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 / sdb,2号槽位的硬盘号为/ dev / sdb,3号槽位的硬盘号为/ dev / sdc

x 0

cf2fa56be7e0a59c6d39a73e93b6c6be.png

sdb2

x 4

sda1

x 3

sdc5

系统启动后,我们热插拔硬盘并将硬盘插入插槽3中,那么硬盘的驱动器号为/ dev / sdd。

x 0

sdb2

x 4

sda1

sdd3

sdc5

2f21d00aeae344dd2b4bb45dc655dbee.png

分别将硬盘插入插槽0和4,然后系统驱动器号为:

sde0

sdb2

sdf4

sda1

sdd3

sdc5

从上面可以看到,Linux分配给硬盘的驱动器号与插槽无关,仅与插入顺序无关。

同时,即使在同一插槽中的硬盘驱动器号也会漂移。例如,当系统中的某个进程正在读写磁盘/ dev / sdd时,如果我们此时拔出硬盘并在以后插入硬盘,则此时获得的驱动器号可能是/ dev / sdg,而不是所需的/ dev / sdd。

sde0

sdb2

sdf4

45a8367fe0f186a15b328df8bff78f0d.png

sda1

sdg3

sdc5

驱动器字母漂移现象给用户带来极大的不便,尤其是使用裸露设备的用户。

有两种解决方案:

1.用户模式,企业编写脚本以实现绑定;

解决方案一

对于以下所示的fstab,系统启动时,它将自动执行每一行mount操作,将/ dev / sda装载到/ data / disk1,依此类推。如果磁盘是热插拔的,并且第一个磁盘的驱动器号从/ dev / sda更改为/ dev / sdc,则fstab无法正确安装第一个磁盘。

1

/ dev / sda / data / disk1 ext4默认值,noatime 0 0

/ dev / sdb / data / disk2 ext4默认值,noatime 0 0

为了确保在驱动器号漂移时仍可以正常安装磁盘,请首先对fstab进行以下改进,然后根据磁盘标签进行安装;例如,第一行的意思是将标记为disk1的磁盘安装到/ data / disk1。

a19ac1f642f6af262537e42435a61a9b.png

LABEL = disk1 / data / disk1 ext4默认值,noatime 0 0

LABEL = disk2 / data / disk2 ext4默认值,noatime 0 0

下一个问题是如何为磁盘设置标签。对于ext系列文件系统,可以通过e * label设置标签。您还可以在格式化磁盘时设置标签。

mke4fs / dev / sda -L disk1

或mke4fs / dev / sda; e4label / dev / sda disk1

完成上述设置后,磁盘/ dev / sda的标签为disk1。即使该磁盘的驱动器号已更改,也要在fstab中将磁盘1标记为disk的磁盘挂载,即,挂载/ dev / sda,因为该标签未更改,并且fstab也可以正确地挂载该磁盘;由mke4fs或e4label设置的标签实际上已绑定到文件系统,并且是文件系统超级块的一部分,可以通过tune4fs进行查询。

方案二

设置标签后,如果重新格式化磁盘上的文件系统,则原来设置的标签将不再存在。这就是标签机制不足的地方。如果要解决此问题,可以使用In fstab,根据UUID装入磁盘。磁盘的UUID不变,无论驱动器号或标签是否更改。但是,使用UUID的缺点是它不灵活并且不利于部署。

1

UUID = 356fdf58-6923-43d5-9a09-349159c7c8a6 / data / disk1 ext4默认值,noatime 0 0

UUID = 3b93fbad-bea2-4cbb-9a76-b4885924d287 / data / disk1 ext4默认值,noatime 0 0

2.内核模式,修改内核和驱动程序以实现驱动器号绑定,用户模式不需要做任何操作; (这涉及到磁盘驱动器的修改,有必要促使硬件制造商跟进,这比较困难)

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/dianqi/article-313206-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值