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

功能简介

  1. 信息获取:支持从带外或通过BMA获取控制器、硬盘、超级电容、逻辑盘、RAID组信息
  2. 对外功能:支持创建、删除、设置逻辑盘;支持设置控制器功能;支持点硬盘定位灯
  3. 故障检测:支持控制器健康状态检测、硬盘健康状态检测、逻辑盘健康状态检测以及超级电容健康状态检测
  4. 支持RAID卡:当前支持1880RAID卡。

关键特性

1880Raid卡带外管理介绍

(1)介绍 这1880和PMC进行带外管理,采用MCTP方式和RAID卡进行通信。首先需要正常建立起MCTP链路后才能正常进行数据更新。 (2)实现机制 MCTP组件提供相关服务,将收发信息的接口注册到Storage,需要收发信息会调用回调函数进行处理。

  • Storage注册的回调接口为:do_mctp_writeread
  • 回调函数注册流程:CMD.register_controller

对外接口

控制器对外接口

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                                        -

硬盘对外接口

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    -                      -

逻辑盘对外接口

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命令

  • 具体详细请参考: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

配置介绍

恢复控制器默认配置

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