대기열이 꽉 찼을 때 디스크 정지 문제 해결

대기열이 꽉 찼을 때 디스크 정지 문제 해결

k8s가 맨 위에 설치된 시스템(centos 7.8)이 있습니다.

며칠 동안 정상적인 작업(시스템 로드는 ~30%이고 디스크 활동은 포화되지 않은 약 60iops) 후에 시스템은 더 이상 디스크에 커밋된 것이 없는 불안정한 상태가 됩니다. 에서 볼 수 있듯이 iostat -x 5avgqu-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: 가끔 짧은 시간(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는 결코 완료되지 않는 재설정 논리 디스크 액세스 절차를 시작합니다.

답변1

지난번에 디스크 IO 중지/일시 중지에 대한 증상을 본 것은 잘못된 디스크 문제였습니다. 아마도 디스크 컨트롤러가 오작동하기 시작했지만 플래튼은 괜찮았습니다.

나는 당신이 좋은 백업을 가지고 있는지 확인하고 시스템의 습격이므로 디스크를 아직 불량으로 표시하지 않았기 때문에 scsi 컨트롤러가 최신인지 확인합니다.

관련 정보