Linux驱动器号漂移问题和解决方法

电脑杂谈  发布时间:2020-09-03 20:10:26  来源:网络整理

硬盘分区盘符_100m分区无法更改盘符_硬盘盘符不显示

在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

100m分区无法更改盘符_硬盘盘符不显示_硬盘分区盘符

sdb2

x 4

sda1

x 3

sdc5

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

x 0

sdb2

x 4

sda1

sdd3

sdc5

硬盘分区盘符_硬盘盘符不显示_100m分区无法更改盘符

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

sde0

sdb2

sdf4

sda1

sdd3

sdc5

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

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

sde0

sdb2

sdf4

硬盘盘符不显示_硬盘分区盘符_100m分区无法更改盘符

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。

硬盘盘符不显示_100m分区无法更改盘符_硬盘分区盘符

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


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-313206-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 黎姿
        黎姿

        二炮部队演习

      • 德鲁
        德鲁

        很好听为了你自己的梦想还有为了喜欢你的人继续努力吧加油

      • 马俊旗
        马俊旗

        言语恰当

      热点图片
      拼命载入中...