RAID Management

You can manage RAID using storage subsystem schema and its properties. Storage APIs represent a set of controllers and its resources like volumes, drives, etc. For details about storage controller firmware update, see 4.6 Updating Broadcom Storage Controller Firmware or 4.7 Updating Marvel Storage Controller Firmware.

URI: /redfish/v1/Systems/1/Storage

Method: GET

Response: 200

 

Viewing Details of HA-RAID Controller, Drive, and Volume

URI: /redfish/v1/Systems/1/Storage/HA-RAID

Method: GET

Response: 200

{

"@odata.type": "#Storage.v1_9_0.Storage",

"@odata.id": "/redfish/v1/Systems/1/Storage/HA-RAID",

"Id": "HA-RAID",

"Name": "HA Storage System",

"StorageControllers": [

{

"@odata.id": "/redfish/v1/Systems/1/Storage/HA-RAID#/StorageControllers/0",

"MemberId": "0",

"Manufacturer": "Broadcom",

"Model": "SAS 3908",

"SerialNumber": "FW-00000000",

"FirmwareVersion": "5.240.02-3768",

"Status": {

"State": "Enabled",

"Health": "OK"

},

"Identifiers": [

{

"DurableName": null

}

],

"SupportedControllerProtocols": [

"I2C",

"PCIe"

],

"SupportedDeviceProtocols": [

"SATA",

"SAS"

],

"Oem": {

"Supermicro": {

"@odata.type": "#SmcStorageExtensions.v1_0_0.StorageController",

"BIOSBootMode": "PauseOnError",

"JBODMode": "Disable",

"BBU": {

"Status": {

"State": "Enabled",

"Health": "OK"

},

"BBUStatus": "Not Install"

}

}

}

}

],

"Controllers": {

"@odata.id": "/redfish/v1/Systems/1/Storage/HA-RAID/Controllers"

},

"Drives": [

{

"@odata.id": "/redfish/v1/Chassis/HA-RAID.0.StorageEnclosure.0/Drives/Disk.Bay.1"

},

{

"@odata.id": "/redfish/v1/Chassis/HA-RAID.0.StorageEnclosure.0/Drives/Disk.Bay.5"

}

],

"Volumes": {

"@odata.id": "/redfish/v1/Systems/1/Storage/HA-RAID/Volumes"

},

"Links": {

"Enclosures": [

{

"@odata.id": "/redfish/v1/Chassis/HA-RAID.0.StorageEnclosure.0"

}

],

"SimpleStorage": {

"@odata.id": "/redfish/v1/Systems/1/SimpleStorage/1"

}

},

"Actions": {

"Oem": {

"#SmcHARAIDController.Save": {

"target": "/redfish/v1/Systems/1/Storage/HA-RAID/Actions/Oem/SmcHARAIDController.Save",

"@Redfish.ActionInfo": "/redfish/v1/Systems/1/Storage/HA-RAID/Oem/Supermicro/SaveActionInfo"

},

"#SmcStorage.CreateVolume": {

"target": "/redfish/v1/Systems/1/Storage/HA-RAID/Actions/Oem/SmcStorage.CreateVolume",

"@Redfish.ActionInfo": "/redfish/v1/Systems/1/Storage/HA-RAID/Oem/Supermicro/CreateVolumeActionInfo"

},

"#SmcStorage.ClearVolumes": {

"target": "/redfish/v1/Systems/1/Storage/HA-RAID/Actions/Oem/SmcStorage.ClearVolumes",

"@Redfish.ActionInfo": "/redfish/v1/Systems/1/Storage/HA-RAID/Oem/Supermicro/ClearVolumesActionInfo"

}

}

},

"Oem": {

},

"Description": "External RAID",

"Status": {

"State": "Enabled",

"Health": "OK"

},

"@odata.etag": "\"55ae4cf460abfdb1c5fc50d7e434f83f\""

}

 

Viewing Details of HBA Controller, Drive and Volume

URI: /redfish/v1/Systems/1/Storage/HBA

Method: GET

Response: 200

{

"@odata.type": "#Storage.v1_9_0.Storage",

"@odata.id": "/redfish/v1/Systems/1/Storage/HBA",

"Id": "HBA",

"Name": "HBA Storage System",

"StorageControllers": [

{

"@odata.id": "/redfish/v1/Systems/1/Storage/HBA#/StorageControllers/0",

"MemberId": "0",

"Manufacturer": "Broadcom",

"Model": "SAS3808",

"SerialNumber": "UA20CS003047R101",

"FirmwareVersion": "23.00.00.00",

"Status": {

"State": "Enabled",

"Health": "OK"

},

"Identifiers": [

{

"DurableName": null

}

],

"SupportedControllerProtocols": [

"PCIe"

],

"SupportedDeviceProtocols": [

"SATA",

"SAS"

],

"Oem": {

}

}

],

"Controllers": {

"@odata.id": "/redfish/v1/Systems/1/Storage/HBA/Controllers"

},

"Drives": [

],

"Volumes": {

"@odata.id": "/redfish/v1/Systems/1/Storage/HBA/Volumes"

},

"Links": {

"Enclosures": [

],

"SimpleStorage": {

"@odata.id": "/redfish/v1/Systems/1/SimpleStorage/1"

}

},

"Oem": {

},

"Description": "External HBA",

"Status": {

"State": "Enabled",

"Health": "OK"

},

"@odata.etag": "\"a1ff5f1e00a725b15fb667521d51b022\""

}

 

