Linux磁盘WWID和UUID区别
一、WWID和UUID简介
WWID和UUID都是Linux里用来稳定标识存储设备的标识符,但作用层级完全不同。 简单说,WWID标识的是物理磁盘本身,UUID标识的是磁盘上的文件系统。可以类比成:WWID像身份证号,UUID像车牌号。
📝核心区别
- WWID(World Wide Identifier):根据SCSI标准,每个SCSI磁盘都有一个全球唯一的WWID,类似网卡的MAC地址。它由磁盘硬件决定,格式化、分区都不会改变,用于识别物理磁盘本身。
- UUID(Universally Unique Identifier):是文件系统在创建时生成的唯一标识,用于标记文件系统。格式化或重建文件系统后UUID会改变,分区不格式化则没有UUID。
🖥️ 查看命令
- 查看WWID:
ls -l /dev/disk/by-id或scsi_id -g -u /dev/sda(不同系统版本命令路径略有差异) - 查看UUID:
ls -l /dev/disk/by-uuid或blkid
⚠️ 使用场景关键点
-
/etc/fstab挂载文件系统时只能用UUID,不能用WWID,因为挂载的是文件系统而非裸磁盘。 - 多路径(multipath)场景下,同一存储LUN的多个路径(如/dev/sdb~sdi)会显示相同的WWID和UUID,用WWID做多路径整合更稳定。
- 稳定性:WWID比UUID更稳定,磁盘格式化后WWID不变,但UUID会变。
可以理解为:WWID是硬件级的永久标识,UUID是软件级的文件系统标识。搞清这个区别,在配置磁盘绑定、多路径或挂载时就不会弄混了。
二、🔍 查看磁盘WWID
SCSI/SAS 设备:
1
2
3
4
5
6ls -l /dev/disk/by-id/scsi-*
# 或使用 scsi_id 命令
RHEL/CentOS 5:
scsi_id -g -u -s /block/sda
RHEL/CentOS 6:
scsi_id --whitelist /dev/sd*NVMe 设备:
1
2nvme list
# 或查看 /dev/disk/by-id/nvme-*多路径设备:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41multipath -ll
# cat /etc/multipath.conf
\# multipath.conf written by anaconda
defaults {
user_friendly_names yes
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
devnode "^dcssblk[0-9]*"
wwid "*"
}
blacklist_exceptions {
wwid "300060160e2b042007a5ba6d44bece771"
wwid "300060160e2b042000bd016064cece771"
wwid "300060160e2b04200176ad7954cece771"
wwid "300060160e2b0420020c3fcd24cece771"
}
multipaths {
multipath {
wwid 300060160e2b042007a5ba6d44bece771
alias v5200_gi01_lun00
}
multipath {
wwid 300060160e2b04200d0990bea4bece771
alias v5200_gi01_lun01
}
multipath {
wwid 300060160e2b0420075db53f84bece771
alias v5200_gi01_lun02
}
multipath {
wwid 300060160e2b042000bd016064cece771
alias v5200_gi01_lun03
}
}
ℹ️ 温馨提示:
- RHEL/CentOS 5 及更早版本:使用的是
scsi_id -g -u -s这类旧语法,还没有--whitelist参数。 - RHEL/CentOS 6 开始:
scsi_id命令语法发生变化,--whitelist和--whitelisted参数开始被使用(两者作用相同),旧语法-g -u -s在 6 上会直接报invalid option -- 's'错误。 - RHEL/CentOS 7 及以后:命令还在,但路径从
/sbin/scsi_id移到了/usr/lib/udev/scsi_id,且更推荐用lsscsi --scsi_id查看设备 ID。
如果你在较新的系统(比如 CentOS 7+)上找不到这个命令,通常是因为 scsi_id 位于 /usr/lib/udev/ 目录下,不在默认 PATH 里,需要用完整路径执行。
三、🔍 查看文件系统UUID
1 | [root@rac01-node01 /]# ll /dev/disk/by-uuid/ |
- Title: Linux磁盘WWID和UUID区别
- Author: 𝓓𝓸𝓷
- Created at : 2026-09-08 12:16:55
- Updated at : 2026-09-08 12:27:09
- Link: https://www.zhangdong.me/linux-disk-wwid-uuid.html
- License: This work is licensed under CC BY-NC-SA 4.0.
评论
