PowerFlex: SVM or SDS disks missing serial number and not listed in /dev/disk/by-id
Summary: Disk devices attached or configured to SVM or SDS nodes are missing Serial Number information and are not listed in the /dev/disk/by-id directory.
Symptoms
Disks are missing SERIAL and WWN information from lsblk command (sda and sdc in this example):
[root@svmcentos79 ~]# lsblk -S -o "NAME,HCTL,TYPE,SIZE,VENDOR,MODEL,REV,TRAN,SERIAL,WWN" NAME HCTL TYPE SIZE VENDOR MODEL REV TRAN SERIAL WWN sda 2:0:0:0 disk 16G VMware Virtual disk 1.0 sdb 3:0:0:0 disk 1.8T KIOXIA KPM6XRUG1T92 BA48 58ce38ee219b166d 0x58ce38ee219b166d sdc 3:0:1:0 disk 1.8T VMware Virtual disk 1.0
Disk cannot be identified by ID as they are not listed in /dev/disk/by-id directory (sda and sdc in this example):
[root@svmcentos79 ~]# ls -l /dev/disk/by-id/ total 0 lrwxrwxrwx 1 root root 9 Jun 10 03:23 scsi-358ce38ee219b166d -> ../../sdb lrwxrwxrwx 1 root root 9 Jun 10 03:23 wwn-0x58ce38ee219b166d -> ../../sdb
Cause
The SVM or SDS node virtual machine must enable the UUID attribute to generate a unique identifier for each virtual disk. The solution consists to setting the VM advanced parameter "disk.EnableUUID" to the value "TRUE."
Note that this change requires to power off the VM and only apply to virtual disks, that is VMDK file or RDM-V (in Virtual mode: "vmfsRawDeviceMap").
Resolution
To enable the UUID attribute on a virtual machine (SVM/SDS node):
- Put the SVM or SDS node in maintenance mode.
- Shut down the system and ensure that the VM is power off.
- Set disk.EnableUUID=TRUE in VM configuration parameters.
- Power on the VM.
To set the parameter from vSphere Client:
- Right-click the virtual machine, and click Edit Settings.
- From the VM Options tab, expand Advanced, and click Edit Configuration.
- In the Name column, enter disk.EnableUUID.
- In the Value column, enter TRUE.
- Click Add, and OK.
To set the parameter using govc:
$ vm=$(govc find / -type m -name "<vm_name>")
$ govc vm.change -e="disk.EnableUUID=1" -vm="$vm"
$ govc vm.info -json "$vm" | jq -r '.virtualMachines[].config.extraConfig[] | select(.key=="disk.EnableUUID")'
{
"key": "disk.EnableUUID",
"value": "TRUE"
}
Alternatively, you can edit the guest vmx file by adding the following line:
disk.EnableUUID = "TRUE"
Once the solution is applied, virtual disks should also have unique identifiers. From the previous example:
[root@svmcentos79 ~]# lsblk -S -o "NAME,HCTL,TYPE,SIZE,VENDOR,MODEL,REV,TRAN,SERIAL,WWN" NAME HCTL TYPE SIZE VENDOR MODEL REV TRAN SERIAL WWN sda 2:0:0:0 disk 16G VMware Virtual disk 1.0 6000c298cd0c39b32b31db9e9f89380e 0x6000c298cd0c39b3 sdb 3:0:0:0 disk 1.8T KIOXIA KPM6XRUG1T92 BA48 58ce38ee219b166d 0x58ce38ee219b166d sdc 3:0:1:0 disk 1.8T VMware Virtual disk 1.0 6000c29294c8dc34e2df1ea6814a52a5 0x6000c29294c8dc34
[root@svmcentos79 ~]# ls -l /dev/disk/by-id/ total 0 lrwxrwxrwx 1 root root 9 Jun 10 03:51 scsi-358ce38ee219b166d -> ../../sdb lrwxrwxrwx 1 root root 9 Jun 10 03:51 scsi-36000c29294c8dc34e2df1ea6814a52a5 -> ../../sdc lrwxrwxrwx 1 root root 9 Jun 10 03:51 scsi-36000c298cd0c39b32b31db9e9f89380e -> ../../sda lrwxrwxrwx 1 root root 9 Jun 10 03:51 wwn-0x58ce38ee219b166d -> ../../sdb lrwxrwxrwx 1 root root 9 Jun 10 03:51 wwn-0x6000c29294c8dc34e2df1ea6814a52a5 -> ../../sdc lrwxrwxrwx 1 root root 9 Jun 10 03:51 wwn-0x6000c298cd0c39b32b31db9e9f89380e -> ../../sda
Additional Information
This information is available in documentation from "Deploy Dell PowerFlex" guide: Configure the UUID on virtual machines.