Linux——重启服务器后磁盘名称错乱

背景

某台服务器有如下文件系统,fwork1 挂载在/dev/sda1,fwork2挂载在 /dev/sdb1

某次添加新硬盘重启后,变成了fowrk1挂载在/dev/sdb1,fwork2挂载到/dev/sda1。

原因

Linux 中的设备路径不能保证在重启后保持一致。设备名称由主要数字(字母)和次要数字组成。当 Linux 存储设备驱动程序检测到新设备时,驱动程序会将可用范围内的主要和次要数字分配给设备。删除设备后,将释放设备编号以供重复使用。

出现此问题的原因是 SCSI 子系统将 Linux 中的设备扫描计划为异步进行。因此,设备路径名在重新启动时可能会有所不同。

解决方法

若要解决此问题,请使用持久命名。有四种方法可以使用持久命名:

  • 按文件系统标签
  • 按 UUID
  • 按 ID
  • 按路径

我们建议对 Linux VM 使用文件系统标签或 UUID。

查看UUID

要查找新驱动器的 UUID,请使用以下实用程序:blkid

sudo blkid  -s UUID

修改fstab文件,分区名改成 UUID

sudo vim /etc/fstab
UUID=71c7a4ab-4388-4d89-81bc-b56ee69f4d70               /fwork2             ext4    defaults              0      0

重新挂载磁盘

sudo mount -a

参考:

排查 Azure 中的 Linux VM 设备名称更改 - 虚拟机|微软文档 (microsoft.com)

使用 Azure CLI 将数据磁盘添加到 Linux VM - Azure 虚拟机|微软文档 (microsoft.com)

猜你喜欢

转载自blog.csdn.net/qq_41566366/article/details/124459923