天天看點

Linux核心I/O系統報錯日志與硬碟故障對應關系

日志資訊

故障現象描述

與硬碟關系

scsi1: ERROR on channel 0, id 7, lun 0, CDB: Read (10) 00 73 fc 62 bf 00 00 80 00

Info fld=0x73fc6326, Current sdi: sense key Medium Error

Additional sense: Unrecovered read error

SMART規範定義“Medium Error”錯誤是一種不可恢複的錯誤,可能由于媒體的缺陷或記錄的資料錯誤。該錯誤有别于“Hardware Error”。

出現Medium Error的主要原因是硬碟壞,或者硬碟的資料無法讀寫。

(1)硬碟扇區壞

或(2)硬碟與磁盤控制器連接配接信号品質不穩定,導緻資料出現異常

mptbase: ioc1: IOCStatus=804b LogInfo=31080000

Originator={PL}, Code={SATA NCQ Fail All Commands After Error}, SubCode(0×0000) 

原生指令排序(Native Command Queuing,簡稱NCQ),原先是改善伺服器硬碟存取控制技術,應用在SCSI和SATA 1.0/2.0/3.0接口硬碟讀寫的加速技術,其接口開啟磁盤陣列RAID亦有所提升。透過硬碟固件、硬碟控制器以及作業系統三者的互相配合,改善硬碟内部磁區的讀取順序,可以提高硬碟效能約30%,亦能夠輕微減輕硬碟損耗的速率。NCQ對用于伺服器上的硬碟的效率提升尤為明顯。 

PL:Protocol Layer,指磁盤控制器中的協定層

該資訊與硬碟是否故障無直接聯系

end_request: I/O error, dev sdi, sector 1945920256

EXT2-fs error (device sdi1): read_inode_bitmap: Cannot read inode bitmap – block_group = 222, inode_bitmap = 14547217

EXT2-fs error (device sdi1): ext2_get_inode: unable to read inode block – inode=951895, block=15202501

核心不能從硬碟上的檔案系統讀取資料。

(1)硬碟扇區壞。

或(2)硬碟與磁盤控制器連接配接信号品質不穩定,導緻資料出現異常。

mptbase: ioc1: IOCStatus=8000 LogInfo=31110d00

Originator={PL}, Code={Reset}, SubCode(0x0d00)

mptbase: ioc1: IOCStatus=804b LogInfo=31110d00

驅動準備讓磁盤控制器IOC單元複位,出現該操作原因為驅動發現多次讀寫硬碟資料失敗。

IOCStatus=0×8000

磁盤控制器配置頁面處于共享的遞歸方式。 

IOCStatus=0×8048

嘗試讀取不存在的超級配置資料。

IOCStatus=0x804b

超級資料序列号由0xffffffff變為0

該資訊不能作為硬碟故障的依據。列印該資訊的原因,與硬碟/磁盤控制器IOC單元/硬碟與控制器之間的鍊路有關。IOC錯誤碼含義見前面。

mptscsih: ioc1: attempting task abort! (sc=000001007b4cf340)

scsi1 : destination target 8, lun 0

command = Read (10) 00 5f 2a 4d 3f 00 10 00 00

磁盤控制器驅動嘗試取消讀寫任務。本示例代碼中,表明取消在target 8,lun 0的讀資料任務。

mptbase: ioc1: IOCStatus=8048 LogInfo=31130000

Originator={PL}, Code={IO Not Yet Executed}, SubCode(0×0000)

磁盤控制器驅動報告報告目前IOC(I/O Controller)單元狀态碼

mptscsih: ioc1: task abort: SUCCESS (sc=000001007b4cf340)

磁盤控制器驅動報告讀寫任務取消成功

mptscsih: ioc1: attempting target reset!

mptscsih: ioc1: attempting bus reset! (sc=000001007b4cf340)

mptscsih: ioc1: Attempting host reset! (sc=000001007b4cf340)

mptbase: Initiating ioc1 recovery

磁盤控制器驅動嘗試複位target/bus/host,并重新恢複IOC(I/O Controller)單元

該資訊不能作為硬碟故障的依據。列印該資訊的原因,與硬碟/磁盤控制器IOC單元/硬碟與控制器之間的鍊路有關。

scsi: Device offlined – not ready after error recovery: host 1 channel 0 id 8 lun 0

硬碟offline,硬碟的位置為host 1 channel 0 id 8 lun 0

硬碟處于故障狀态或丢失

SCSI error : <1 0 8 0> return code = 0×10000

end_request: I/O error, dev sdj, sector 1596607807

scsi1 (8:0): rejecting I/O to offline device

SCSI層報告在host 1 channel 0 id 8 lun 0裝置上讀寫錯誤,傳回碼為0×10000,表明裝置已不在位。

mptsas: ioc1: attaching sata device, channel 0, id 11, lun 0, phy 0

系統新加入新的硬碟,硬碟所在位置為phy 0,即第一個實體槽位。

插入新的硬碟

mptsas: ioc0: removing sata device, channel 0, id 21, phy 2

從系統中拔掉一塊硬碟,硬碟對應的實體位置為phy 2,即第3個實體槽位。

拔除一塊硬碟

Remounting filesystem read-only

檔案系統變為隻讀,原因為檔案系統遭到破壞

與硬碟是否故障無直接關系

注:本文以使用LSISAS1064E/1068E SAS控制器伺服器Linux核心日志資訊為例,即磁盤控制器驅動為mptsas。

本文轉自 guowang327 51CTO部落格,原文連結:http://blog.51cto.com/guowang327/1961089,如需轉載請自行聯系原作者

繼續閱讀