일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Hyper-V
- 작업관리자
- LiveKD
- Xperf
- SQL Server 2012R2 FCI
- Windows Server 2016
- dsquery
- 터키여행
- 인문고전
- windows update
- ftp7.5 장애조치 클러스터
- windbg
- iSCSI target
- 클러스터
- Nested VM
- 프로세스 CPU 사용량
- paged pool
- nonpaged pool
- FTP7.5
- Windows Server 2016 Hyper-v Cluster
- failover cluster
- cluster node as Domain controller
- Session space
- SQL Server 2008
- MSCS on VMWare
- Local TempDB
- Windows Server 2008
- 안철수
- windows debugging tool
- windows media service
- Today
- Total
류짱:Beyond MySelf
Windows server 2003 서비스팩 2 설치 후 서버가 반복적으로 재부팅 본문
Windows Server 2003 서버의 서비스 팩을 업그레이드 하던 중에 크래시 발생 한 적이 있습니다.
SP2 설치 후 SNP 기능이 enable 되면서 NIC 드라이버와 호환 되지 않아 bug check code 0x7C와 함께 크래시가 발생 한 건입니다.
[환 경]
Windows server 2003 EE x86 + SP2
Hostname : ryuchan.kr
[문의사항]
메모리 덤프 분석 (0x7c)
[증상]
Windows server 2003 서비스팩 2 설치 후 서버가 반복적으로 재부팅
이벤트 형식: 정보
이벤트 원본: Save Dump
이벤트 범주: 없음
이벤트 ID: 1001
날짜: 201x-xx-xx
시간: 오전 2:19:06
사용자: N/A
컴퓨터: rychan.kr
설명:
컴퓨터가 오류 검사 후 다시 부팅되었습니다. 오류 검사: 0x0000007c (0x00000005, 0x8ce53958, 0x8c802c28, 0x8cd78570).
덤프 저장 위치: C:\WINDOWS\MEMORY.DMP.
[원인]
0x7C는 네트워크 드라이버 인터페이스에서 오류가 발생 할 때 생성되는 bugcheck 입니다.
해당 서버의 경우 Bxnd52.sys에서 Driver fault가 발생하였습니다.
An Ethernet driver indicated that it received a packet by using a packet descriptor
that the protocol stack is currently using.
[조치방법]
해당 NIC 드라이버(Broadcom x86 Bxnd NDIS5.2 driver)의 최신 버전을 확인 하시고 업데이트 하시기 바랍니다.
snp기능과 관련된 핫 픽스는 sp2가 설치 된 후에만 적용 가능 하므로 sp2와 해당 hotfix를 동시에 설치 할 수 없습니다.만약 다른 머신에서 동일 문제가 발생한다면 (NIC 업데이트가 불가능 할 경우) 아래의 방법대로 서비스팩 적용 후 안전모드(네트워크 연결 x)로 부팅하여 레지스트리를 변경 하여 주시기 바랍니다.|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Change the following values from 1 to 0. If they are already 0, make no changes
EnableTCPChimney
Type: REG_DWORD
Values: 1 -> 0
EnableRSS
Type: REG_DWORD
Values: 1 -> 0
EnableTCPA
Type: REG_DWORD
Values: 1 -> 0
[Debugging Log]
1: kd> .sympath
Symbol search path is: srv*c:\mysymbols*http://msdl.microsoft.com/download/symbols
Expanded Symbol search path is: srv*c:\mysymbols*http://msdl.microsoft.com/download/symbols
1: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
BUGCODE_NDIS_DRIVER (7c)
This is the NDIS Driver Bugcheck for Windows Server 2003 and later.
For Windows 2000 and Windows XP, see 0xD2, BUGCODE_ID_DRIVER.
Arguments:
Arg1: 00000005, An Ethernet driver indicated receiving a packet using a
packet descriptor that is currently in use by protocol
stack. (Caught by checking stack packet location)
Arg2: 8ce53958, A pointer to Miniport block. !ndiskd.miniport on
this pointer for more info.
Arg3: 8c802c28, The packet descriptor used by the driver. Use
!ndiskd.pkt on this pointer for more info.
Arg4: 8cd78570, A pointer to the packet array that contained this
packet descriptor. (not much of a use)
Debugging Details:
------------------
*** ERROR: Module load completed but symbols could not be loaded for bxnd52x.sys
*** ERROR: Module load completed but symbols could not be loaded for bxvbdx.sys
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0x7C
PROCESS_NAME: Idle
CURRENT_IRQL: 2
LAST_CONTROL_TRANSFER: from f76f7f99 to 80827c63
STACK_TEXT:
f78aeb64 f76f7f99 0000007c 00000005 8ce53958 nt!KeBugCheckEx+0x1b
f78aebc4 f5990995 8ce53958 8cd78570 00000001 NDIS!ethFilterDprIndicateReceivePacket+0x6fe
WARNING: Stack unwind information not available. Following frames may be wrong.
f78aebf0 f5990adf 8cd78010 8cd7855c 00000000 bxnd52x+0x9995
f78aec1c f782f288 8cd7855c f78aec3c 00000000 bxnd52x+0x9adf
f78aec48 f782f458 8d029010 8cd75000 00000000 bxvbdx+0x5288
f78aec78 f7834037 8cd75000 8d0295a0 f78aec98 bxvbdx+0x5458
f78aecb4 f7834172 00000005 25d4900c 8d029010 bxvbdx+0xa037
f78aecdc f7834543 f772fa40 8d02a9fc f783449e bxvbdx+0xa172
f78aecf8 808320f0 8d02a9fc 8d029010 00000001 bxvbdx+0xa543
f78aed50 8088de1f 00000000 0000000e 00000000 nt!KiRetireDpcList+0xca
f78aed54 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x37
STACK_COMMAND: kb
FOLLOWUP_IP:
bxnd52x+9995
f5990995 5b pop ebx
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: bxnd52x+9995
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: bxnd52x
IMAGE_NAME: bxnd52x.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4a4125c5
FAILURE_BUCKET_ID: 0x7C_bxnd52x+9995
BUCKET_ID: 0x7C_bxnd52x+9995
Followup: MachineOwner
---------
1: kd> lmvm bxnd52x
start end module name
f5987000 f599a000 bxnd52x (no symbols)
Loaded symbol image file: bxnd52x.sys
Image path: \SystemRoot\system32\DRIVERS\bxnd52x.sys
Image name: bxnd52x.sys
Timestamp: Wed Jun 24 03:58:13 2009 (4A4125C5)
CheckSum: 0001EA98
ImageSize: 00013000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
kd> !ndiskd.miniport 8ce53958
Miniport 8ce53958 : , v0.0
AdapterContext : 8cd78010
Flags : 284522d8
BUS_MASTER, 64BIT_DMA, SG_LIST
IGNORE_TOKEN_RING_ERRORS, DESERIALIZED, RESOURCES_AVAILABLE
DOES_NOT_DO_LOOPBACK, MEDIA_CONNECTED, CANNOT_ADD_DELETE_ONE_MULTICAST_ADDRESS
SG_DMA,
NOT_SUPPORTS_MEDIA_SENSE,
PnPFlags : 80410021
PM_SUPPORTED, DEVICE_POWER_ENABLED, RECEIVED_START
NDIS_WDM_DRIVER,
MiniportState : STATE_UNDEFINED
IfIndex : 0
Ndis5MiniportInNdis6Mode : 0
InternalResetCount : 0000
MiniportResetCount : 0000
References : 3
UserModeOpenReferences: 0
PnPDeviceState : PNP_DEVICE_STARTED
CurrentDevicePowerState : PowerDeviceD0
Bus PM capabilities
DeviceD1: 0
DeviceD2: 0
WakeFromD0: 0
WakeFromD1: 0
WakeFromD2: 0
WakeFromD3: 0
SystemState DeviceState
Can't get offset of DeviceCaps.DeviceState in ndis!NDIS_MINIPORT_BLOCK
SystemWake: PowerSystemUnspecified
DeviceWake: PowerDeviceUnspecified
Current PnP and PM Settings: : 00000030
DISABLE_WAKE_UP, DISABLE_WAKE_ON_RECONNECT,
No Resources Allocated
MediaType : 802.3
DeviceObject : 8ce53858, PhysDO : 8d0d7a80 Next DO: 8d0d7a80
MapRegisters : 00000000
FirstPendingPkt: 00000000
DriverVerifyFlags : 00000000
Miniport Interrupt : 00000000
Miniport version 0.0
Miniport Filter List:
Miniport Open Block Queue:
8b23eb20: Protocol 00000000 = Cant get offset of Name in Protocol block!, ProtocolBindingContext 000000001:
kd> !ndiskd.pkt 8c802c28
NDIS_PACKET at 8c802c28
Packet.Private
PhysicalCount 00000000 Total Length 00000000
Head 00000000 Tail 00000000
Pool 00000000 Count 00000000
Flags 00000000 ValidCounts 00
NdisPacketFlags 00000000 NdisPacketOobOffset 0000
Private.Flags : 00000000
Private.NdisPacketFlags: 0
TCP Chimney offload 란 무엇인지?
TCP Chimney Offload란 네트워킹 기술로 Network adapter에서 호스트 컴퓨터의 CPU로 데이터가 이동 될 때 그 작업을 Network adapter에서 처리하게 하여 CPU의 부하를 줄여 주는 것입니다.
Windows server 2003 sp2를 설치 하게 되면 이 기능이 활성화 되고, TCP/IP 패킷 처리의 일부를 OS가 아닌 network adapter 단에서 담당한다. 따라서, CPU는 packet처리에 필요한 CPU 리소스를 다른 곳에 사용할 수 있게 됩니다.
Windows Server 2003에서는 Scalable Networking Pack(SNP)을 통해서 이 기능이 배포되었고, Windows 서비스팩 2에도 포함되어 있습니다.
그러나 해당 기능이 Enable 되어있을 경우 아래와 같은 문제가 발생 하기 때문에 hotfix를 통해 해당 기능을 disable 합니다.
Windows Server 2003 SNP가 켜져 있을 때 다음 문제가 발생할 수 있습니다.
• VPN 연결을 사용하여 서버에 연결하려고 하면 다음과 같은 오류 메시지가 나타납니다. 오류 800: 연결할 수 없습니다.
• 서버에 RDP(원격 데스크톱 프로토콜) 연결을 설정할 수 없습니다.
• LAN에 있는 컴퓨터에서 서버의 공유에 연결할 수 없습니다.
• 클라이언트 컴퓨터를 도메인에 가입시킬 수 없습니다.
• Microsoft Outlook을 실행하는 컴퓨터에서 Exchange 서버에 연결할 수 없습니다.
• Exchange 서버에 대한 비활성 Outlook 연결이 정리되지 않을 수 있습니다.
• 네트워크 성능이 저하됩니다.
• Windows Vista 기반 컴퓨터와 통신할 때 네트워크 성능이 느려질 수 있습니다.
• 서버에서 나가는 FTP 연결을 설정할 수 없습니다.
• DHCP(Dynamic Host Configuration Protocol) 서버 서비스가 중단됩니다.
• 도메인에 로그온할 때 성능이 느려질 수 있습니다.
• Windows Small Business Server 2003 또는 ISA(Internet Security and Acceleration) Server 뒤에 있는 NAT(Network Address Translation) 클라이언트에서 간헐적으로 연결이 중단될 수 있습니다.
• 일시적인 RPC 통신 오류가 발생합니다.
• 서버가 응답하지 않습니다.
• 서버에서 페이지되지 않은 풀 메모리가 부족합니다.
[참고 자료]
SNP 기능에 대한 대략적인 소개
The Microsoft Windows Server 2003 Scalable Networking Pack release
http://support.microsoft.com/kb/912222/
Bug Check 0x7C: BUGCODE_NDIS_DRIVER
http://msdn.microsoft.com/en-us/library/ms795650.aspx
Windows Server 2003 기반 및 Small Business Server 2003 기반 컴퓨터에서 기본 SNP 기능을 해제하기 위한 업데이트를 사용할 수 있음
http://support.microsoft.com/kb/948496