更多銀河麒麟操作系統產品及技術討論,歡迎加入銀河麒麟操作系統官方論壇
forum.kylinos.cn
了解更多銀河麒麟操作系統全新產品,請點擊訪問
麒麟軟件產品專區:product.kylinos.cn
開發者專區:developer.kylinos.cn
文檔中心:document.kylinos.cn
服務器環境以及配置
物理機/虛擬機/云/容器 | 物理機 | |
網絡環境 | 外網/私有網絡/無網絡 | 私有網絡 |
硬件環境 | 處理器: | S2500 |
內存: | 512GB | |
機器型號 | 擎天EF860 | |
整機類型/架構: | arm64 | |
BIOS版本: | ?Great Wall BIOS V3.0 | |
軟件環境 | 具體操作系統版本 | 銀河麒麟高級服務器操作系統 Kylin Linux Advanced Server release V10 (Lance) |
內核版本 | 4.19.90-52.30.v2207.ky10.aarch64 |
現象描述
服務器巡檢告顯示有io error,需要進行分析。
現象分析
查看磁盤存儲情況
根據串口日志,報IO Error錯誤的是dm-4和dm-5磁盤設備,對應的是/dev/mpathxsky02blk01和/dev/mpathxsky02blk02兩塊多路徑盤。
分析串口日志
查看串口日志,系統出現過三次I/O error相關的報錯,第一次導致系統發生了hung task,后面兩次出現IO error報錯后便出現了shutdown相關的日志打印。
分析第一次出現I/O error
日志中多次出現print_req_error: I/O error, dev sdb和print_req_error: I/O error, dev sdc的錯誤。這表明設備sdb和sdc發生了I/O錯誤。另外,日志中還出現了rejecting I/O to offline device的消息(例如:sd 3:0:0:1: rejecting I/O to offline device),這通常意味著設備已經離線,無法再進行I/O操作。這些I/O錯誤可能是由于硬盤故障、連接問題(例如,SATA線纜故障)或控制器問題引起的。
日志中有多個任務被報告為掛起超過1200秒,如xfsaild/dm-4和containerd。這些任務的掛起是由于無法完成的磁盤I/O請求導致的,因為設備已經離線或不可用。出現了任務掛起(通常和無法訪問存儲設備相關),導致最后內核觸發了恐慌(Kernel panic - not syncing: hung_task: blocked tasks)。
sdb和sdc設備應該對應sd 3:0:0:0和sd 3:0:0:1,查看當前收集的sosreport中的lsscsi命令,由于相隔的時間太過久遠,沒有3:0:0:0和3:0:0:1相關的設備,變為了5:0:0:0和5:0:0:1。后續也未再出現過rejecting I/O to offline device,問題應該已經修復。
[30551.689416][ 86] print_req_error: I/O error, dev sdb, sector 278120^M |
分析第二次出現I/O error
日志中先出現了多個print_req_error: I/O error, dev dm-4/5/6, sector xxxx,說明lvm邏輯卷輸入輸出出現錯誤。而后出現了XFS (dm-4): writeback error on sector xxxx,XFS 文件系統報告了writeback error和metadata I/O error,特別是在xlog_iodone操作中,錯誤發生在不同的扇區,涉及數據和元數據的讀寫操作。錯誤代碼為error 5,對應于輸入/輸出錯誤(EIO),這表示底層存儲設備無法完成讀寫請求。
而后馬上出現了shutdown及reboot: Restarting system相關日志,這應是之前執行了關機操作。雖然是先出現了IO error的日志,而后出現的shutdown日志,但是shutdown操作并不會立即寫到日志,推測是關機操作使得多路徑存儲設備下線,文件系統無法寫入,而后出現的IO error。
[4931293.526231][ 71] print_req_error: I/O error, dev dm-4, sector 5428128^M |
分析第三次出現I/O error
和第二次出現IO error相同,出現IO error后,也立馬出現了shutdown相關的日志。
[2001517.911050][102] print_req_error: I/O error, dev dm-6, sector 62984704^M |
查看tuned.log,出現了兩次關機操作,應該是對應這兩次IO error。
分析結果
第一次出現I/O錯誤時,日志中顯示了 rejecting I/O to offline device的消息。這通常意味著設備已經離線,無法繼續進行I/O操作,從而導致了I/O錯誤。由于這個錯誤的日志已經存在一段時間,問題應該已經得到解決。
第二次和第三次出現I/O錯誤時,伴隨著關機相關的日志信息。具體來說,關機日志(shutdown 和 reboot)表明系統在I/O錯誤發生前,應該有執行關機操作。系統關機通常會觸發文件系統的卸載和數據的回寫,但由于多路徑存儲設備已經下線,XFS 無法完成日志寫回和其他數據的持久化操作。日志中的XFS writeback error和metadata I/O error表明XFS文件系統在嘗試進行數據寫回時失敗。尤其是在元數據操作過程中,XFS 在執行xlog_iodone操作時未能完成I/O請求,導致元數據無法成功寫回。這些錯誤的原因是,XFS嘗試將數據寫入物理存儲設備,但由于設備處于離線狀態或無法訪問,文件系統無法完成這些操作。