Centos7
隊列已滿時對凍結磁碟進行故障排除
我有一個安裝了 k8s 的系統(centos 7.8)。
經過幾天的正常操作(系統負載約為 30%,磁碟活動約為 60 iops,未飽和),系統進入不穩定狀態,不再向磁碟送出任何內容。從圖中可以看出
iostat -x 5
,avgqu-sz 凍結不再接受 r/w。問題是我接下來應該去哪裡尋找根本原因。
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 169,00 0,00 0,00 0,00 0,00 100,00 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 186,00 0,00 0,00 0,00 0,00 100,00 dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 0,00 0,00 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 11,36 0,00 1,71 86,94 0,00 0,00 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 169,00 0,00 0,00 0,00 0,00 100,00 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 186,00 0,00 0,00 0,00 0,00 100,00 dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 0,00 0,00 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 11,41 0,00 1,58 87,01 0,00 0,00 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 169,00 0,00 0,00 0,00 0,00 100,00 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 186,00 0,00 0,00 0,00 0,00 100,00 dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 0,00 0,00 100,00
/var/log/messages 在強制系統重置之前的最後一條日誌行是:
kernel: ACPI Error: SMBus/IPMI/GenericSerialBus write requires Buffer of length 66, found length 32 (20130517/exfield-389) kernel: ACPI Error: Method parse/execution failed [\_SB_.PMI0._PMM] (Node ffff99c2ba2513c0), AE_AML_BUFFER_LIMIT (20130517/psparse-536) kernel: ACPI Exception: AE_AML_BUFFER_LIMIT, Evaluating _PMM (20130517/power_meter-339)
雖然,根據這個 RedHat 執行緒,這不應該是一個問題https://access.redhat.com/discussions/3871951
LE 1:有時我會在很短的時間(不到一分鐘)內遇到類似的凍結,然後它會恢復。在 dmesg 輸出中,我有:
[Lu aug 17 21:04:07 2020] hpsa 0000:06:00.0: scsi 0:1:0:0: resetting logical Direct-Access HP LOGICAL VOLUME RAID-1(+0) SSDSmartPathCap+ En+ Exp=1 [Lu aug 17 21:04:15 2020] hpsa 0000:06:00.0: device is ready. [Lu aug 17 21:04:15 2020] hpsa 0000:06:00.0: scsi 0:1:0:0: reset logical completed successfully Direct-Access HP LOGICAL VOLUME RAID-1(+0) SSDSmartPathCap+ En+ Exp=1
LE 2:當磁碟不再恢復並且需要重置時,管理保存 dmesg 輸出。
[Lu aug 24 13:00:18 2020] hpsa 0000:06:00.0: scsi 0:1:0:0: resetting logical Direct-Access HP LOGICAL VOLUME RAID-1(+0) SSDSmartPathCap+ En+ Exp=1 [Lu aug 24 13:03:20 2020] INFO: task scsi_eh_0:332 blocked for more than 120 seconds. [Lu aug 24 13:03:20 2020] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [Lu aug 24 13:03:20 2020] scsi_eh_0 D ffff8c603fc9acc0 0 332 2 0x00000000 [Lu aug 24 13:03:20 2020] Call Trace:
因此 hpsa 進入了這個從未完成的重置邏輯磁碟訪問過程。
上次我看到磁碟 IO 停止/暫停的這種症狀是磁碟問題。它上面的磁碟控制器可能開始出現故障,但平台沒問題。
我會檢查以確保您有良好的備份,並且由於它是 raid 中的系統,因此請檢查 scsi 控制器是否是最新的,因為它還沒有將磁碟標記為壞的。