web-dev-qa-db-ja.com

/ proc / sys / kernel / hung_task_timeout_secsエラー

Hyper-Vクラスター上にCentOS 6.2 Webサーバーを構築していて、大きな問題が発生しました。現在の設定はこれです:

オペレーティングシステム: CentOS 6.2。最小限のサーバーインストールインストールされているソフトウェアには以下が含まれます

  • Hyper-V Linux統合ドライバー
  • Webmin
  • Apache 2
  • MySQL 5. *
  • aPC phpアクセラレーターを備えたphp 5
  • ウェブサーバーがMoodleを実行している(それが言及に何らかの違いがある場合)

私が最後にインストールしたのは「Hyper-V Linux統合ドライバー」でした...数日後、OS全体が「タスク」でロックされました120秒を超えてブロックされました」というエラーがコンソールに表示されます。私は今このエラーを発見し、長時間の実行に醜い頭を抱えており、2回目のダウンロードの直後にフラグを立てるyum updateコマンドを介してトリガーされます。

Picture of terminal

他のフォーラムで提案されているようにfsckを試しましたが、役に立ちませんでした。他のほとんどのフォーラムでは、ハードウェアの問題がHyper-Vクラスターに適合しない原因として示されています(現在、問題のない12の高需要サービスを実行しています)

編集:(これについては最初に言及したはずですが)このエラーは、カーネル全体がロックする前に私が見る最後のものです。この後、それを修正する唯一の方法は、仮想マシンをハードリブートすることです。

問題の解決または診断に役立つ情報がありましたら、大歓迎です。

前もって感謝します)

更新1:

ここで深刻なエスカレーション。同じ問題が発生している同じクラスターの2つのLinuxマシンを手に入れましたが、それらすべてが同時にフォールオーバーします。私はUbuntuサーバーに次のステータスを報告しています。{DRDY}と2番目のCentOS 6.2サーバーが最初のサーバーと同じエラーを報告し、最初のサーバーが新しい方法でクラッシュしました...

buntu DRDYエラー Ubuntu DRDY Error

最初のCentOSカーネルクラッシュ CentOS Kernel Crash

PDATE 2: OKクラスターを修正しましたが、2つのCentOS VMでも問題は解決しませんでした。最初の問題centOSを非クラスター化されたHyper-Vに移動し、すべてのLinux Integration Driversをブラックリストに登録してから、完全にアンインストールすることで修正しました。クラスター化されたシステムの問題に加えて、ゲストマシンのLinux統合ドライバーがこの問題を引き起こしているようです。 2番目のCentOSマシンはそれほど幸運ではありません...クラスター化されていないHyper-Vに移動し、ドライバーをブラックリストに載せましたが、残念ながらLinux統合ドライバーのアンインストールの最中にクラッシュしました。今、私はrpmパッケージに表示されているドライバパッケージの非常に大きな問題を抱えており、そこに半分しかありません。

質問:rpmやyumを使用せずにこれらのドライバーを完全に削除する方法はありますか?両方ともそれが存在するかどうか不平を言い、それを削除できず、rpmやyumを使用するようなディスクの負荷が高すぎると、システム全体が再びクラッシュします。このレートでは、完全に再構築してしまう可能性がありますが、重要なサービスをホストするのですぐに安定させる必要があります。

解答

最後に、面倒なCentOSのVMが修正されました。不具合のあるLinux Integration Driverを削除してシステムを安定させるために、次のようにしました。

  1. CentOS Live CDをダウンロードして、障害のあるVMで起動しました。
  2. 次に、新しいフォルダを作成しました

    $mkdir /mnt/OS
    
  3. 次に、障害のあるOSのルートファイルシステム(私の場合はsda2)をマウントしました

    $mount /dev/sda2 /mnt/OS
    
  4. 次に、ブートパーティション(私の場合はsda1)をマウントします。

    $mount /dev/sda1 /mnt/OS/boot
    
  5. 次に、障害のあるOSにchrootします

    $chroot /mnt/OS
    
  6. 次に、rpm remove packageコマンドを実行しました(すべての重複がプロセスで削除されたことを確認します)

    $rpm -e --allmatches kmod-Microsoft-hyper-v
    
  7. このプロセスには少し時間がかかる場合がありますが、完了したらVMを再起動でき、システムは統合ドライバーなしで稼働していたが、クラッシュせずにパッケージを更新できるようになった。

この後は、Hyper-Vドライバーが動作し安定するまで、ミックスから除外します。

4
Balasarius

カーネルはこのタスクブロック検出機能を有効にしています。ほとんどの場合、実際のブロックではないため、これで問題ありません。これを無効にするには、上記のコマンドを使用するだけです。

以前に同様の問題に遭遇したことがあります。カーネルで、down_interruptable(semaphore)の代わりにdown(semaphore)を使用してセマフォを待機し、このセマフォが120秒以内に起動しない場合。そのINFOが印刷されます。実際には、120秒以内にセマフォが解放されなくても問題ありません。

このINFO以外で問題がなければ、エコー0で無効にしてください。

1
user193529