Storage
更新时间: 2024/11/30
在Gitcode上查看源码

Feature Overview

  1. Information acquisition: obtains information for controllers, drives, supercapacitors, logical drives, and RAID groups out-of-band or through the BMA.
  2. External function: creates, deletes, and sets logical disks, sets controller features, and controls drive location indicators.
  3. Fault detection: detects the health status of controllers, drives, logical drives, and supercapacitors.
  4. RAID controller cards: supports the 1880 RAID controller card.

Key Features

1880 RAID Controller Card Out-of-Band Management

(1) Introduction The 1880 RAID controller card and PMC perform out-of-band management. They communicate with each other using MCTP. Data updates occur only after the MCTP link is established. (2) Implementation mechanism The MCTP component provides related services and registers the interfaces for sending and receiving messages with the Storage component. When the system needs to send or receive information, it uses callback functions for processing.

  • The callback interface registered by Storage is do_mctp_writeread.
  • The callback function registration process is CMD.register_controller.

External Interfaces

External Interfaces for Controllers

bmc.kepler.Systems.Storage.Controller

shell
NAME                                  TYPE      SIGNATURE RESULT/VALUE                             FLAGS
.ClearForeignConfig                   method    a{ss}     -                                        -
.ImportForeignConfig                  method    a{ss}     -                                        -
.RestoreDefaultSettings               method    a{ss}     -                                        -
.SetBootDevices                       method    a{ss}ss   -                                        -
.SetCopybackState                     method    a{ss}y    -                                        -
.SetJBODState                         method    a{ss}y    -                                        -
.SetSmarterCopyBackState              method    a{ss}y    -                                        -
.SetWorkMode                          method    a{ss}yy   -                                        -
.DumpLog                              method    a{ss}     u                                        -

bmc.kepler.Systems.Storage.Controller.ConsistencyCheck

shell
NAME                                                   TYPE      SIGNATURE RESULT/VALUE FLAGS
.Disable                                               method    a{ss}     -            -
.Enable                                                method    a{ss}qyyu -            -
.SetParameters                                         method    a{ss}qyy  -            -

bmc.kepler.Systems.Storage.Controller.VolumeManage

shell
NAME                                               TYPE      SIGNATURE            RESULT/VALUE                             FLAGS
.CreateCachecadeVolume                             method    a{ss}ayysyquyqy      u                                        -
.CreateVolumeInExisingtArray                       method    a{ss}qyyysuyyyyyyyyy u                                        -
.CreateVolumeInNewArray                            method    a{ss}ayyysuyyyyyyyyy u                                        -
.DeleteVolume                                      method    a{ss}q               u                                        -

External Interfaces for Drives

bmc.kepler.Systems.Storage.Drives

shell
NAME                                     TYPE      SIGNATURE RESULT/VALUE           FLAGS
.CollectIODeteriorationDiagInfo          method    a{ss}     u                      -
.GetDrivesIODeteriorationDiagInfo        method    a{ss}y    aa{ua{ss}}             -
.SetDriveIODeteriorationHealthCode       method    a{ss}sq   -                      -

bmc.kepler.Systems.Storage.Drive

shell
NAME                             TYPE      SIGNATURE RESULT/VALUE           FLAGS
.CryptoErase                     method    a{ss}     -                      -
.SetBootPriority                 method    a{ss}y    -                      -
.SetFirmwareStatus               method    a{ss}y    -                      -
.SetHotspareType                 method    a{ss}yq   -                      -
.SetLocationIndicatorState       method    a{ss}y    -                      -
.SetPatrolState                  method    a{ss}y    -                      -

External Interfaces for Logical Drives

bmc.kepler.Systems.Storage.Volume

shell
NAME                              TYPE      SIGNATURE RESULT/VALUE       FLAGS
.CancelForegroundInit             method    a{ss}     u                  -
.SetAccelerator                   method    a{ss}y    -                  -
.SetAccessPolicy                  method    a{ss}y    -                  -
.SetBGIEnable                     method    a{ss}y    -                  -
.SetBootable                      method    a{ss}y    -                  -
.SetCachecadeEnable               method    a{ss}y    -                  -
.SetDiskCachePolicy               method    a{ss}y    -                  -
.SetIOPolicy                      method    a{ss}y    -                  -
.SetName                          method    a{ss}s    -                  -
.SetReadPolicy                    method    a{ss}y    -                  -
.SetWritePolicy                   method    a{ss}y    -                  -
.StartForegroundInit              method    a{ss}y    u                  -

