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

... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
13164정성태11/18/202213936개발 환경 구성: 649. Azure - 비주얼 스튜디오를 이용한 AppService 원격 디버그 방법
13163정성태11/17/202214270개발 환경 구성: 648. 비주얼 스튜디오에서 안드로이드 기기 인식하는 방법
13162정성태11/15/202215740.NET Framework: 2069. .NET 7 - AOT(ahead-of-time) 컴파일 [1]
13161정성태11/14/202214408.NET Framework: 2068. C# - PublishSingleFile로 배포한 이미지의 역어셈블 가능 여부 (난독화 필요성) [4]
13160정성태11/11/202214379.NET Framework: 2067. C# - PublishSingleFile 적용 시 native/managed 모듈 통합 옵션
13159정성태11/10/202217686.NET Framework: 2066. C# - PublishSingleFile과 관련된 옵션 [3]
13158정성태11/9/202213382오류 유형: 826. Workload definition 'wasm-tools' in manifest 'microsoft.net.workload.mono.toolchain' [...] conflicts with manifest 'microsoft.net.workload.mono.toolchain.net7'
13157정성태11/8/202214399.NET Framework: 2065. C# - Mutex의 비동기 버전파일 다운로드1
13156정성태11/7/202216001.NET Framework: 2064. C# - Mutex와 Semaphore/SemaphoreSlim 차이점파일 다운로드1
13155정성태11/4/202214238디버깅 기술: 183. TCP 동시 접속 (연결이 아닌) 시도를 1개로 제한한 서버
13154정성태11/3/202214730.NET Framework: 2063. .NET 5+부터 지원되는 GC.GetGCMemoryInfo파일 다운로드1
13153정성태11/2/202216049.NET Framework: 2062. C# - 코드로 재현하는 소켓 상태(SYN_SENT, SYN_RECV)
13152정성태11/1/202214970.NET Framework: 2061. ASP.NET Core - DI로 추가한 클래스의 초기화 방법 [1]
13151정성태10/31/202214408C/C++: 161. Windows 11 환경에서 raw socket 테스트하는 방법파일 다운로드1
13150정성태10/30/202213291C/C++: 160. Visual Studio 2022로 빌드한 C++ 프로그램을 위한 다른 PC에서 실행하는 방법
13149정성태10/27/202213866오류 유형: 825. C# - CLR ETW 이벤트 수신이 GCHeapStats_V1/V2에 대해 안 되는 문제파일 다운로드1
13148정성태10/26/202213834오류 유형: 824. msbuild 에러 - error NETSDK1005: Assets file '...\project.assets.json' doesn't have a target for 'net5.0'. Ensure that restore has run and that you have included 'net5.0' in the TargetFramew
13147정성태10/25/202213080오류 유형: 823. Visual Studio 2022 - Unable to attach to CoreCLR. The debugger's protocol is incompatible with the debuggee.
13146정성태10/24/202214391.NET Framework: 2060. C# - Java의 Xmx와 유사한 힙 메모리 최댓값 제어 옵션 HeapHardLimit
13145정성태10/21/202214999오류 유형: 822. db2 - Password validation for user db2inst1 failed with rc = -2146500508
13144정성태10/20/202214709.NET Framework: 2059. ClrMD를 이용해 윈도우 환경의 메모리 덤프로부터 닷넷 모듈을 추출하는 방법파일 다운로드1
13143정성태10/19/202215641오류 유형: 821. windbg/sos - Error code - 0x000021BE
13142정성태10/18/202220434도서: 시작하세요! C# 12 프로그래밍
13141정성태10/17/202216161.NET Framework: 2058. [in,out] 배열을 C#에서 C/C++로 넘기는 방법 - 세 번째 이야기파일 다운로드1
13140정성태10/11/202215579C/C++: 159. C/C++ - 리눅스 환경에서 u16string 문자열을 출력하는 방법 [2]
13139정성태10/9/202213667.NET Framework: 2057. 리눅스 환경의 .NET Core 3/5+ 메모리 덤프로부터 모든 닷넷 모듈을 추출하는 방법파일 다운로드1
... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...