我在为朋友识别问题时遇到了麻烦。他正在使用 Debian 发行版在 Linux 上运行 ZFS。我们正在将这些条目放入 dmesg 中。
[273044.834151] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834157] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834161] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834164] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834168] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834171] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834175] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834178] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834182] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.834185] mpt2sas0: log_info(0x31110d00): originator(PL), code(0x11), sub_code(0x0d00) [273044.841140] sd 0:0:1:0: [sdb] Device not ready [273044.841146] sd 0:0:1:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [273044.841151] sd 0:0:1:0: [sdb] Sense Key : Not Ready [current] [273044.841155] sd 0:0:1:0: [sdb] Add. Sense: Logical unit not ready, cause not reportable [273044.841162] sd 0:0:1:0: [sdb] CDB: Write(10): 2a 00 b4 0c c3 e0 00 01 00 00 [273044.841171] end_request: I/O error, dev sdb, sector 3020735456 [273044.841530] sd 0:0:1:0: [sdb] Device not ready [273044.841532] sd 0:0:1:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [273044.841535] sd 0:0:1:0: [sdb] Sense Key : Not Ready [current] [273044.841538] sd 0:0:1:0: [sdb] Add. Sense: Logical unit not ready, cause not reportable [273044.841543] sd 0:0:1:0: [sdb] CDB: Write(10): 2a 00 b4 0c c1 e0 00 01 00 00 [273044.841550] end_request: I/O error, dev sdb, sector 3020734944 --- snip ---
我们已经进行了全面清理,没有发现其他错误。我们还进行了智能长测试,也通过了测试。没有当前待处理的扇区,也没有重新分配的扇区。我们还能尝试什么来调试此问题?
SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0027 197 174 021 Pre-fail Always - 5150 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 30 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0 9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 5065 10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0 11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 30 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 24 193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 47 194 Temperature_Celsius 0x0022 121 102 000 Old_age Always - 29 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
再次运行另一次清理。我使用 ibm serveraid m1015 闪存到 IT,在 Supermicro X9SCM-F 主板上运行,带有 wd20earx 绿色磁盘。
pool: hulk state: ONLINE scan: scrub in progress since Sun May 4 14:26:11 2014 33.2G scanned out of 10.2T at 254M/s, 11h38m to go 0 repaired, 0.32% done config:
NAME STATE READ WRITE CKSUM
hulk ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
hulk1 ONLINE 0 0 0
hulk2 ONLINE 0 0 0
hulk3 ONLINE 0 0 0
hulk4 ONLINE 0 0 0
hulk5 ONLINE 0 0 0
hulk6 ONLINE 0 0 0
errors: No known data errors
答案1
log_info 0x31110d00 解码为:
Value 0x31110D00
Type 0x30000000 SAS
Origin 0x01000000 PL
Code 0x00110000 PL_LOGINFO_CODE_RESET See Sub-Codes below (PL_LOGINFO_SUB_CODE)
Sub Code 0x00000D00 PL_LOGINFO_SUB_CODE_SATA_LINK_DOWN
归根结底,SATA 设备已被重置,无论是由 SAS HBA 还是操作系统自行重置。
您可以使用mptevents获取有关 SAS HBA 事件的完整信息(它似乎是一张 LSI SAS 卡,如果是 MegaRaid 的话它将无法工作)。
您可以使用以下方式启用 SCSI 日志记录echo 0x010401cd > /proc/sys/dev/scsi/logging_level
如果这两者均未显示为错误,则说明是内部驱动器断言,但这种情况非常罕见。
此外,我建议查看 SAS phys,看看它们是否指示 invalid_dword 文件中存在任何错误。您可以在/sys/class/sas_phy
目录中找到它们。
答案2
哦,Supermicro......:)
但实际上,请等待。获取备用磁盘,甚至可以将其配置为热备用。这就是 RAID 保护的目的。您的错误似乎只限于一个驱动器/端口/SATA 连接。它排除了背板(可能没有) 和控制器是原因。如果驱动器出现故障,就让它发生故障。必要时更换它。