Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

64bit 운영체제에 VMWare Server 설치 시 기존 웹 애플리케이션 모두 서비스 중지.



난리가 났습니다. 64bit Guest OS 설치와 2-way Virtual SMP 설정에 혹해서 VMWare Server ^^; 설치를 했더니만, 서버의 모든 IIS 웹 애플리케이션들이 전부 중단되었습니다. 모두 다, "Service Unavailable"이라는 글자만 웹 브라우저에 대문짝만하게 찍힙니다.

이벤트 로그의 "System" 카테고리에서는 다음과 같은 이벤트 오류 로그가 연달아 5번 찍힌 다음에는 서비스를 결국 중지해버린다고 나옵니다.(왜 5번인지는 아시죠? ^^)

Event Type:	Error
Event Source:	W3SVC
Event Category:	None
Event ID:	1039
Date:		7/14/2006
Time:		10:38:49 PM
User:		N/A
Computer:	THEONE
Description:
A process serving application pool 'App20' reported a failure. The process id was '2480'.  
The data field contains the error number.

For more information, 
see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Application 메뉴 쪽이 좀 나은 오류를 전달합니다. 아래는 그 로그입니다.

Event Type:	Error
Event Source:	W3SVC-WP
Event Category:	None
Event ID:	2274
Date:		7/14/2006
Time:		10:38:49 PM
User:		N/A
Computer:	THEONE
Description:
ISAPI Filter 'D:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll' could not be loaded due to a configuration problem. 
The current configuration only supports loading images built for a x86 processor architecture. 
The data field contains the error number. 
To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, 
see http://go.microsoft.com/fwlink/?LinkId=29349.

For more information, 
see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

오류 로그를 보니, 64bit .NET Framework이 어째서 x86 CPU 아키텍처로 맞춰져 있는지 이해가 안 됩니다. 멀쩡히 잘 되던 것인데, VMWare Server를 설치한 이후로 이 모양입니다.

작업 관리자에서 보니, 다음과 같은 VMWare 프로세스들을 확인할 수 있습니다.

[그림 1: WOW64에서 활성화된 32bit VMWare 프로세스들]
WOW64에서 활성화된 32bit VMWare 프로세스들

세상에... ^^; 그러고 보니 VMWare는 순수 32bit S/W였던 것입니다. Wow64에서 활성화된 것을 확인할 수 있습니다.

도대체... VMWare나 Microsoft나 어찌 그리 딱 입맛에 맞는 제품을 내놓지 않는지...

VMWare : 32bit 프로세스이면서 쌩뚱맞게 64bit Guest 환경을 지원하고 가상 2-way SMP를 지원.
Microsoft : VM 환경을 호스트하는 프로세스 자체는 32/64 bit를 지원하면서, Guest 환경은 여전히 32bit만 지원.

참... 힘들군요. ^^;

암튼, IIS 관리자에 가보니, "VMWare Management Interface 1.0.0" 웹 사이트가 새로 생긴 것을 볼 수 있습니다.
결국 정리해 보면, "Service Unavailable" 장애가 발생한 것은 32bit 환경의 VMWare 웹 사이트를 구동시키기 위해서 IIS 전체 웹 사이트의 설정을 Wow64로 바꿔버린 것이었습니다.

정말 기가 차는 VMWare Server의 설치 프로그램이군요. 자기 혼자 살아남을려고 다른 웹 사이트를 모두 죽이다니.
아래의 화면은, VMWare Server 설치 이후, IIS Metabase Explorer로 확인한 최상위 AppPool의 "Enable32BitAppOnWin64" 플래그 설정 상황을 보여주고 있습니다.

[그림 2: WOW64 설정이 되어 있는 최상위 AppPool 설정]
WOW64 설정이 되어 있는 최상위 AppPool 설정

진짜... ^^; 기가 막혀서 순간 입이 딱 벌어지더군요.

Enable32BitAppOnWin64 설정값을 다시 원래대로 "0"으로 해놓고 나서야 모든 웹 애플리케이션이 정상적으로 운영이 되었습니다.






[최초 등록일: ]
[최종 수정일: 11/25/2023]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2009-05-13 11시13분
[짱~~] 저기 질문이 있습니다.
windows7(64bit)에서 vmware server2.0을 설치했는데 관리하기위한 톰캣서버 서비스가 실행되지 않는군요
어떻게 해야 가능할 까요? 혹시 방법이 있나요 ?
[guest]
2009-05-13 11시23분
아쉽게도 ^^ 위의 글을 쓴 이후로는 더 이상 VMWare를 사용하지 않습니다.
kevin25

