White Papers

8 Standards-based storage management for Dell EMC PowerEdge servers
3 Redfish 2016 Storage Management APIs
With the advent of the Redfish 2016 standards, APIs were established for server storage management. These
APIs provide the following capabilities:
Detailed inventory of server storage controllers, enclosures, physical drive and virtual disks
Health status monitoring of controllers, enclosures and drives
Physical drive operations such as drive erase
Controller operations such as create/delete virtual disk, virtual disk initialization/consistency check
External enclosure operations such as setting the asset tag
The balance of this white paper provides an overview of these APIs with scripted examples in Python for use
with the iDRAC RESTful API. The example scripts are available along with additional scripts for key server
management use cases from the Dell EMC iDRAC RESTful API GitHub https://github.com/dell/iDRAC-
Redfish-Scripting.
3.1 Inventorying PowerEdge storage with Redfish 2016
The Redfish 2016 standard storage APIs can be used to discover the storage controllers, storage enclosures,
and physical and virtual drives (VDs) associated with a target PowerEdge server. The below example
illustrates viewing this inventory.
1. Running GET on URI redfish/v1/Systems/System.Embedded.1/Storage will return URIs for
each of the supported storage controllers detected on the target server.
Example output:
@odata.context "/redfish/v1/$metadata#StorageCollection.StorageCollection"
@odata.id "/redfish/v1/Systems/System.Embedded.1/Storage"
@odata.type "#StorageCollection.StorageCollection"
Description "Collection Of Storage entities"
Members
0: @odata.id: "/redfish/v1/Systems/System.Embedded.1/Storage/RAID.Integrated.1-
1"
1: @odata.id: "/redfish/v1/Systems/System.Embedded.1/Storage/CPU.1"
2: @odata.id: "/redfish/v1/Systems/System.Embedded.1/Storage/AHCI.Slot.1-1"
3: @odata.id: "/redfish/v1/Systems/System.Embedded.1/Storage/AHCI.Embedded.2-1"
4: @odata.id: "/redfish/v1/Systems/System.Embedded.1/Storage/AHCI.Embedded.1-1"
5: @odata.id: "/redfish/v1/Systems/System.Embedded.1/Storage/PCIeSSD.Slot.2-C"
Members@odata.count: 6
Name: "Storage Collection"
2. Using each controller URIs, run a GET command to return detailed information for that controller
along with the URIs for the drives and volumes associated with the controller.
3. Run GET on each drive URI to return detailed information for that specific drive. Volume URIs will
return virtual disk URIs if VDs are detected on the server.
4. Run GET on the VD URI to get detailed information for that specific VD.