IPMI Commands

  • For details, see mds/ipmi.json.
shell
└─/bmc
  └─/bmc/kepler
    ├─/bmc/kepler/IpmiCmds
 ├─/bmc/kepler/IpmiCmds/30
 ├─/bmc/kepler/IpmiCmds/30/92
 └─/bmc/kepler/IpmiCmds/30/92/SetRaidFaultStatus
 └─/bmc/kepler/IpmiCmds/30/93
   ├─/bmc/kepler/IpmiCmds/30/93/CreateCachecadeLogicalDrive
   ├─/bmc/kepler/IpmiCmds/30/93/CreateLogicalDriveOnExistedArray
   ├─/bmc/kepler/IpmiCmds/30/93/CreateLogicalDriveOnNewArray
   ├─/bmc/kepler/IpmiCmds/30/93/DeleteLogicalDrive
   ├─/bmc/kepler/IpmiCmds/30/93/GetArrayInfo
   ├─/bmc/kepler/IpmiCmds/30/93/GetArrayLds
   ├─/bmc/kepler/IpmiCmds/30/93/GetArrayLdsEx
   ├─/bmc/kepler/IpmiCmds/30/93/GetArrayList
   ├─/bmc/kepler/IpmiCmds/30/93/GetArrayPds
   ├─/bmc/kepler/IpmiCmds/30/93/GetCachecadeAssociatedLds
   ├─/bmc/kepler/IpmiCmds/30/93/GetCachecadeAssociatedLdsEx
   ├─/bmc/kepler/IpmiCmds/30/93/GetControllerCapability
   ├─/bmc/kepler/IpmiCmds/30/93/GetControllerFwVersion
   ├─/bmc/kepler/IpmiCmds/30/93/GetControllerInfo
   ├─/bmc/kepler/IpmiCmds/30/93/GetControllerList
   ├─/bmc/kepler/IpmiCmds/30/93/GetControllerNvdataVersion
   ├─/bmc/kepler/IpmiCmds/30/93/GetControllerPds
   ├─/bmc/kepler/IpmiCmds/30/93/GetDiskManufacturer
   ├─/bmc/kepler/IpmiCmds/30/93/GetDiskSilk
   ├─/bmc/kepler/IpmiCmds/30/93/GetHddPwrStatus
   ├─/bmc/kepler/IpmiCmds/30/93/GetLogicalDriveList
   ├─/bmc/kepler/IpmiCmds/30/93/GetLogicalDriveListEx
   ├─/bmc/kepler/IpmiCmds/30/93/GetLogicalDrivePds
   ├─/bmc/kepler/IpmiCmds/30/93/GetPhysicalDriveInfo
   ├─/bmc/kepler/IpmiCmds/30/93/GetPhysicalDriveLedStatus
   ├─/bmc/kepler/IpmiCmds/30/93/GetPhysicalDriveLocation
   ├─/bmc/kepler/IpmiCmds/30/93/GetRaidControllerTemp
   ├─/bmc/kepler/IpmiCmds/30/93/SetControllerCopyback
   ├─/bmc/kepler/IpmiCmds/30/93/SetControllerJbod
   ├─/bmc/kepler/IpmiCmds/30/93/SetControllerOutofband
   ├─/bmc/kepler/IpmiCmds/30/93/SetControllerRestoreSettings
   ├─/bmc/kepler/IpmiCmds/30/93/SetControllerSmarterCopyback
   ├─/bmc/kepler/IpmiCmds/30/93/SetFirmwareStatus
   ├─/bmc/kepler/IpmiCmds/30/93/SetHotspareType
   ├─/bmc/kepler/IpmiCmds/30/93/SetLocationIndicatorState
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicDriveBootable
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicDriveRp
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicDriveWp
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicalDriveAP
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicalDriveBGI
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicalDriveCachecade
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicalDriveDCP
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicalDriveIOP
   ├─/bmc/kepler/IpmiCmds/30/93/SetLogicalDriveName
   └─/bmc/kepler/IpmiCmds/30/93/SetPdLogCollect
 └─/bmc/kepler/IpmiCmds/38
   └─/bmc/kepler/IpmiCmds/38/13
     ├─/bmc/kepler/IpmiCmds/38/13/GetNvmeInfo
     └─/bmc/kepler/IpmiCmds/38/13/GetNvmeNum

Configuration Description

Restoring the Default Controller Configuration

shell
post: https://{ip}/redfish/v1/Systems/1/Storages/{raidid}/RestoreStorageControllerDefaultSettingsActionInfo