Hyper-Vクラスター上にCentOS 6.2 Webサーバーを構築していて、大きな問題が発生しました。現在の設定はこれです:
オペレーティングシステム: CentOS 6.2。最小限のサーバーインストールインストールされているソフトウェアには以下が含まれます
私が最後にインストールしたのは「Hyper-V Linux統合ドライバー」でした...数日後、OS全体が「タスク」でロックされました120秒を超えてブロックされました」というエラーがコンソールに表示されます。私は今このエラーを発見し、長時間の実行に醜い頭を抱えており、2回目のダウンロードの直後にフラグを立てるyum updateコマンドを介してトリガーされます。
他のフォーラムで提案されているようにfsck
を試しましたが、役に立ちませんでした。他のほとんどのフォーラムでは、ハードウェアの問題がHyper-Vクラスターに適合しない原因として示されています(現在、問題のない12の高需要サービスを実行しています)
編集:(これについては最初に言及したはずですが)このエラーは、カーネル全体がロックする前に私が見る最後のものです。この後、それを修正する唯一の方法は、仮想マシンをハードリブートすることです。
問題の解決または診断に役立つ情報がありましたら、大歓迎です。
前もって感謝します)
更新1:
ここで深刻なエスカレーション。同じ問題が発生している同じクラスターの2つのLinuxマシンを手に入れましたが、それらすべてが同時にフォールオーバーします。私はUbuntuサーバーに次のステータスを報告しています。{DRDY}と2番目のCentOS 6.2サーバーが最初のサーバーと同じエラーを報告し、最初のサーバーが新しい方法でクラッシュしました...
buntu DRDYエラー
最初のCentOSカーネルクラッシュ
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を削除してシステムを安定させるために、次のようにしました。
次に、新しいフォルダを作成しました
$mkdir /mnt/OS
次に、障害のあるOSのルートファイルシステム(私の場合はsda2)をマウントしました
$mount /dev/sda2 /mnt/OS
次に、ブートパーティション(私の場合はsda1)をマウントします。
$mount /dev/sda1 /mnt/OS/boot
次に、障害のあるOSにchrootします
$chroot /mnt/OS
次に、rpm remove packageコマンドを実行しました(すべての重複がプロセスで削除されたことを確認します)
$rpm -e --allmatches kmod-Microsoft-hyper-v
このプロセスには少し時間がかかる場合がありますが、完了したらVMを再起動でき、システムは統合ドライバーなしで稼働していたが、クラッシュせずにパッケージを更新できるようになった。
この後は、Hyper-Vドライバーが動作し安定するまで、ミックスから除外します。
カーネルはこのタスクブロック検出機能を有効にしています。ほとんどの場合、実際のブロックではないため、これで問題ありません。これを無効にするには、上記のコマンドを使用するだけです。
以前に同様の問題に遭遇したことがあります。カーネルで、down_interruptable(semaphore)の代わりにdown(semaphore)を使用してセマフォを待機し、このセマフォが120秒以内に起動しない場合。そのINFOが印刷されます。実際には、120秒以内にセマフォが解放されなくても問題ありません。
このINFO以外で問題がなければ、エコー0で無効にしてください。