3.6.4 UUID与LABEL的使用
3.6.4 UUID与LABEL的使用#
UUID(通用唯一标识)与LABEL(卷标)用于在挂载与/etc/fstab中稳定标识设备,避免因设备名变化(如/dev/sdb→/dev/sdc)导致挂载失败。UUID全局唯一、可靠性高;LABEL可读性强但需保证唯一性。
原理草图(设备名与稳定标识的关系)
获取UUID与LABEL(命令与说明)
# 查看设备UUID与LABEL
blkid /dev/sdb1
# 预期输出示例:
# /dev/sdb1: UUID="1a2b3c4d-..." TYPE="ext4" LABEL="data01"
# 查看所有块设备与文件系统信息
lsblk -f
# 预期输出示例:
# NAME FSTYPE LABEL UUID MOUNTPOINT
# sdb1 ext4 data01 1a2b3c4d-... /data
# 通过稳定路径查看
ls -l /dev/disk/by-uuid/
ls -l /dev/disk/by-label/
设置与修改LABEL(按文件系统类型)
# ext4 设置LABEL(两种方式任选其一)
e2label /dev/sdb1 data01
# 或
tune2fs -L data01 /dev/sdb1
# xfs 设置LABEL
xfs_admin -L data01 /dev/sdb1
# swap 设置LABEL
swaplabel -L swap01 /dev/sdb2
# 验证
blkid /dev/sdb1
/etc/fstab使用UUID与LABEL(完整示例)
# 编辑 fstab
vim /etc/fstab
# 追加以下行(注意空格与顺序)
UUID=1a2b3c4d-1234-5678-90ab-abcdef123456 /data ext4 defaults,noatime 0 2
# 或使用 LABEL
# LABEL=data01 /data ext4 defaults,noatime 0 2
# 立刻测试挂载,不重启
mount -a
# 预期结果:/data 被正确挂载
df -h | grep /data
关键命令解释
- blkid:读取设备元数据,输出UUID/LABEL/文件系统类型。
- lsblk -f:面向块设备的汇总视图,便于全局校验。
- mount -a:按/etc/fstab重新挂载,测试配置是否正确。
- tune2fs -L / xfs_admin -L:写入或修改文件系统卷标。
排错清单(常见问题与处理)
# 1) 挂载失败:UUID写错或不存在
grep -n "/data" /etc/fstab
blkid | grep -i "1a2b3c4d"
# 2) 克隆磁盘导致UUID重复(ext4)
tune2fs -U random /dev/sdb1
# 3) 克隆磁盘导致UUID重复(xfs)
xfs_admin -U generate /dev/sdb1
# 4) LABEL重复导致挂载混乱
blkid | grep -i LABEL
# 改名后重新挂载
e2label /dev/sdb1 data01_new
mount -a
实践练习
1. 创建一块新分区并格式化为ext4(示例设备为/dev/sdb1),设置LABEL为data01。
2. 使用blkid与lsblk -f分别验证UUID与LABEL。
3. 在/etc/fstab中分别用UUID与LABEL配置挂载到/data,切换并用mount -a测试。
4. 手工制造LABEL重复并观察mount -a错误,再恢复为唯一LABEL。
5. 克隆分区后生成新UUID,确保/etc/fstab更新生效。