Creating LSI31XX/38XXIR/39XX Logical Volume

URI: /redfish/v1/Systems/1/Storage/HA-RAID/Actions/Oem/SmcStorage.CreateVolume

Method: POST

Payload:

{

"ControllerId":0,

"Raid": "RAID0",

"Span": 1,

"PhysicalDrives":["HA-RAID.0.Disk.0", "HA-RAID.0.Disk.1"],

"UsePercentage":100,

"LogicalDriveCount":1,

"StripSizePerDDF":"256K",

"LdReadPolicy": "NoReadAhead",

"LdWritePolicy": "WriteBack",

"LdIOPolicy": "DirectIO",

"AccessPolicy": "ReadWrite",

"DiskCachePolicy": "Unchanged",

"InitState": "NoInit",

"VdName": "VD"

}

Response: 200

 

Locating Physical HDD

URI: /redfish/v1/Chassis/HA-RAID.[controller_num].StorageEnclosure.[enclosure_num]/Drives/Disk.Bay .[disk_num]/Actions/Oem/SmcDrive.Indicate

Method: POST

Payload:

{

"Active": true

}

Response: 200

 

Locating Logical Volume

URI: /redfish/v1/Systems/1/Storage/HA-RAID/Volumes/Controller.[controller_num].Volume.[volume_num]/Actions/Oem/SmcVolume.Indicate

Method: POST

Payload:

{

"Active": true

}

Response: 200

 

Deleting a Logical Volume

URI: /redfish/v1/Systems/1/Storage/HA-RAID/Volumes/Controller.[controller_num].Volume.[volume_num]/Actions/Oem/SmcVolume.Delete

Method: POST

Payload:

{

}

Response: 200

 

Clearing All Logical Volumes

URI: /redfish/v1/Systems/1/Storage/HA-RAID/Actions/Oem/SmcStorage.ClearVolumes

Method: POST

Payload:

{

"ControllerId":0

}

Response: 200

 

Saving HA-Raid Controller Configuration

URI: /v1/Systems/1/Storage/HA-RAID/Actions/Oem/SmcHARAIDController.Save

Method: PATCH

Payload:

{

"ControllerId":0,

"BIOSBootMode":"PauseOnError",

"JBODMode": "Enable"

}

Response: 200

 

Viewing Details of Marvell Controller, Drive, and Volume

URI: /redfish/v1/Systems/1/Storage/MRVL.HA-RAID

Method: GET

Response: 200

 

Creating a Virtual Drive for Marvell

URI: /redfish/v1/Systems/1/Storage/MRVL.HA-RAID/Actions/Oem/SmcStorage.CreateVD

Method: POST

Payload:

{

"PD":["MRVL.HA-RAID.0.StorageModule/Drives/Disk.Bay.0","MRVL.HA-RAID.0.StorageModule/Drives/Disk.Bay.1"],

"RaidLevel": "RAID1",

"StripeBlock": "64K",

"VDName": "SuperDrive"

}

 

Deleting a Virtual Drive for Marvell

URI: /redfish/v1/Systems/1/Storage/MRVL.HA-RAID/Volumes/Controller.[controller_num].Volume.[volume_num]/Actions/Oem/SmcVolume.DeleteVD/

Method: POST

Payload:

{

}

 

Rebuilding a Virtual Drive for Marvell

URI: /redfish/v1/Systems/1/Storage/MRVL.HA-RAID/Volumes/Controller.[controller_num].Volume.[volume_num]/Actions/Oem/SmcVo lume.RebuildVD

Method: POST

Payload:

{

}

 

Importing a Virtual Drive for Marvell

Insert or import a VD and register its UUID to Marvell FW. Wait for the next system power-on, and this UUID will be registered at Marvell FW.

URI: /redfish/v1/Systems/1/Storage/MRVL.HA-RAID/Volumes/Controller.[controller_num].Volume.[volume_num]/Actions/Oem/SmcVolume.ImportVD

Method: POST

Payload:

{

}

 

NVME SSD

View NVME storage details.

URI: /redfish/v1/Systems/1/Storage/NVMeSSD

Method: GET

Response: 200