/proc/sys/kernel/hung_task_timeout_secs 오류

/proc/sys/kernel/hung_task_timeout_secs 오류

Hyper-V 클러스터에 CentOS 6.2 웹 서버를 구축 중인데 큰 문제에 봉착했습니다. 현재 설정은 다음과 같습니다.

운영 체제:센트OS 6.2. 최소 서버 설치 설치된 소프트웨어에는 다음이 포함됩니다.

  • Hyper-V Linux 통합 드라이버
  • 인터넷 민감도
  • 아파치 2
  • MySQL 5.*
  • APC PHP 가속기를 사용하는 PHP 5
  • 웹서버가 Moodle을 실행 중입니다. (만약 언급하면 ​​차이가 납니다.)

제가 마지막으로 설치한 것은"Hyper-V Linux 통합 드라이버"그런 다음... 며칠 후 콘솔에서 "120초 이상 작업이 차단되었습니다" 오류와 함께 전체 OS가 잠겼습니다. 나는 이제 이 버그가 긴 런타임에 걸쳐 추악한 결과를 초래하고 두 번째 다운로드 후 yum update 명령 플래그에 의해 트리거된다는 것을 발견했습니다.

터미널 사진

나는 fsck성공하지 못한 채 다른 포럼에서 다음 제안을 시도했습니다. 대부분의 다른 포럼에서는 여기에서 Hyper-V 클러스터를 사용할 수 없는 이유로 하드웨어 문제를 지적합니다(현재 문제 없이 수요가 많은 서비스 12개를 실행 중임).

편집: (먼저 언급했어야 함) 이 오류는 전체 커널이 잠기기 전에 마지막으로 표시되는 오류입니다. 이 후 문제를 해결하는 유일한 방법은 가상 머신을 하드 재부팅하는 것입니다.

문제를 해결하거나 진단하는 데 도움을 주시면 대단히 감사하겠습니다.

미리 감사드립니다)

업데이트 1:

좋아, 여기에서 진지하게 업그레이드하세요. 이제 동일한 클러스터에 있는 다른 2개의 Linux 시스템에 관련 문제가 있으며 둘 다 동시에 충돌했습니다. 상태에 대해 불평하는 Ubuntu 서버가 하나 있습니다: {DRDY}, 두 번째 CentOS 6.2 서버는 첫 번째 서버와 동일한 오류에 대해 불평하고 첫 번째 서버는 새로운 방식으로 충돌합니다...

우분투 DRDY 오류 우분투 DRDY 오류

첫 번째 CentOS 커널 충돌 CentOS 커널 충돌

업데이트 2: 좋습니다. 클러스터를 수정했지만 두 CentOS VM 모두에서 문제가 지속됩니다. CentOS의 첫 번째 문제는 클러스터되지 않은 Hyper-V로 이동하고 모든 Linux 통합 드라이버를 블랙리스트에 추가한 다음 완전히 제거하여 해결했습니다. 클라이언트 컴퓨터의 Linux 통합 드라이버 및 클러스터 시스템 문제로 인해 이 문제가 발생한 것으로 보입니다. 두 번째 CentOS 시스템은 그다지 운이 좋지 않았습니다. 비클러스터형 Hyper-V로 이동하고 드라이버를 블랙리스트에 추가했지만 불행히도 여전히 Linux 통합 드라이버를 제거하는 중입니다. 이제 매우 큰 문제가 생겼습니다. 드라이버 패키지가 rpm 데이터베이스에 표시되지만 그 중 절반만 표시됩니다.

질문: rpm이나 yum을 사용하지 않고 이러한 드라이버를 완전히 제거할 수 있는 방법이 있습니까? 이제 둘 다 드라이버가 있지만 없다고 불평하고 제거할 수 없으며 어떤 작업을 하려고 해도 디스크 공간을 너무 많이 차지합니다. rpm 및 yum)으로 인해 전체 시스템이 다시 충돌하게 됩니다. 이 속도라면 결국 완전히 재구축하게 될 수도 있지만 중요한 서비스를 호스팅하는 동안 최대한 빨리 안정화해야 합니다.

답변

좋아, 마지막으로 문제가 되었던 CentOS VM이 이제 수정되었습니다. 손상된 Linux 통합 드라이버를 제거하고 시스템을 안정화하기 위해 다음을 수행했습니다.

  1. CentOS Live CD를 다운로드하고 결함이 있는 가상 머신에서 부팅했습니다.
  2. 그런 다음 새 폴더를 만들었습니다.

    $mkdir /mnt/OS
    
  3. 그런 다음 결함이 있는 운영 체제(내 경우에는 sda2)의 루트 파일 시스템을 마운트합니다.

    $mount /dev/sda2 /mnt/OS
    
  4. 그런 다음 부팅 파티션(내 경우에는 sda1)을 마운트합니다.

    $mount /dev/sda1 /mnt/OS/boot
    
  5. 그런 다음 결함이 있는 OS로 루트를 이동합니다.

    $chroot /mnt/OS
    
  6. 그런 다음 rpm 제거 패키지 명령을 실행하십시오(프로세스에서 중복 항목을 모두 제거했는지 확인하십시오).

    $rpm -e --allmatches kmod-microsoft-hyper-v
    
  7. 이 프로세스는 다소 시간이 걸릴 수 있지만 완료되면 VM을 다시 시작할 수 있으며 통합 드라이버 없이 시스템이 가동되어 실행되지만 이제는 충돌 없이 패키지 업데이트가 가능합니다.

그 후에는 Hyper-V 드라이버가 작동하고 안정적이라고 확신할 때까지 Hyper-V 드라이버를 방정식에서 제외할 생각입니다.

답변1

커널에 이 작업 블록 감지 기능이 활성화되어 있습니다. 대부분의 경우 이는 실제로 블록이 아니기 때문에 괜찮습니다. 위에서 제안한 명령을 사용하면 이 기능을 비활성화할 수 있습니다.

이전에도 비슷한 문제가 발생했습니다. 커널에서 down_interruptable(semaphore) 대신 down(semaphore)을 사용하여 세마포어를 기다리면 120초 이내에 세마포어가 시작되지 않습니다. 정보가 인쇄됩니다. 실제로 120초 이내에 세마포어가 해제되지 않으면 괜찮습니다.

이 INFO를 제외한 모든 것이 괜찮다면 echo 0을 통해 비활성화하세요.

관련 정보