storage
更新时间: 2024/11/30
在Gitcode上查看源码功能简介
- 信息获取:支持从带外或通过BMA获取控制器、硬盘、超级电容、逻辑盘、RAID组信息
- 对外功能:支持创建、删除、设置逻辑盘;支持设置控制器功能;支持点硬盘定位灯
- 故障检测:支持控制器健康状态检测、硬盘健康状态检测、逻辑盘健康状态检测以及超级电容健康状态检测
- 支持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