Centos7

隊列已滿時對凍結磁碟進行故障排除

  • August 24, 2020

我有一個安裝了 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 控制器是否是最新的,因為它還沒有將磁碟標記為壞的。

引用自:https://serverfault.com/questions/1030403