Get Storage Configurations
更新时间: 2025/06/26
在Gitcode上查看源码3Dh-获取存储配置(Get-Storage-Configurations)
修订记录
| openUBMC版本号 | 修订日期 | 修订内容 |
|---|---|---|
| 25.06 | 2025/06/26 | 初稿,新增命令详情 |
基本信息
功能说明
获取存储配置。
权限
命令信息
请求信息
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | 30h |
| CMD | 93h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=3Dh |
| 5 | 预留 |
| 6 | Parameter Selector,具体数据参见 表1 。 |
| 7 | Set Selector,取值参见 表1 。 |
| 8 | Block Selector,取值参见 表1 。 |
| 9 | Extern Selector,取值参见 表1 。 |
| 10:11 | Reading offset,获取参数的偏移 |
| 12 | Reading length,获取参数的长度 |
响应信息
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 5 | [7:1]:resvered [0]: 0-last frame 1-casecade frame |
| 6:N | Data,具体数据参见 表1 。 |
附表1 Parameter Selector定义
| Parameter Selector | Parameter Data |
|---|---|
| 0 | 获取所有的RAID控制器ID列表 请求: Set Selector:不涉及,填0xFF Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:RAID控制器1 ID data2:RAID控制器2 ID … |
| 1 | 获取指定的RAID控制器firmware版本 请求:Set Selector:指定的RAID控制器ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:RAID控制器firmware版本长度,数值标记为M data2:(M+1):RAID控制器firmware版本(如果M为0,则没有该字段) |
| 2 | 获取指定的RAID控制器NVDATA版本 Set Selector:指定的RAID控制器ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:RAID控制器NVDATA版本长度,数值标记为M data2:(M+1):RAID控制器NVDATA版本(如果M为0,则没有该字段) |
| 3 | 获取指定的RAID控制器配置信息 Set Selector:指定的RAID控制器ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:是否支持带外管理,1-支持,0-不支持 data2:3:RAID控制器内存大小,单位MB,0xFFFF-UNKNOWN,低字节在前 data4:RAID控制器接口速率,0-SPI,1-SAS 3G,2-SATA 1.5G,3-SATA 3G,4-SAS 6G,5-SAS 12G,255-UNKNOWN data5:20:RAID控制器SAS地址(字符串) data21:Cache pinned标志,1-cache is pinned,0-cache is not pinned,255-UNKNOWN data22:Maintain PD fail history,1-使能,0-关闭,255-UNKNOWN data23:是否禁止copyback,0-禁止,1-未禁止,255-UNKNOWN data24:硬盘出现SMART错误之后是否自动启动copyback,1-启动,0-不启动,255- UNKNOWN data25:JBOD使能状态,1-使能,0-关闭,255-UNKNOWN data26:支持的最小条带大小,参考逻辑盘信息中的条带大小定义 data27:支持的最大条带大小,参考逻辑盘信息中的条带大小定义 data28:32:保留 data33:RAID控制器名称长度,数值标记为M data34:(M+33):RAID控制器名称(如果M为0,则没有该字段) |
| 4 | 获取指定的RAID控制器的逻辑盘ID列表 请求: Set Selector:指定的RAID控制器ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:逻辑盘1 ID data2:逻辑盘2 ID … |
| 5 | 获取指定逻辑盘的基本信息 请求: Set Selector:RAID控制器ID Block Selector:逻辑盘ID Extern Selector:不涉及,填0xFF 响应: data1:逻辑盘名称长度,数值标记为M data2:(M+1):逻辑盘名称(字符串)(如果M为0,则没有该字段) data(M+2):逻辑盘RAID级别,0:RAID0,1:RAID1,2:RAID2,3:RAID3,4:RAID4,5:RAID5,6:RAID6,10:RAID10,17:RAID1E,20:RAID20,30:RAID30,40:RAID40,50:RAID50,60:RAID60,255:Unknown,其它:reserved data(M+3):逻辑盘运行状态, data(M+4):逻辑盘默认读策略,0:NO READ AHEAD,1:READ AHEAD,255:UNKNOWN data(M+5):逻辑盘当前读策略,0:NO READ AHEAD,1:READ AHEAD,255:UNKNOWN data(M+6):逻辑盘默认写策略,0:WRITE THROUGH,1:RITE BACK with BBU,2:RITE BACK,255:NKNOWN data(M+7):逻辑盘当前写策略,0:WRITE THROUGH,1:WRITE BACK with BBU,2:WRITE BACK,255:UNKNOWN data(M+8):逻辑盘默认IO策略,0:CACHED IO,1:DIRECT IO,255:UNKNOWN data(M+9):逻辑盘当前IO策略,0:CACHED IO,1:DIRECT IO,255:UNKNOWN data(M+10):逻辑盘访问策略,0:READ WRITE,1:READ ONLY,2 BLOCKED,3:HIDDEN,255:UNKNOWN data(M+11):逻辑盘磁盘缓存策略,0:UNCHANGED(Disk's default),1:ENABLE,2:DISABLE,255:UNKNOWN data(M+12):逻辑盘Span个数,255-UNKNOWN data(M+13):每个Span的物理盘个数,255-UNKNOWN data(M+14):逻辑盘条带大小,0:512B,1:1KB,2:2KB,3:4KB,4:8K,5:16K,6:32K,7:64K,8:128K,9:256K,10:512K,11:1MB,12:2MB,255:UNKNOWN data(M+15):(M+18):逻辑盘容量大小,单位MB,低字节在前,0xFFFFFFFF:UNKNOWN data(M+19):(M+22):预留 data(M+23):逻辑盘BGI使能状态,1:开启,0:关闭,255:UNKNOWN data(M+24):逻辑盘是否是启动盘,1:是,0:否,255:UNKNOWN data(M+25):CacheCade标识,1:CacheCade逻辑盘,0:普通逻辑盘,255:UNKNOWN data(M+26):逻辑盘是否有关联的CacheCade逻辑盘,1:有关联,0:无关联,255:UNKNOWN data(M+27):逻辑盘的初始化状态,0-未进行初始化,1-快速初始化,2-全量初始化,255-UNKNOWN data(M+28):OS盘符长度,数值标记为Ndata(M+29):(M+28+N):OS盘符(字符串)(如果N为0,则没有该字段) |
| 6 | 获取指定CacheCade逻辑盘关联的普通逻辑盘ID列表 请求: Set Selector:RAID控制器ID Block Selector:CacheCade逻辑盘ID Extern Selector:不涉及,填0xFF 响应: data1:N:关联的逻辑盘ID |
| 7 | 获取指定逻辑盘包含的物理成员盘ID列表 请求: Set Selector:RAID控制器ID Block Selector:逻辑盘ID Extern Selector:不涉及,填0xFF 响应: data1:物理盘1ID data2:物理盘2ID … |
| 8 | 获取指定的RAID控制器管理的物理盘ID列表 请求: Set Selector:指定的RAID控制器ID,0xFF-表示获取所有物理盘的ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:物理盘1ID data2:物理盘2ID … |
| 9 | 获取指定的物理盘的物理位置(丝印信息) 请求: Set Selector:不涉及,0xFF Block Selector:物理盘ID Extern Selector:不涉及,填0xFF 响应: data1:物理盘的物理位置信息长度,数值标记为Mdata2:(M+1):物理盘的物理位置信息(如果M为0,则没有该字段) |
| 10 | 获取指定物理盘信息 请求: Set Selector:不涉及,填0xFF Block Selector:物理盘ID Extern Selector:不涉及,填0xFF 响应: data1:硬盘厂商名称长度,标记为M1,目前最大值为20data2:(M 1+1):硬盘厂商名称 data(M 1+2):硬盘序列号长度,标记为M2,目前最大值为32 data(M 1+3):(M 1+M2+2):硬盘序列号 data(M 1+M2+3):硬盘型号长度,标记为M3,目前最大值为40 data(M 1+M2+4):(M 1+M2+M3+3):硬盘型号 data(M 1+M2+M3+4):硬盘firmware版本长度,标记为M4,目前最大值为8 data(M 1+M2+M3+5):(M 1+M2+M3+M4+4):硬盘firmware版本 data(M 1+M2+M3+M4+5):健康状态 data(M 1+M2+M3+M4+6):运行状态,0-UNCONFIGURED_GOOD,1-UNCONFIGURED_BAD,2-HOT_SPARE,3-OFFLINE,4-FAILED,5-REBUILD,6-ONLINE,7-COPYBACK,8-SYSTEM(JBOD),9-SHIELD_UNCONFIGURED,10-SHIELD_HOT_SPARE,11-SHIELD_CONFIGURED,12-FOREIGN,255-UNKNOWN data(M 1+M2+M3+M4+7):电源状态,0-ACTIVE,1-STOP,2-TRANSITIONING,255-UNKNOWN data(M 1+M2+M3+M4+8):媒介类型,0-ROTATIONAL(HDD),1-SSD,2-SSM FLASH,255-UNKNOWN data(M 1+M2+M3+M4+9):接口类型,0-UNDEFINE,1-PARALLEL SCSI,2-SAS,3-SATA,4-FC,5-SATA/SAS,6-PCIE,255-UNKNOWN data(M1+M2+M3+M4+10):接口支持的最大速率,0-UNDEFINED,1-1.5Gbps,2-3Gbps,3-6Gbps,4-12Gbps,255-UNKNOWN data(M 1+M2+M3+M4+11):协商速率,参考接口支持的最大速率 data(M 1+M2+M3+M4+12):温度,单位摄氏度 data(M 1+M2+M3+M4+13):(M 1+M2+M3+M4+16):硬盘容量,单位MB,低字节在前 data(M 1+M2+M3+M4+17):(M 1+M2+M3+M4+20):预留 data(M 1+M2+M3+M4+21):热备类型,0-NONE,1-GLOBAL,2-DEDICATED,3-COMMISSIONED,4-EMERGENCY,5-UNKNOWN=255 data(M 1+M2+M3+M4+22):重构状态,1-正在重构,0-重构结束或停止,255-UNKNOWN data(M 1+M2+M3+M4+23):重构进度,百分比数值 data(M 1+M2+M3+M4+24):巡检状态,1-正在巡检,0-巡检结束或停止,255-UNKNOWN data(M 1+M2+M3+M4+25):(M 1+ M2+M3+M4+27):预留 data(M 1+M2+M3+M4+28):SSD剩余磨损率,百分比数值,HDD为0xFF data(M 1+M2+M3+M4+29):(M 1+M2+M3+M4+32):媒介类型错误统计 data(M 1+M2+M3+M4+33):(M 1+M2+M3+M4+36):prefail错误统计 data(M 1+M2+M3+M4+37):(M 1+M2+M3+M4+40):其它错误统计 data(M 1+M2+M3+M4+41):定位状态,1-正在定位,0-定位已停止,255-UNKNOWN data(M1+M2+M3+M4+42):data(M1+M2+M3+M4+43):累积通电时间,单位:小时,LSB First,65535-UNKNOWN |
| 11 | 获取指定的RAID控制器管理的磁盘阵列ID列表 请求: Set Selector:指定的RAID控制器ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:2:磁盘阵列1ID data3:4:磁盘阵列2ID … |
| 12 | 获取指定磁盘阵列的信息 请求: Set Selector:指定的RAID控制器ID Block Selector:磁盘阵列ID低字节 Extern Selector:磁盘阵列ID高字节 响应: data1:4:已使用空间,单位MB,0xFFFFFFFF表示无效,低字节在前 data5:8:预留 data9:12:剩余空间,单位MB,0xFFFFFFFF表示无效,低字节在前 data13:16:预留 data17:逻辑盘个数,0xFF表示无效 data18:物理盘个数,0xFF表示无效 |
| 13 | 获取指定磁盘阵列上的逻辑盘ID列表 请求: Set Selector:指定的RAID控制器ID Block Selector:磁盘阵列ID低字节 Extern Selector:磁盘阵列ID高字节 响应: data1:逻辑盘1ID data2:逻辑盘2ID … |
| 14 | 获取指定磁盘阵列上的物理盘ID列表 请求: Set Selector:指定的RAID控制器ID Block Selector:磁盘阵列ID低字节 Extern Selector:磁盘阵列ID高字节 响应: data1:物理盘1ID data2:物理盘2ID … |
| 15 | 获取指定逻辑盘局部热备盘ID列表 请求: Set Selector:RAID控制器ID Block Selector:逻辑盘ID Extern Selector:不涉及,填0xFF 响应: data1:热备盘1ID data2:热备盘2ID … |
| 16 | RAID控制器驱动名称和版本 请求: Set Selector:RAID控制器ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:RAID控制器驱动名称长度,数值标记为M data2:(M+1):RAID控制器驱动名称(字符串)(如果M为0,则没有该字段) data(M+2):RAID控制器驱动版本长度,数值标记为N data2:(M+3):(M+2+N):RAID控制器驱动版本(字符串)(如果N为0,则没有该字段) |
| 17 | 获取环境中所有RAID卡带外管理能力(软RAID除外) 请求: Set Selector:不涉及 Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: dataN:N+7:每一张RAID卡占用8个字节,RAID卡排列不分先后 data1:RAID控制器ID data2:Bus ID data3:Device ID data4:Function ID data5:- bit2:7:保留,默认为0- bit1:RAID卡是否支持SMART信息收集,1为支持,0为不支持- bit0:RAID卡是否支持带外管理,1为支持,0为不支持 data6:8:保留,默认为0 |
| 18 | 获取指定硬盘灯状态 请求: Set Selector:不涉及,填0xFF Block Selector:物理盘ID Extern Selector:不涉及,填0xFF 响应 data1:Presence data2:Activation data3:Location data4:Fault |
| 19 | 获取指定的RAID控制器的逻辑盘ID列表 请求: Set Selector:指定的RAID控制器ID Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:2:逻辑盘1 ID data3:4:逻辑盘2 ID ... data(2n-1):2n:逻辑盘n ID |
| 20 | 获取指定CacheCade逻辑盘关联的普通逻辑盘ID列表 请求: Set Selector:RAID控制器ID Block Selector:CacheCade逻辑盘ID Extern Selector:不涉及,填0xFF 响应: data1:2:关联的逻辑盘1 ID data3:4:关联的逻辑盘2 ID ... data(2n-1):2n:关联的逻辑盘n ID |
| 21 | 获取指定磁盘阵列上的逻辑盘ID列表 请求: Set Selector:指定的RAID控制器ID Block Selector:磁盘阵列ID低字节 Extern Selector:磁盘阵列ID高字节 响应: data1:2:逻辑盘1 ID data3:4:逻辑盘2 ID … data(2n-1):2n:逻辑盘n ID |
| 22 | 获取慢盘检测相关属性 请求: Set Selector:不涉及,填0xFF Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:使能开关状态 0-不使能 1-使能 data2:3:慢盘检测SMART信息错误的阈值,小端字节序 data4:5:慢盘检测SMART信息错误增长量的阈值,小端字节序 data6:慢盘检测SMART信息错误增长量的观测周期(单位:天) data7:8:慢盘检测RAID卡信息错误的阈值,小端字节序 data9:10:慢盘检测RAID卡信息错误增长量的阈值,小端字节序 data11:慢盘检测RAID卡信息错误增长量的观测周期(单位:天) data12:13:慢盘检测指令超时次数的阈值,小端字节序 data14:慢盘检测指令超时次数的观测周期(单位:天) |
| 23 | 获取亚健康检测相关属性 请求: Set Selector:不涉及,填0xFF Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:使能开关状态 0-不使能 1-使能 data2:3:亚健康检测标准参数1的阈值,小端字节序 data4:5:亚健康检测标准参数2的阈值,小端字节序 data6:7:亚健康检测标准参数3的阈值,小端字节序 |
| 24 | 主动触发硬盘日志收集 请求: Set Selector:不涉及 Block Selector:不涉及 Extern Selector:不涉及 |
| 25 | 获取硬盘诊断参数配置 请求: Set Selector: 0- 获取NVME SSD慢盘检测参数配置 1- 获取SAS SSD慢盘检测参数配置 255- 查询硬盘日志自动收集开启状态和收集周期 Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: 请求参数Set Selector 为0时 data1:NVME慢盘检测使能开关状态, 0-不使能,1-使能 data2:3:NVME平均响应时延阈值,单位为ms,小端字节序 data4:NVME平均时延超过门限的次数 data5:NVME准慢盘的平均响应时延同硬盘域内的倍数 data6:7:NVME准慢盘的标准平均响应时延,单位ms,小端字节序 请求参数Set Selector 为1时 data1:SAS慢盘检测使能开关状态, 0-不使能,1-使能 data2:3:SAS平均响应时延阈值,单位为ms,小端字节序 data4:SAS平均时延超过门限的次数 data5:SAS准慢盘的平均响应时延同硬盘域内的倍数 data6:7:SAS准慢盘的标准平均响应时延,单位ms,小端字节序 请求参数Set Selector 为255时 data1:开启状态,1-开启,0-关闭 data2:收集周期,1-255(小时) |
| 27 | 获取硬盘故障带外预测功能的使能状态 请求: Set Selector:不涉及,填0xFF Block Selector:不涉及,填0xFF Extern Selector:不涉及,填0xFF 响应: data1:0-不使能;1-使能 |
| 28 | 查询指定物理盘槽位的电源状态 请求: Set Selector,不涉及,填0xFF Block Selector,物理盘槽位ID Extern Selector,不涉及,填0xFF 响应: Data,data1:用于查询指定物理盘槽位的电源状态,0:下电,1:上电,255:UNKNOWN |
命令样例
查询NVME SSD硬盘慢盘检测相关配置
请求:
ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x3D 0x00 0x19 0x00 0xFF 0xFF 0X00 0X00 0XFF响应:
db 07 00 00 00 ff ff 00 00 00 00查询槽位为1的物理盘电源状态
请求:
ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x3d 0x00 0x1c 0xff 0x01 0xff 0x00 0x00 0x01响应:
db 07 00 00 01