Unsolved

1 Rookie

 • 

6 Posts

33

January 2nd, 2026 17:29

Finding drive durable names

Hello

I've preference to only install my OS only on a certain physical bay. One way I have found to make it happen irrespective of no of disks/RAID config etc is to pull the target volume UUID and use in my kickstarts.

I was expecting something similar to DMTF schema where the durable names of a volume are available through redfish like attached example.

"@odata.type": "#Volume.v1_10_0.Volume",
"Id": "2",
"Name": "Virtual Disk 2",
"Status": {
"State": "Enabled",
"Health": "OK"
},
"Encrypted": false,
"RAIDType": "RAID0",
"CapacityBytes": 107374182400,
"Identifiers": [
{
"DurableNameFormat": "UUID",
"DurableName": "0324c96c-8031-4f5e-886c-50cd90aca854"
}
],
"Links": {
"Drives": [
{
"@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Drives/3D58ECBC375FD9F2"
}
]
},
"Actions": {
"#Volume.Initialize": {
"target": "/redfish/v1/Systems/3/Storage/RAIDIntegrated/Volumes/1/Actions/
Volume.Initialize",
"InitializeType@Redfish.AllowableValues": [
"Fast",
"Slow"
]
}
},
"@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2"
}

I've a PowerEdge R670 server running redfish version 1.22.1, iDRAC version 1.20.80.50, PERC H965i version 8.11.2.0.18-26

When I hit any volume endpoint, my response has the field identifiers empty.

