简介
SES(SCSI Enclosure Services)Page 是SAS/SCSI存储系统中用于机箱管理、监控和控制的标准协议页面。每个Page代表一类管理功能,支持通过SCSI命令(如 sg_ses)进行读取和设置。
SES Page 列表与功能说明
Page Code | 名称(宏定义) | 主要功能说明 |
---|---|---|
0x00 | Supported Diagnostic Pages | 查询设备支持哪些诊断页 |
0x01 | Configuration Page | 机箱配置信息(厂商、型号、固件等) |
0x02 | Enclosure Status/Control Page | 机箱整体状态和控制 |
0x03 | Help Text Diagnostic Page | 帮助文本 |
0x04 | String Page | 字符串信息(如机箱名称等) |
0x05 | Threshold Page | 阈值设置(如温度、电压等报警阈值) |
0x07 | Element Descriptor Page | 元素描述(如硬盘槽、风扇等的描述信息) |
0x0A | Device Element Status Page | 设备元素(硬盘、风扇、电源等)状态 |
0x0D | Supported SES Diagnostic Pages | 支持的SES诊断页 |
0x0E | Microcode Status Page | 固件/微码状态 |
0x0F | Subenclosure Nickname Page | 子机箱昵称 |
0x3F | SAS Diagnostic Page | SAS链路/PHY诊断 |
0x80 | EMM System Log Page | 系统日志 |
0x81 | Delay Test Page | 延迟测试 |
0x82 | Firmware Status Page | 固件状态 |
0x83 | PHY Analog Page | PHY模拟参数 |
0x84 | 2D Eye Capture Page | 2D眼图采集 |
0x86 | Port Mirroring Page | 端口镜像配置 |
0x87 | DCM Page | DCM相关配置 |
0x90 | SXP Diagnostic Page | SXP芯片诊断 |
0x91 | Firmware Download Partition | 固件下载分区 |
0x92 | Temperature Log Page | 温度日志 |
0xF0 | TWI Command Page | I2C命令相关 |
0xF1 | TWI Config Page | I2C配置相关 |
0xF2 | QOS Page | 服务质量配置 |
0xF3 | SSSF Page | 自定义功能 |
0xF4 | Fatal Error Log Page | 致命错误日志 |
常用Page详细结构说明
0x00 Supported Diagnostic Pages
- 功能:列出设备支持的所有诊断页(Page Code)。
- 常用命令:
sg_ses -p 0x00 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x00) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Supported Page List | n-4字节 +---------------------------+
- 字段说明:
- Page Code:固定为0x00
- Page Length:后续数据长度
- Supported Page List:支持的所有Page Code列表
- 使用示例:
# 查看设备支持哪些SES页面 sg_ses -p 0x00 /dev/sgX
0x01 Configuration Page
- 功能:显示机箱厂商、型号、固件版本、能力等。
- 常用命令:
sg_ses -p 0x01 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x01) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Subenclosure Identifier | 1字节 +---------------------------+ | Number of Subenclosures | 1字节 +---------------------------+ | Enclosure Descriptor List | 变长 +---------------------------+ | Type Descriptor Header | 4字节 +---------------------------+ | Type Descriptor List | 变长 +---------------------------+
- 字段说明:
- Generation Code:配置变更计数
- Subenclosure Identifier:子机箱标识符
- Enclosure Descriptor List:包含机箱厂商、型号、序列号等
- Type Descriptor List:各类元素类型描述(如硬盘槽、风扇、电源等)
- 使用示例:
# 查看机箱厂商和型号信息 sg_ses -p 0x01 /dev/sgX | grep -i vendor # 查看所有配置信息 sg_ses -p 0x01 /dev/sgX
0x02 Enclosure Status/Control Page
- 功能:显示和控制机箱整体状态(如报警灯、风扇、电源等)。
- 常用命令:
sg_ses -p 0x02 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x02) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Status Descriptor List | 变长 +---------------------------+
- 字段说明:
- Generation Code:状态变更计数
- Status Descriptor List:各类元素状态描述符列表,每个描述符4字节
- 常见状态位:FAIL、IDENT、MISSING、REBUILD、HOT_SPARE等
- 使用示例:
# 查看所有元素状态 sg_ses -p 0x02 /dev/sgX # 点亮第1个硬盘槽的定位灯 sg_ses --index=1 --set=ident /dev/sgX # 关闭第1个硬盘槽的定位灯 sg_ses --index=1 --clear=ident /dev/sgX # 检查所有硬盘状态并报告异常 sg_ses -p 0x02 /dev/sgX | grep -i "status:" | grep -v "OK"
0x03 Help Text Diagnostic Page
- 功能:提供设备相关的帮助文本信息。
- 常用命令:
sg_ses -p 0x03 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x03) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Help Text | 变长 +---------------------------+
- 字段说明:
- Help Text:ASCII格式的帮助文本
- 使用示例:
# 查看设备帮助文本 sg_ses -p 0x03 /dev/sgX
0x04 String Page
- 功能:提供设备相关的字符串信息,如机箱名称等。
- 常用命令:
sg_ses -p 0x04 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x04) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | String Descriptors | 变长 +---------------------------+
- 字段说明:
- String Descriptors:各类元素的字符串描述符
- 使用示例:
# 查看设备字符串信息 sg_ses -p 0x04 /dev/sgX
0x05 Threshold Page
- 功能:显示和设置各类阈值,如温度、电压等报警阈值。
- 常用命令:
sg_ses -p 0x05 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x05) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Threshold Descriptors | 变长 +---------------------------+
- 字段说明:
- Threshold Descriptors:各类阈值描述符,包含高/低警告阈值和高/低关键阈值
- 使用示例:
# 查看温度阈值设置 sg_ses -p 0x05 /dev/sgX | grep -i temp
0x07 Element Descriptor Page
- 功能:提供元素的详细描述信息。
- 常用命令:
sg_ses -p 0x07 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x07) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Element Descriptors | 变长 +---------------------------+
- 字段说明:
- Element Descriptors:各类元素的详细描述,包含名称、位置等
- 使用示例:
# 查看元素描述信息 sg_ses -p 0x07 /dev/sgX
0x0A Device Element Status Page
- 功能:显示各类设备元素(硬盘、风扇、电源等)的健康状态。
- 常用命令:
sg_ses -p 0x0A /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x0A) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Device Element Status | 变长 +---------------------------+
- 字段说明:
- Device Element Status:包含设备元素的详细状态,包括:
- SAS地址:设备的唯一标识
- PHY标识符:物理链路标识
- 设备类型:如硬盘、固态盘等
- 协议:如SAS、SATA等
- 连接状态:如已连接、未连接等
- Device Element Status:包含设备元素的详细状态,包括:
- 使用示例:
# 查看所有设备元素状态 sg_ses -p 0x0A /dev/sgX # 查找特定SAS地址的设备 sg_ses -p 0x0A /dev/sgX | grep -i "5000c500"
0x0D Supported SES Diagnostic Pages
- 功能:列出设备支持的SES诊断页。
- 常用命令:
sg_ses -p 0x0D /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x0D) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Supported Pages List | 变长 +---------------------------+
- 字段说明:
- Supported Pages List:支持的SES诊断页列表
- 使用示例:
# 查看支持的SES诊断页 sg_ses -p 0x0D /dev/sgX
0x0E Microcode Status Page
- 功能:显示固件/微码状态信息。
- 常用命令:
sg_ses -p 0x0E /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x0E) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Generation Code | 4字节 +---------------------------+ | Status | 1字节 +---------------------------+ | Additional Status | 变长 +---------------------------+
- 字段说明:
- Status:固件状态码
- Additional Status:附加状态信息
- 使用示例:
# 查看固件状态 sg_ses -p 0x0E /dev/sgX
0x0F Subenclosure Nickname Page
- 功能:显示或设置子机箱(Subenclosure)的昵称。
- 常用命令:
sg_ses -p 0x0F /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x0F) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Subenclosure Nickname(s) | 变长 +---------------------------+
- 字段说明:
- Subenclosure Nickname(s):每个子机箱的ASCII昵称
- 使用示例:
# 查看子机箱昵称 sg_ses -p 0x0F /dev/sgX
0x3F SAS Diagnostic Page
- 功能:提供SAS链路和PHY的诊断信息。
- 常用命令:
sg_ses -p 0x3F /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x3F) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | SAS Diagnostic Data | 变长 +---------------------------+
- 字段说明:
- SAS Diagnostic Data:包含PHY状态、错误计数、速率等
- 使用示例:
# 查看SAS链路诊断信息 sg_ses -p 0x3F /dev/sgX
0x80 EMM System Log Page
- 功能:获取系统运行日志,便于故障追溯。
- 常用命令:
sg_ses -p 0x80 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x80) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Log Entry Count | 2字节 +---------------------------+ | Log Entries | 变长 +---------------------------+
- 字段说明:
- Log Entry Count:日志条目数量
- Log Entries:日志条目列表,每条包含:
- 时间戳:事件发生时间
- 事件类型:如错误、警告、信息等
- 事件描述:详细事件信息
- 使用示例:
# 查看系统日志 sg_ses -p 0x80 /dev/sgX # 过滤错误日志 sg_ses -p 0x80 /dev/sgX | grep -i error
0x81 Delay Test Page
- 功能:用于测试和验证SES命令处理的延迟。
- 常用命令:
sg_ses -p 0x81 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x81) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Delay Test Data | 变长 +---------------------------+
- 字段说明:
- Delay Test Data:延迟测试相关参数和结果
- 使用示例:
# 执行延迟测试 sg_ses -p 0x81 /dev/sgX
0x82 Firmware Status Page
- 功能:显示固件的详细状态信息。
- 常用命令:
sg_ses -p 0x82 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x82) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Firmware Status Data | 变长 +---------------------------+
- 字段说明:
- Firmware Status Data:固件版本、运行状态、错误码等
- 使用示例:
# 查看固件详细状态 sg_ses -p 0x82 /dev/sgX
0x83 PHY Analog Page
- 功能:显示PHY模拟参数,用于链路质量分析。
- 常用命令:
sg_ses -p 0x83 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x83) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | PHY Identifier | 1字节 +---------------------------+ | Analog Parameters | 变长 +---------------------------+
- 字段说明:
- PHY Identifier:PHY标识符
- Analog Parameters:模拟参数列表,包含信号强度、均衡等
- 使用示例:
# 查看PHY模拟参数 sg_ses -p 0x83 /dev/sgX
0x84 2D Eye Capture Page
- 功能:采集2D眼图数据,用于信号质量分析。
- 常用命令:
sg_ses -p 0x84 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x84) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | PHY Identifier | 1字节 +---------------------------+ | Eye Data | 变长 +---------------------------+
- 字段说明:
- PHY Identifier:PHY标识符
- Eye Data:眼图数据
- 使用示例:
# 采集2D眼图数据 sg_ses -p 0x84 /dev/sgX
0x86 Port Mirroring Page
- 功能:配置和显示端口镜像(Port Mirroring)功能。
- 常用命令:
sg_ses -p 0x86 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x86) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Port Mirroring Data | 变长 +---------------------------+
- 字段说明:
- Port Mirroring Data:镜像端口配置、状态
- 使用示例:
# 查看端口镜像配置 sg_ses -p 0x86 /dev/sgX
0x87 DCM Page
- 功能:显示和配置DCM(Data Center Management)相关参数。
- 常用命令:
sg_ses -p 0x87 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x87) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | DCM Data | 变长 +---------------------------+
- 字段说明:
- DCM Data:DCM相关配置和状态
- 使用示例:
# 查看DCM配置 sg_ses -p 0x87 /dev/sgX
0x90 SXP Diagnostic Page
- 功能:SXP芯片相关的诊断信息。
- 常用命令:
sg_ses -p 0x90 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x90) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | SXP Diagnostic Data | 变长 +---------------------------+
- 字段说明:
- SXP Diagnostic Data:SXP芯片状态、错误、统计等
- 使用示例:
# 查看SXP诊断信息 sg_ses -p 0x90 /dev/sgX
0x91 Firmware Download Partition Page
- 功能:固件下载分区相关信息。
- 常用命令:
sg_ses -p 0x91 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0x91) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | FW Download Partition | 变长 +---------------------------+
- 字段说明:
- FW Download Partition:分区大小、状态、校验等
- 使用示例:
# 查看固件下载分区信息 sg_ses -p 0x91 /dev/sgX
0xF0 TWI Command Page
- 功能:I2C(TWI)命令相关信息。
- 常用命令:
sg_ses -p 0xF0 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0xF0) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | TWI Command Data | 变长 +---------------------------+
- 字段说明:
- TWI Command Data:I2C命令、响应等
- 使用示例:
# 查看I2C命令相关信息 sg_ses -p 0xF0 /dev/sgX
0xF1 TWI Config Page
- 功能:I2C(TWI)配置相关信息。
- 常用命令:
sg_ses -p 0xF1 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0xF1) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | TWI Config Data | 变长 +---------------------------+
- 字段说明:
- TWI Config Data:I2C配置参数
- 使用示例:
# 查看I2C配置相关信息 sg_ses -p 0xF1 /dev/sgX
0xF2 QOS Page
- 功能:服务质量(QOS)相关配置和状态。
- 常用命令:
sg_ses -p 0xF2 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0xF2) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | QOS Data | 变长 +---------------------------+
- 字段说明:
- QOS Data:QOS参数、状态
- 使用示例:
# 查看QOS相关信息 sg_ses -p 0xF2 /dev/sgX
0xF3 SSSF Page
- 功能:自定义功能(SSSF,厂商扩展)。
- 常用命令:
sg_ses -p 0xF3 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0xF3) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | SSSF Data | 变长 +---------------------------+
- 字段说明:
- SSSF Data:自定义功能参数和状态
- 使用示例:
# 查看自定义功能相关信息 sg_ses -p 0xF3 /dev/sgX
0xF4 Fatal Error Log Page
- 功能:获取致命错误日志,便于异常分析。
- 常用命令:
sg_ses -p 0xF4 /dev/sgX
- 页面结构:
+---------------------------+ | Page Code (0xF4) | 1字节 +---------------------------+ | Reserved | 1字节 +---------------------------+ | Page Length (n-3) | 2字节 +---------------------------+ | Error Count | 2字节 +---------------------------+ | Error Entries | 变长 +---------------------------+
- 字段说明:
- Error Count:错误条目数量
- Error Entries:错误条目列表,每条包含:
- 错误码:错误类型标识
- 时间戳:错误发生时间
- 详细信息:错误上下文和堆栈信息
- 使用示例:
# 查看致命错误日志 sg_ses -p 0xF4 /dev/sgX # 导出错误日志到文件 sg_ses -p 0xF4 /dev/sgX > error_log.txt
参考
- SCSI Enclosure Services (SES) 标准协议
- sxp_24g_sas_expander_firmware_user_manual-mr4_00004442e
- sg3_utils 工具文档
- T10 SES-3 规范 (ANSI INCITS 458-2011)