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

... 121  [122]  123  124  125  126  127  128  129  130  131  132  133  134  135  ...
NoWriterDateCnt.TitleFile(s)
10935정성태4/7/201629862웹: 32. Edge에서 Google Docs 문서 편집 시 한영 전환키가 동작 안하는 문제
10934정성태4/5/201627140디버깅 기술: 77. windbg의 콜스택 함수 인자를 쉽게 확인하는 방법 [1]
10933정성태4/5/201632549.NET Framework: 571. C# - 스레드 선호도(Thread Affinity) 지정하는 방법 [8]파일 다운로드1
10932정성태4/4/201625430VC++: 96. C/C++ 식 평가 - printf("%d %d %d\n", a, a++, a);
10931정성태3/31/201625887개발 환경 구성: 283. Hyper-V 내에 구성한 Active Directory 환경의 시간 구성 방법 [3]
10930정성태3/30/201624005.NET Framework: 570. .NET 4.5부터 추가된 CLR Profiler의 실행 시 Rejit 기능
10929정성태3/29/201634676.NET Framework: 569. ServicePointManager.DefaultConnectionLimit의 역할파일 다운로드1
10928정성태3/28/201640239.NET Framework: 568. ODP.NET의 완전한 닷넷 버전 Oracle ODP.NET, Managed Driver [2]파일 다운로드1
10927정성태3/25/201628267.NET Framework: 567. System.Net.ServicePointManager의 DefaultConnectionLimit 속성 설명
10926정성태3/24/201629097.NET Framework: 566. openssl의 PKCS#1 PEM 개인키 파일을 .NET RSACryptoServiceProvider에서 사용하는 방법 [10]파일 다운로드1
10925정성태3/24/201622007.NET Framework: 565. C# - Rabin-Miller 소수 생성 방법을 이용하여 RSACryptoServiceProvider의 개인키를 직접 채워보자 - 두 번째 이야기파일 다운로드1
10924정성태3/22/201624031오류 유형: 324. Visual Studio에서 Azure 클라우드 서비스 생성 시 Failed to initialize the PowerShell host 에러 발생
10923정성태3/21/201623641.NET Framework: 564. C# - DGML로 바이너리 트리 출력하는 방법 [1]파일 다운로드1
10922정성태3/21/201625416.NET Framework: 563. 디버깅 용도로 이진 트리의 내용을 출력하는 방법파일 다운로드1
10921정성태3/17/201629066.NET Framework: 562. BBI 인터프리터 C/C++ 코드를 C#으로 변환 [3]파일 다운로드2
10920정성태3/15/201628718.NET Framework: 561. null 처리된 객체가 왜 GC에 의해 수집되지 않을까요? [6]파일 다운로드1
10919정성태3/12/201624853.NET Framework: 560. C#에서 return할 때 명시적으로 casting한 것과 안한 것의 차이 [2]파일 다운로드1
10918정성태3/10/201622191.NET Framework: 559. WPF - ICommand.CanExecuteChanged가 해제되지 않는 문제 [2]파일 다운로드1
10917정성태3/10/201641830.NET Framework: 558. WPF - ICommand 동작 방식 [9]파일 다운로드1
10916정성태3/9/201629966.NET Framework: 557. 머신 바이트 배열로부터 역어셈블해주는 라이브러리 - Udis86 Assembler파일 다운로드2
10915정성태3/9/201624370오류 유형: 323. FatalExecutionEngineError was detected
10914정성태3/8/201627914오류 유형: 322. 정적 라이브러리 참조 시 "LNK2019 unresolved external symbol '...' referenced in function" 오류 발생파일 다운로드1
10913정성태3/7/201627511.NET Framework: 556. C#으로 다루는 MBR(Master Boot Record) [9]파일 다운로드1
10912정성태3/2/201623226.NET Framework: 555. List<T>의 Resize 메서드 구현 [2]파일 다운로드1
10911정성태2/29/201627304Math: 15. 그래프 그리기로 알아보는 뉴턴-랩슨(Newton-Raphson's method)법과 제곱근 구하기 - C#파일 다운로드1
10910정성태2/29/201629526Math: 14. HTML에서 수학 관련 기호/수식을 표현하기 위한 방법 - MathJax.js - 두 번째 이야기 [5]
... 121  [122]  123  124  125  126  127  128  129  130  131  132  133  134  135  ...