{
  "@Redfish.Settings": {
    "@odata.context": "/redfish/v1/$metadata#Settings.Settings",
    "@odata.type": "#Settings.v1_4_0.Settings",
    "SettingsObject": {
      "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/RAID.SL.1-1/Volumes/Disk.Virtual.1:RAID.SL.1-1/Settings"
    },
    "SupportedApplyTimes": [
      "Immediate",
      "OnReset"
    ]
  },
  "@odata.context": "/redfish/v1/$metadata#Volume.Volume",
  "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/RAID.SL.1-1/Volumes/Disk.Virtual.1:RAID.SL.1-1",
  "@odata.type": "#Volume.v1_10_2.Volume",
  "Actions": {
    "#Volume.CheckConsistency": {
      "@Redfish.OperationApplyTime@Redfish.AllowableValues": [
        "Immediate",
        "OnReset"
      ],
      "@Redfish.OperationApplyTimeSupport": {
        "@odata.type": "#Settings.v1_4_0.OperationApplyTimeSupport",
        "SupportedValues": [
          "Immediate",
          "OnReset"
        ]
      },
      "target": "/redfish/v1/Systems/System.Embedded.1/Storage/RAID.SL.1-1/Volumes/Disk.Virtual.1:RAID.SL.1-1/Actions/Volume.CheckConsistency"
    },
    "#Volume.Initialize": {
      "@Redfish.OperationApplyTime@Redfish.AllowableValues": [
        "Immediate",
        "OnReset"
      ],
      "@Redfish.OperationApplyTimeSupport": {
        "@odata.type": "#Settings.v1_4_0.OperationApplyTimeSupport",
        "SupportedValues": [
          "Immediate",
          "OnReset"
        ]
      },
      "InitializeType@Redfish.AllowableValues": [
        "Fast",
        "Slow"
      ],
      "target": "/redfish/v1/Systems/System.Embedded.1/Storage/RAID.SL.1-1/Volumes/Disk.Virtual.1:RAID.SL.1-1/Actions/Volume.Initialize"
    }
  },
  "BlockSizeBytes": 4096,
  "CapacityBytes": 799535005696,
  "Description": "Virtual Disk 1 on RAID Controller in SL 1",
  "DisplayName": "OS",
  "Encrypted": false,
  "EncryptionTypes": [
    "NativeDriveEncryption"
  ],
  "EncryptionTypes@odata.count": 1,
  "Id": "Disk.Virtual.1:RAID.SL.1-1",
  "Identifiers": [],
  "Identifiers@odata.count": 0,
  "Links": {
    "Drives": [
      {
        "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/RAID.SL.1-1/Drives/Disk.Bay.0:Enclosure.Internal.0-1:RAID.SL.1-1"
      },
      {
        "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Storage/RAID.SL.1-1/Drives/Disk.Bay.1:Enclosure.Internal.0-1:RAID.SL.1-1"
      }
    ],
    "Drives@odata.count": 2
  },
  "MediaSpanCount": 2,
  "Name": "OS",
  "Oem": {
    "Dell": {
      "@odata.type": "#DellVolume.v1_0_0.DellVolume",
      "DellVirtualDisk": {
        "@odata.context": "/redfish/v1/$metadata#DellVirtualDisk.DellVirtualDisk",
        "@odata.id": "/redfish/v1/Systems/System.Embedded.1/Oem/Dell/DellVolumes/Disk.Virtual.1:RAID.SL.1-1",
        "@odata.type": "#DellVirtualDisk.v1_2_0.DellVirtualDisk",
        "BusProtocol": "PCIE",
        "Cachecade": "NonCachecadeVD",
        "Description": "An instance of DellVirtualDisk will have data specific to the Virtual Disks in the system.",
        "DiskCachePolicy": "Disabled",
        "Id": "Disk.Virtual.1:RAID.SL.1-1",
        "LastSystemInventoryTime": "2026-01-02T17:44:07+00:00",
        "LastUpdateTime": "2026-01-02T11:44:06+00:00",
        "LockStatus": "Unlocked",
        "MediaType": "SolidStateDrive",
        "Name": "DellVirtualDisk",
        "ObjectStatus": "Current",
        "OperationName": "None",
        "OperationPercentComplete": 0,
        "PrimaryStatus": "OK",
        "RaidStatus": "Online",
        "ReadCachePolicy": "NoReadAhead",
        "RemainingRedundancy": 1,
        "SpanDepth": 1,
        "SpanLength": 2,
        "StartingLBAinBlocks": 0,
        "StripeSize": "64KB",
        "T10PIStatus": "Disabled",
        "VirtualDiskTargetID": 1,
        "WriteCachePolicy": "WriteBack"
      },
      "DellVirtualDisk@Redfish.Deprecated": "Please migrate to use DellVolume",
      "DellVolume": {
        "BusProtocol": "PCIE",
        "Cachecade": "NonCachecadeVD",
        "DiskCachePolicy": "Disabled",
        "DiskCachePolicy@Redfish.AllowableValues": [
          "Default",
          "Disabled",
          "Enabled"
        ],
        "LastSystemInventoryTime": "2026-01-02T17:44:07+00:00",
        "LastUpdateTime": "2026-01-02T11:44:06+00:00",
        "LockStatus": "Unlocked",
        "MediaType": "SolidStateDrive",
        "ObjectStatus": "Current",
        "OperationName": "None",
        "OperationPercentComplete": 0,
        "PrimaryStatus": "OK",
        "RaidStatus": "Online",
        "RemainingRedundancy": 1,
        "SpanDepth": 1,
        "SpanLength": 2,
        "StartingLBAinBlocks": 0,
        "StripeSize": "64KB",
        "T10PIStatus": "Disabled",
        "VirtualDiskTargetID": 1
      }
    }
  },
  "Operations": [],
  "Operations@odata.count": 0,
  "OptimumIOSizeBytes": 65536,
  "RAIDType": "RAID1",
  "ReadCachePolicy": "Off",
  "ReadCachePolicy@Redfish.AllowableValues": [
    "ReadAhead",
    "Off"
  ],
  "Status": {
    "Health": "OK",
    "HealthRollup": "OK",
    "State": "Enabled"
  },
  "VolumeType": "Mirrored",
  "WriteCachePolicy": "ProtectedWriteBack",
  "WriteCachePolicy@Redfish.AllowableValues": [
    "WriteThrough",
    "ProtectedWriteBack",
    "UnprotectedWriteBack"
  ]

Can anyone suggest if I need to look at a different URI or if I'm missing something, please? Thanks in advance!!

Moderator

 • 

9.6K Posts

January 5th, 2026 14:57

com_user,

 

 


Dell’s Redfish schema for Volumes supports the Identifiers array (with DurableName and DurableNameFormat), but PERC controllers often do not populate UUIDs for virtual disks in the standard DMTF format. This is expected behavior on many iDRAC versions, including 1.20.x, because Dell uses OEM extensions for detailed disk info rather than populating Identifiers.


Where to Look Instead

For Dell PowerEdge, the durable or unique identifiers for virtual disks are exposed under OEM Dell properties, not the standard Identifiers array.
In your payload, note:

 

"Oem": {
  "Dell": {
    "DellVirtualDisk": {
      "VirtualDiskTargetID": 1,
      "Name": "DellVirtualDisk",
      ...
    },
    "DellVolume": {
      "VirtualDiskTargetID": 1,
      

The VirtualDiskTargetID combined with the RAID controller ID and enclosure/bay mapping is Dell’s way of uniquely identifying the volume.

 

 


Here is what I recommend you try;
If your goal is to pin OS installation to a specific physical bay:

Query Drives linked under Links.Drives:
/redfish/v1/Systems/System.Embedded.1/Storage/RAID.SL.1-1/Drives/Disk.Bay.0:Enclosure.Internal.0-1:RAID.SL.1-1

Each drive resource includes:

Id (e.g., Disk.Bay.0)
Location or Slot info
Serial number (persistent across reboots)


Use Drive serial number or Bay ID as your durable reference in kickstart scripts.
Optionally, combine with VirtualDiskTargetID for RAID volumes.

 

Let me know if this helps.

 

 

1 Rookie

 • 

6 Posts

January 5th, 2026 19:29

Thanks for the response, Chris.

I see the VirtualDiskTargetID under the Volume URI, but I'm not sure if I can use this or bay number itself to identify my block device. Below is an example of one of my block storage (a RAID volume) from RHEL 9.7 installed. Serial number shown here(masked in example) is not matching the underlying drive serial numbers from redfish and I think UUID is my only option to uniquely identify a RAID volume.

smartctl --all /dev/sda

smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.0-611.5.1.el9_7.x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               DELL
Product:              RAID
Revision:             8-26
Compliance:           SPC-3
User Capacity:        1,599,741,100,032 bytes [1.59 TB]
Logical block size:   4096 bytes
Rotation Rate:        Solid State Device
Logical Unit id:      0x6f4ee0807f584d0068ca18f6cbd38030
Serial number:        00333d3ddd333dd33333d333d33d33d
Device type:          disk
Local Time is:        Mon Jan  5 14:20:33 2026 UTC
SMART support is:     Unavailable - device lacks SMART capability.

No Events found!

Top