web-dev-qa-db-ja.com

Windows Server 2012 R2(Hyper-V VM)-ランダムBSOD


私は問題があります。私のVM(Hyper-V)-Windows Server 2012 R2は頻繁に再起動します(BSOD:CRITICAL_STRUCTURE_CORRUPTION(109))。前回は週末の11倍でした。新しいハードウェア、2x Supermicroサーバーがあります。両方のサーバーにWindows Server 2012 R2とHyper‑Vの役割をインストールしました(+ Supermicro Webサイトのドライバーがインストールされています)。ゲストシステム(VM)として、各Hyper-Vホストに2x Windows Server 2012と1x Windows Server 2012 R2があります。私が書いたように、問題はW2012R2 VMがランダムに再起動することです。ただし、W2012R2 VMのみ。 W2012のVMは問題ありません。すべてのシステムはクリーンで、アプリケーションはインストールされておらず、ワークロードもありません。

再起動後、VMに次のイベントが記録されます。

カーネルパワー41

EventData:
BugcheckCode 265 
BugcheckParameter1 0xa3a01f59e148b50a 
BugcheckParameter2 0xb3b72be033c8b301 
BugcheckParameter3 0x1a0 
BugcheckParameter4 0x7 
SleepInProgress 0 
PowerButtonTimestamp 0 
BootAppStatus 0 

BugCheck 1001

EventData 
param1 0x00000109 (0xa3a01f59e148b50a, 0xb3b72be033c8b301, 0x00000000000001a0, 0x0000000000000007) 
param2 C:\Windows\MEMORY.DMP 
param3 021516-3093-01

WinDbg出力:

CRITICAL_STRUCTURE_CORRUPTION (109)
This bugcheck is generated when the kernel detects that critical kernel code or
data have been corrupted. There are generally three causes for a corruption:
1) A driver has inadvertently or deliberately modified critical kernel code
 or data. See http://www.Microsoft.com/whdc/driver/kernel/64bitPatching.mspx
2) A developer attempted to set a normal kernel breakpoint using a kernel
 debugger that was not attached when the system was booted. Normal breakpoints,
 "bp", can only be set if the debugger is attached at boot time. Hardware
 breakpoints, "ba", can be set at any time.
3) A hardware corruption occurred, e.g. failing RAM holding kernel code or data.
Arguments:
Arg1: a3a01f5a69a8b6bb, Reserved
Arg2: b3b72be0bc28b4a2, Reserved
Arg3: 00000000000001a0, Failure type dependent information
Arg4: 0000000000000007, Type of corrupted region, can be
0 : A generic data region
1 : Modification of a function or .pdata
2 : A processor IDT
3 : A processor GDT
4 : Type 1 process list corruption
5 : Type 2 process list corruption
6 : Debug routine modification
7 : Critical MSR modification  

デバッグの詳細:

PG_MISMATCH:  40000
CUSTOMER_CRASH_COUNT:  1
DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT_SERVER
BUGCHECK_STR:  0x109
PROCESS_NAME:  System
CURRENT_IRQL:  2
ANALYSIS_VERSION: 6.3.9600.17336 (debuggers(dbg).150226-1500) AMD64fre
STACK_TEXT:  
ffffd001\`1bb7e088 00000000\`00000000 : 00000000\`00000109 a3a01f5a\`69a8b6bb b3b72be0\`bc28b4a2 00000000\`000001a0 : nt!KeBugCheckEx
STACK_COMMAND:  kb
SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: Unknown_Module
IMAGE_NAME:  Unknown_Image
DEBUG_FLR_IMAGE_TIMESTAMP:  0
IMAGE_VERSION:  
BUCKET_ID:  BAD_STACK
FAILURE_BUCKET_ID:  BAD_STACK
ANALYSIS_SOURCE:  KM
FAILURE_ID_HASH_STRING:  km:bad_stack
FAILURE_ID_HASH:  {75814664-faf6-4b70-bbc7-dc592132ecdd}
Followup: MachineOwner

時々、このイベントがホストサーバーに記録されます。ただし、VMが失敗した場合は常にそうではありません。

Hyper-V-Worker 18590

VmErrorCode0 0x109
VmErrorCode1 0xbb8d251d
VmErrorCode2 0xe0d2304
VmErrorCode3 0x1a0
VmErrorCode4 0x7

この問題の解決を手伝っていただけませんか?

3
devlin

Package C State Limit-C0/C1 State」を設定すると、BSODsが発生します(および設定Power Technology-[Disable])。 「C0/C1状態」を設定できないため、問題なく動作している「C2状態」を選びました。簡単に言えば、選択したパッケージCの状態制限が高いほど、CPUのエネルギー効率が高くなります(クロックを停止し、電圧を下げることにより...)。

この場合の最適なパフォーマンス設定は次のとおりです。

高度な電源管理構成:

電力技術-[カスタム]
エネルギーパフォーマンスチューニング-[無効]
エネルギーパフォーマンスBIAS設定。 -[パフォーマンス]
エネルギー効率の良いターボ-[無効]

Advanced Power Management Configuration

CPU P状態制御:

EIST(P-States)-[有効にする]
ターボモード-[有効]
P状態調整-[HW_ALL]

CPU P State Control

CPU C状態制御:

パッケージCの状態の制限-[C2状態]
CPU C3レポート-[無効]
CPU C6レポート-[無効]
拡張停止状態(C1E)-[無効]

CPU C State Control


この種の問題が過去に何度か発生し、ROMまたは次のようなホストマイクロコードの更新によって KB2970215 を更新することによって修正されました。しかし、 t動作するアップデートはまだ見つかりません。

ソース:
http://www.supermicro.com/support/faqs/faq.cfm?faq=21555http://www.supermicro.com/support/faqs /faq.cfm?faq=21499

1
devlin

私のために働いた解決策:

  • Advanced Power Management Configurationで次のカスタム電源設定を設定します。

Advanced Power Management ConfigurationCPU C State Control

注:強調表示された行は重要な変更ですが、他の設定も画像と同じであることを確認してください

私がした他のこと、それは助けになったかもしれません(私は上記を行う前にこれらをしたので、それが関連しているかどうかわかりません):

出典:

1
KeyszerS

同じエラーが発生しました。 @KeyszerSからの答えは本当に良いヒントです。

エラーはX10ボードの電源管理に関連しているようです(少なくともsupermicroの場合)。私はいくつかのテストを実行しましたが、電源管理を使用した場合と使用しない場合がありました。

数日以来、私は(少なくとも私たちにとって)信頼できる動作するソリューションを手に入れました。影響を受ける1台のサーバーで20個のVMを使用して安定性を評価しました-もうクラッシュしません。

だから、それを取得する方法:最も簡単な方法は、BIOS設定をデフォルトに戻し、「「エネルギー効率の良いターボ」を無効にするだけです

更新:

約7日間はまったく問題なし-ワークロードは非常に安定しているようです。 BIOSの電源管理設定のスクリーンショットは次のとおりです。「エネルギー効率の良いターボ」に関連しているようです。

enter image description here

0
Daniel Nachtrub