... [76]  77  78  79  80  81  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
12070정성태12/9/201924305오류 유형: 581. resize2fs: Bad magic number in super-block while trying to open /dev/.../root
12069정성태12/2/201921227디버깅 기술: 139. windbg - x64 덤프 분석 시 메서드의 인자 또는 로컬 변수의 값을 확인하는 방법
12068정성태11/28/201929672디버깅 기술: 138. windbg와 Win32 API로 알아보는 Windows Heap 정보 분석 [3]파일 다운로드2
12067정성태11/27/201921199디버깅 기술: 137. 실제 사례를 통해 Debug Diagnostics 도구가 생성한 닷넷 웹 응용 프로그램의 성능 장애 보고서 설명 [1]파일 다운로드1
12066정성태11/27/201920763디버깅 기술: 136. windbg - C# PInvoke 호출 시 마샬링을 담당하는 함수 분석 - OracleCommand.ExecuteReader에서 OpsSql.Prepare2 PInvoke 호출 분석
12065정성태11/25/201918652디버깅 기술: 135. windbg - C# PInvoke 호출 시 마샬링을 담당하는 함수 분석파일 다운로드1
12064정성태11/25/201922078오류 유형: 580. HTTP Error 500.0/500.33 - ANCM In-Process Handler Load Failure
12063정성태11/21/201921008디버깅 기술: 134. windbg - RtlReportCriticalFailure로부터 parameters 정보 찾는 방법
12062정성태11/21/201920087디버깅 기술: 133. windbg - CoTaskMemFree/FreeCoTaskMem에서 발생한 덤프 분석 사례 - 두 번째 이야기
12061정성태11/20/201920281Windows: 167. CoTaskMemAlloc/CoTaskMemFree과 윈도우 Heap의 관계
12060정성태11/20/201922656디버깅 기술: 132. windbg/Visual Studio - HeapFree x64의 동작 분석
12059정성태11/20/201921853디버깅 기술: 131. windbg/Visual Studio - HeapFree x86의 동작 분석
12058정성태11/19/201922487디버깅 기술: 130. windbg - CoTaskMemFree/FreeCoTaskMem에서 발생한 덤프 분석 사례
12057정성태11/18/201917703오류 유형: 579. Visual Studio - Memory 창에서 유효한 주소 영역임에도 "Unable to evaluate the expression." 오류 출력
12056정성태11/18/201923972개발 환경 구성: 464. "Microsoft Visual Studio Installer Projects" 프로젝트로 EXE 서명 및 MSI 파일 서명 방법파일 다운로드1
12055정성태11/17/201917955개발 환경 구성: 463. Visual Studio의 Ctrl + Alt + M, 1 (Memory 1) 등의 단축키가 동작하지 않는 경우
12054정성태11/15/201919615.NET Framework: 869. C# - 일부러 GC Heap을 깨뜨려 GC 수행 시 비정상 종료시키는 예제
12053정성태11/15/201920703Windows: 166. 윈도우 10 - 명령행 창(cmd.exe) 속성에 (DotumChe, GulimChe, GungsuhChe 등의) 한글 폰트가 없는 경우
12052정성태11/15/201919599오류 유형: 578. Azure - 일정(schedule)에 등록한 runbook이 1년 후 실행이 안 되는 문제(Reason - The key used is expired.)
12051정성태11/14/201923826개발 환경 구성: 462. 시작하자마자 비정상 종료하는 프로세스의 메모리 덤프 - procdump [1]
12050정성태11/14/201921220Windows: 165. AcLayers의 API 후킹과 FaultTolerantHeap
12049정성태11/13/201921799.NET Framework: 868. (닷넷 프로세스를 대상으로) 디버거 방식이 아닌 CLR Profiler를 이용해 procdump.exe 기능 구현
12048정성태11/12/201921624Windows: 164. GUID 이름의 볼륨에 해당하는 파티션을 찾는 방법
12047정성태11/12/201924082Windows: 163. 안전하게 eject시킨 USB 장치를 물리적인 재연결 없이 다시 인식시키는 방법
12046정성태10/29/201918171오류 유형: 577. windbg - The call to LoadLibrary(...\sos.dll) failed, Win32 error 0n193
12045정성태10/27/201918623오류 유형: 576. mstest.exe 실행 시 "Visual Studio Enterprise is required to execute the test." 오류 - 두 번째 이야기
... [76]  77  78  79  80  81  82  83  84  85  86  87  88  89  90  ...