在某些情况下,磁盘的设备节点名称(/dev/sda、/dev/hda、/dev/vda 等)可能会发生变化。
例如,在交换电缆或者升级某些软件包后,sda 和 sdc 可以交换位置。
当 /etc/fstab 通过磁盘名称引用文件系统时,这会导致问题。
使用块设备节点名称(如 /dev/sda1 和 /dev/vdb2)来引用 /etc/fstab 中的文件系统是不安全的。
相反,使用文件系统 UUID(通用唯一标识符)或者标签。
其中任何一个都允许在不求助于临时块设备名称的情况下识别文件系统。
注意:如果文件系统驻留在 LVM 逻辑卷上,则不需要 UUID 和标签,就像在默认的 RHEL/CentOS 安装中一样。
欢迎 on
it
road
1. 使用 tune2fs 更改 UUID
- 为了能够更改文件系统的 UUID,必须先卸载它。
# umount /data
- tune2fs 命令允许使用 -U 标志更改 UUID。
-U 标志允许生成随机 UUID 或者基于时间的 UUID。
# tune2fs -U random /dev/sdc1 tune2fs 1.42.9 (28-Dec-2013)
- 修改现有 UUID 时,请确保更新对 fstab 中旧标签的所有引用。
首先检查新的 UUID,然后在 /etc/fstab 文件中进行适当的更改。
# blkid | grep sdc1 /dev/sdc1: UUID="d2c27808-f88f-44bc-bb1d-de3b03d133e4" TYPE="ext4"
# vi /etc/fstab UUID="d2c27808-f88f-44bc-bb1d-de3b03d133e4" /data ext4 defaults 0 2
- 再次挂载文件系统。
# mount /data
检查文件系统的当前 UUID
- 要查找文件系统的当前 UUID,我们可以使用以下任一命令。
# blkid /dev/sdc1 /dev/sdc1: UUID="94ddf54e-53f7-4a1a-bd2f-d0a01ee448d1" TYPE="ext4"
# dumpe2fs /dev/sdc1 | grep UUID dumpe2fs 1.42.9 (28-Dec-2013) Filesystem UUID: 94ddf54e-53f7-4a1a-bd2f-d0a01ee448d1
我们还可以在文件 /etc/fstab 中查看 UUID,如果有为文件系统手动完成的条目。
# grep data /etc/fstab UUID="94ddf54e-53f7-4a1a-bd2f-d0a01ee448d1" /data ext4 defaults 0 2
日期:2020-09-17 00:12:11 来源:oir作者:oir