GET – Drives managed by storage controller
Use the GET method to retrieve the drive resource for a server.
Request URL
GET https://<BMC_IPADDR>/redfish/v1/Systems/1/Storage/Id/Drives/{DriveId}
Request body
None
Response body
Field | Type | Description | ||
---|---|---|---|---|
BlockSizeBytes | Number | Size of the smallest addressable unit of the associated drive. | ||
CapableSpeedGbs | Number | Fastest capable bus speed of the associated drive. | ||
CapacityBytes | Number | Size in bytes of this Drive. | ||
DriveFormFactor | String | The form factor of the drive inserted in this slot. | ||
EncryptionAbility | String | “None” “SelfEncryptingDrive” | ||
EncryptionStatus | String | “Unlocked” “Locked” “Unencrypted” | ||
NegotiatedSpeedGbs | Number | The speed, in gigabit per second (Gbit/s), at which this drive currently communicates to the storage controller. | ||
FailurePredicted | Boolean | Indicate this drive currently predicting a failure in the near future. | ||
FirmwareVersion | String | The firmware version for this drive. | ||
HotspareType | String | “None” “Global” | ||
Id | String | Drive slot id | ||
Links | Object | Expanded. | ||
Chassis | Link | A URI reference to a resource of chassis. | ||
Storage | Link | A URI reference to a resource of storage. | ||
Volumes | Array | An array of references to the volumes contained in this drive. | ||
Volumes[N] | Link | Link | ||
Manufacturer | String | Drive’s manufacture. | ||
MediaType | String | Drive’s media type. | ||
Model | String | Model of the drive. | ||
Name | String | Name of the drive. | ||
PartNumber | String | Part number of the drive. | ||
SKU | String | The SKU for this drive. | ||
StatusIndicator | String | The state of the status indicator, which communicates status information about this drive. | ||
PhysicalLocation | Object | The location of this drive. | ||
PartLocation | Object | The part location within the placement. | ||
LocationType | String | “Bay”. | ||
LocationOrdinalValue | Integer | The number that represents the location of this drive. | ||
ServiceLabel | String | The service label of this drive. | ||
Protocol | String | The protocol this drive is using to communicate to storage controller. | ||
PredictedMediaLifeLeftPercent | Number | 0-100. disk info remaining life. | ||
Revision | String | Drive’s firmware/hardware version. | ||
RotationSpeedRPM | Number | Drive’s rotation speed. | ||
SerialNumber | String | Serial number of the drive. | ||
Status | Object | Expanded. | ||
State | String | "Enabled" | ||
Health | String | Drive’s health info. |
The resource “Drive” can describe multiple types of drives. For some cases, such as NVMe added on M.2 card, partial info may not be available.
Status code
HTTP Status Code | Error Message ID |
---|---|
500 | InternalError |
Example
The following example JSON response is returned:
{
"@odata.context": "/redfish/v1/$metadata#Drive.Drive",
"@odata.etag": "\"51F420A4\"",
"@odata.id": "/redfish/v1/Systems/1/Storage/controller_slot8/Drives/drive_bay_0",
"@odata.type": "#Drive.v1_17_0.Drive",
"BlockSizeBytes": 512,
"CapableSpeedGbs": 6.0,
"CapacityBytes": 1998998994944,
"DriveFormFactor": "Drive3_5",
"EncryptionAbility": "None",
"EncryptionStatus": "Unencrypted",
"FailurePredicted": false,
"FirmwareVersion": "LJ88",
"HotspareType": "None",
"Id": "drive_bay_0",
"Links": {
"Chassis": {
"@odata.id": "/redfish/v1/Chassis/1"
},
"Storage": {
"@odata.id": "/redfish/v1/Systems/1/Storage/controller_slot8"
},
"Volumes": [
{
"@odata.id": "/redfish/v1/Systems/1/Storage/controller_slot8/Volumes/239"
}
]
},
"Manufacturer": "SEAGATE",
"MediaType": "HDD",
"Model": "ST2000NM0055",
"Name": "Drive 0",
"NegotiatedSpeedGbs": 6.0,
"Oem": {
...
}
},
"PartNumber": "ST2000NM0055",
"PhysicalLocation": {
"PartLocation": {
"LocationOrdinalValue": 0,
"LocationType": "Bay",
"ServiceLabel": "Drive 0"
}
},
"Protocol": "SATA",
"RotationSpeedRPM": 8220,
"SKU": "ZC22R8FX",
"SerialNumber": "ZC22R8FX",
"Status": {
"Health": "OK",
"State": "Enabled"
},
"StatusIndicator": "OK"
}