VMware下Oracle RAC磁盘UUID缺失

在 VMware 中搭建 Oracle RAC 时,共享磁盘的 UUID(也常被称为虚拟磁盘 WWN)是配置 udev 规则、实现磁盘持久化绑定的关键。很多朋友会遇到在 Linux 系统里看不到磁盘 UUID 的问题,这篇文章一次性讲清楚所有查看方法和常见坑。

一、为什么看不到磁盘 UUID?

VMware 默认不会向虚拟机暴露磁盘底层 UUID,必须手动开启。

核心解决办法:

关闭虚拟机,编辑 .vmx 文件,添加:

disk.EnableUUID = "TRUE"
disk.locking = "false"
保存后重启虚拟机,否则下面所有命令都看不到 UUID。

二、Linux 系统内查看磁盘 UUID 的常用命令

1. 查看指定磁盘 UUID(最常用)

/usr/lib/udev/scsi_id -g -u -d /dev/sdb

/dev/sdb 替换为你的实际共享磁盘。

输出类似:

36000c291234567890abcdef012345678
这串就是 Oracle RAC 绑定磁盘需要的 UUID/WWN

2. 批量查看所有磁盘 UUID

for d in $(lsblk -d -o NAME | grep ^sd); do
  echo -n "$d: "
  /usr/lib/udev/scsi_id -g -u -d /dev/$d
done

3. 通过 /dev/disk/by-id 直接查看

ls -l /dev/disk/by-id/
scsi-36000c29 开头的字符串即为磁盘 UUID(WWN),可直接用于 udev 规则。

4. 使用 lsblk 确认磁盘名称

先分清系统盘和共享盘:
lsblk
一般:
  • /dev/sda:系统盘
  • /dev/sdb、sdc、sdd:RAC 共享磁盘

三、VMware 虚拟机必须配置的关键参数

如果看不到 UUID,99% 是缺少以下配置:
  1. 关闭虚拟机
  2. 编辑 .vmx 文件,添加:
disk.EnableUUID = "TRUE"
disk.locking = "false"
  1. 重启虚拟机
  2. 重新执行查看命令即可正常显示
  • VMware 搭建 Oracle RAC 必须开启 disk.EnableUUID = "TRUE"
  • Linux 内最常用查看命令:
    /usr/lib/udev/scsi_id -g -u -d /dev/sdb
    
  • 也可以通过 /dev/disk/by-id/ 直接获取 UUID
  • 两个节点 UUID 必须一致,否则 RAC 无法识别共享存储
阅读剩余
THE END