zl程序教程

您现在的位置是:首页 >  系统

当前栏目

如何解决Linux磁盘乱序的问题

Linux 问题 如何 解决 磁盘 乱序
2023-06-13 09:15:24 时间

背景

最近看腾讯云云硬盘一篇文档(https://cloud.tencent.com/document/product/362/32403) 以下这段通过软链接挂载磁盘方式,开始没太明白为什么要做这样复杂 ??

此云硬盘文档(https://cloud.tencent.com/document/product/362/32403) 分为量部分来介绍挂载磁盘:

1) 购买云硬盘后,直接格式化,通过设备方式挂载,如以下红色部分。

2)然后是将磁盘放到fstab中,就出现第一个截图的挂载方式。

原因

将软链接的方式写入fstab中其实是为解决Linux磁盘挂载乱序的问题 。 当Linux磁盘较多的情况,如/vda、/vdb、/vdc等,假如某块盘坏掉换盘后,前面盘符就会出现顺序错乱的情况,这是Linux工作机制导致的问题,当前Linux磁盘映射会通过以下依次三种顺序:

  • 磁盘驱动程序加载;
  • 主机PCI插槽检测;
  • 磁盘本身监测。

所以这里出现热插拔、异常重启、磁盘异常换盘就会导致磁盘乱序,所以我们可以采用软连接的方式来解决此问题。

操作方式

查找磁盘映射关系。

 tree /dev/disk/*
/dev/disk/by-id
|-- ata-QEMU_DVD-ROM_QM00002 -> ../../sr0
`-- virtio-disk-91mkfy6l -> ../../vdb
/dev/disk/by-label
`-- config-2 -> ../../sr0
/dev/disk/by-partuuid
`-- 4c5be527-01 -> ../../vda1
/dev/disk/by-path
|-- pci-0000:00:01.1-ata-1 -> ../../sr0
|-- pci-0000:00:06.0 -> ../../vda
|-- pci-0000:00:06.0-part1 -> ../../vda1
|-- pci-0000:00:07.0 -> ../../vdb
|-- virtio-pci-0000:00:06.0 -> ../../vda
|-- virtio-pci-0000:00:06.0-part1 -> ../../vda1
`-- virtio-pci-0000:00:07.0 -> ../../vdb
/dev/disk/by-uuid
|-- 2023-02-28-09-55-50-00 -> ../../sr0
|-- 7ce2278a-742e-4a79-8385-116636fe842c -> ../../vdb
`-- c21f153f-c0a8-42db-9ba5-8299e3c3d5b9 -> ../../vda1

通过软链接的方式来挂载磁盘(还可以用标签,操作方式见参考)。

mount -t ext4 /dev/disk/by-uuid/7ce2278a-742e-4a79-8385-116636fe842c /mnt

成功挂载后,再将挂载盘动作写入/etc/fstab ,重启服务器时init会加载此文件,并将此文件中的设备进行挂载。

/dev/disk/by-uuid/7ce2278a-742e-4a79-8385-116636fe842c      /data1  ext4 defaults 0 0

执行以下命令,无报错为加载成功。

mount -a

参考

https://blog.csdn.net/foxempire/article/details/83609081