Welcome to TechNet Blogs Sign in | Join | Help

[Tip. 2] 한영 변환 검색을 위한 도움이 MLP 사이트

안녕하세요? 비가 한번 오더니 하루 밤새 가을이 왔네요.

여러분들께서는 Troubleshooting이나 기술 문서를 찾을 때 어떤 노하우를 가지고 계신가요? 아마 조금 Advanced한 분들이시라면 아직은 한글 문서보다는 영문 문서 자료가 많이 있는 관계로 필요한 정보는 영문 Support 사이트에서 많이 검색하실 거라 생각됩니다. 그러나 필요한 문서를 찾기 위해 한글을 영어로 혹은 영어를 한글로 변환하는 작업이 만만치 않죠? 또 관련 기술 단어를 잘 알고 있어야 유추해서 찾아 낼 수 있는데 Search에 오랜 경험이 쌓이지 않으면 어려운 일이었습니다.

이런 문제 때문에 제가 예전 올린 문제 해결 동영상 이라는 포스트에 별도의 Excel 파일을 다운 받는 방법을 알려 드렸었는데 이 방법은 최신 버전의 제품에 대해서는 Search가 어렵다는 단점이 있었습니다. 그러나 잘 알려지지 않았지만 한/영 메시지 변경 때문에 겪는 어려움을 해소할 수 있는 사이트 있습니다, 그 이름은 바로 Microsoft Language Portal!

만약 에러가 발생해 한글 Windows에 한글 메시지가 발생했고, 해당 에러 메시지에 대한 KB를 영문 사이트에서 찾기를 원하신다면 먼저 MLP에 방문해 아래와 같이 한글 에러 메시지를 영문으로 변환한 뒤에 영문 Support 사이트에서 검색하실 수 있습니다. 

 

Microsoft Language Portal

http://www.microsoft.com/language/en/us/search.mspx

clip_image002

p.s. 그리고 여러분~ 조금만 기다려 주십쇼, 마이크로소프트 사이트에 장착(?)될 Machine translator를 이용해 앞으로 언어에 관계없이 어떤 KB 문서든지 원하는 언어로 번역된 문서를 보실 수 있는 날이 옵니다! ^^

Posted by sankim | 0 Comments

Windows NT 3.1을 기억하시나요?

안녕하세요?

Windows 최초 32bit 서버 OS였던 Windows NT에 대한 글을 http://blog.ithero.co.kr에 기고 했습니다.

----------------------------------------------------

안녕하세요? 저는 한국 마이크로소프트 기술지원부에서 일하고 있으며 Sankim’s Blog를 운영하는 Sankim이라고 합니다. Hero 블로그를 통해 인사 드리게 되어 반갑습니다.

http://upload.wikimedia.org/wikipedia/en/e/ea/NT4_logo.png
첫 Windows 서버 OS였던 Windows NT 3.1이 처음 발매 된 것이 1993년인데 15년이 지난 현재 7번째 버전인 Windows Server 2008이 올 3월에 나왔습니다. 이번 포스팅에서는 최초 32bit Windows서버 OS였던 Windows NT 3.1에서 NT의 유래와 최초 버전이었음에도 버전 명이 3.1이였는지 이야기 해보도록 하겠습니다.

Windows NT는 DEC에서 RSX-11M, VAX, VMS이 세가지 운영체제를 개발했던 거장 David Cutler가 빌게이츠의 삼고초려(?)로 1988년 10월 마이크로소프트로 옮겨오면서 그해 NT 개발에 착수 했고 93년에 드디어 첫번째 Windows Server가 탄생합니다, 그 이름이 바로 Windows NT이며 공식적으로 NT는 New Technology의 각 첫번째 알파벳으로 만든 이름입니다.

Windows NT, 과연 처음부터 본래 뜻이 New Technology 였을까요?

NT라는 이름을 두고 New Technology말고 다른 의미가 있을 것라며 많은 추측을 만들어 냈는데 그 중에 David Cutler가 DEC에 있었을 때 자신이 만든 VMS의 알파벳에서 한 글자씩 뒤로 옮겨서(V > W, M > N, S > T) WNT가 됐다는 설이 가장 유력 했습니다.
그러나 사실 NT는 Intel i860프로세서 에뮬레이터 N-Ten에서 유래 했습니다.

Windows NT를 개발할 당시 새로운 인텔 프로세서가 나오지 않은 상태에서 Intel i860프로세서 에뮬레이터였던 코드네임 N-Ten환경에서 개발했었습니다, 그때 개발자들이 시뮬레이터 이름이었던 N-Ten을 NT라고 줄여 불렀고 그러다 보니 자연스럽게 NT라는 이름을 붙여 부르다 나중에 Windows NT에 New Technology라는 의미를 부여해 시장에 나온 것입니다.

그런데 왜 버전명이 하필 3.1이 였을까요?
Windows 32bit 서버 OS로서는 첫번째 버전이었으니 Windows NT 1.0이 맞았을 텐데요? 혹시 외부에 발표하지 않고 마이크로소프트 내부적으로는 Windows NT 1.0부터 3.0까지 존재 했던 걸까요?

당시 NT는 16bit 클라이언트용 Windows 3.1이 사용하는 어플리케이션과의 자유로운 호환성을 목표로 하고 있었습니다, 그런데 Windows 3.1이하 버전에서 설치 되지 않도록 설계된 어플리케이션 일부가 설치 과정 진행 중에 버전을 확인하면서 1.0이라는 버전명 때문에 3.1 이하 버전으로 인식해서 설치가 실패되는 문제가 발생했습니다, 그래서 3.1이라고 버전명이 부여 된 것 입니다.

Windows NT 4.0 차기 버전 개발중에 Windows 9X 마케팅 담당자가 NT 사업부로 옮겨 오면서 NT 대신 Windows 2000과 같이 발매 연도를 제품 버전명 대신에 붙이기 시작 했는데요, 이전 버전에서 커다란 변화가 있던 Windows 2000의 명명법의 변화에는 동의하지만 제 개인적으로는 NT 같은 상징적인 이름에 버전명을 붙였던 작명법이 훨씬 멋지게 느껴집니다. ^^

벌써 부터 아침 저녁이면 가을이 느껴지는 바람이 불어오네요, 모든 분들 이 가을을 만끽하시고요 저는 다음 기회에 다시 찾아 뵙겠습니다!


Windows Server 발매 연도
1993년          NT 3.1
1994년          NT 3.5
1995년          NT 3.51
1996년          NT 4.0
1999년          Windows 2000
2003년          Windows Server 2003
2008년          Windows Server 2008 (Vista SP1)

Posted by sankim | 0 Comments
Filed under: ,

[Tip. 1] 비 정상적으로 AD에서 없어진(Disjoin된) 컴퓨터계정을 자동으로 삭제시키는 방법

AD 환경에서 정상적으로 제거(Disjoin)하지 않은 컴퓨터가 그대로 AD에 남아 있는 경우가 있습니다, 이런 경우 일일이 확인해서 제거하는 것도 번거로운 일인데요.

일정 기간 동안 로그온 하지 않은 컴퓨터 리스트를 Query해서 그 기간 동안 로그온 하지 않은 컴퓨터는 Disjoin된 컴퓨터로 판단하고 제거 하는 방법이 있습니다 그러나 실수로 원하지 않는 계정을 삭제하게 될 수도 있으므로 dsrm 명령은 신중히 고려하신 후, 실행하시기 바랍니다.

 

*아래와 같이 dsquery를 이용합니다.

dsquery computer -inactive 4 | dsrm -noprompt

(예: 지난 4주 동안 비활성 상태인 모든 컴퓨터를 찾고 디렉터리에서 제거합니다, 자세한 설명은 dsquery /? 를 실행하여 참고하시기 바랍니다.)

 

1. 일반적으로 dsquery computer -inactive 4 를 실행해 지난 4주간 로그온 하지 않은 컴퓨터를 확인 합니다.
2. 만약 해당 컴퓨터 모두 AD에서 없어진 컴퓨터라고 판단 되면 추가로 dsrm -noprompt를 붙여서 4주간 로그온 하지 않은 컴퓨터를 제거 합니다.
3. 4주는 제가 임으로 설정한 값이고 5, 6, 7 ... 으로 늘릴 수 있습니다. 출장이나 장기 휴가 같은 경우를 예상해서 잘(?) 설정 하시기 바랍니다.

 

모두 가을을 만끽하세요~

Posted by sankim | 8 Comments

Windows 2003 Failover Cluster에서 공유 디스크 교체 가이드

아~ 드디어 한달 내내 괴롭히던 더위가 물러간 기분입니다, 오늘 출근 하는데 서늘한 바람이 불어서 너무 기분이 좋았습니다, 가을이 벌써 왔나 하는 착각이 들정도네요. 

 

본론에 들어가서 W2K3 Cluster을 구동하시다 보면 디스크 교체나 확장을 이유로 쿼럼과 데이타가 들어있는 공유 디스크를 교체해야 할때가 있을 것입니다, 이번 포스팅에서는 clustering 환경에서 Storage 교체시 필요한 Step Guide 입니다.

 

[시나리오]

Windows 2003 Cluster (2 node cluster, Active/Passive)에서 공유 디스크를 새 공유 디스크로 교체 작업 예정.

공유 디스크의 드라이브 문자 및 Windows Cluster 서비스의 환경은 그대로 유지하고 물리적인 공유 디스크만 교체 예정.

 

[클러스터 환경에서 공유 디스트 교체 가이드]

1. 양쪽 노드(노드 1, 노드 2)의 클러스터 서비스를 수동 및 사용 안 함으로 변경합니다.

 

2. 한쪽 노드(Passive 노드) 시스템을 종료합니다.

 

3. 켜져 있는 Active 노드에서 아래 작업을 진행합니다.

(1) 현재 Disk Signature 정보 백업

디스크 변경 작업 이후, Disk Signature 가 바뀌는 문제가 발생할 가능성에 대비하여 아래 레지스트리 키를 먼저 백업 받아둡니다.

HKey_Local_Machine/System/CurrentControlSet/Services/Clusdisk/Parameters/Signatures

(2) 제어판 - 시스템 - 장치 관리자에서 보기 메뉴의 "숨김 장치 표시"를 체크합니다.

(3) "비 플러그 앤 플레이 드라이브"에서 "클러스터 디스크 드라이버(Clusdisk.sys)"와 "클러스터 네트워크 드라이버(Clusnet.sys)" 등록정보를 실행하신 후 각각 시작 유형을 "사용 안함"으로 변경합니다.

(4) Active 노드를 재시작합니다.

(5) 디스크 관리자를 통하여 기존 공유 디스크의 드라이브 문자를 임의의 문자로 변경합니다.

(6) 새로운 공유 디스크를 연결하시고, 드라이브 문자를 기존 공유 디스크가 사용하던 문자로 변경합니다.

(7) 기존 공유 디스크의 내용을 새로운 공유 디스크로 복사합니다. 이때 ACL도 동일하게 설정 합니다.

(8) dumpcfg를 아래와 같이 실행하신 후, c:\dumpcfg.log의 내용과 1)에서 백업 받은 레지스트리 키 값의 내용을 비교합니다. dumpcfg는 Windows 2000 Resource Kit 혹은 인터넷에서 검색하시면 구하실 수 있습니다.

c:\temp> dumpcfg.exe > c:\dumpcfg.log

(9) 만약 디스크 signature의 값이 변경되었으면, 아래 참고 문서에 있는 'Windows 2000 클러스터 환경에서 디스크 서명 변경 방법'을 참고 하여 디스크 signature 값을 원래의 값으로 match 시켜주시기 바랍니다. 클러스터 서비스는 signature로 디스크를 인식하므로 signature는 받듯이 이전 디스크와 동일해야 합니다.

(10) "비 플러그 앤 플레이 드라이브"에서 "클러스터 디스크 드라이버(Clusdisk.sys)"와 "클러스터 네트워크 드라이버(Clusnet.sys)" 등록정보를 실행하신 후 각각 시작 유형을 다음과 같이 원래의 값으로 변경합니다.

- Cluster Disk Driver : 시작 유형 =>  "시스템"

- Cluster Network Driver : 시작 유형 => "요구"

(11) Active 노드를 재시작한 후, 클러스터 서비스를 시작합니다. (서비스 시작 유형을 자동 및 사용함으로 바꿔주시기 바랍니다.)

 

4. Active 노드의 클러스터 서비스가 정상적으로 시작되면, Passive 노드를 시작하여 클러스터 서비스를 조인합니다.

 

[참고 문서]

Windows 2000 클러스터 환경에서 디스크 서명 변경 방법

http://support.microsoft.com/kb/822881/ko

Recovering from an Event ID 1034 on a server cluster

http://support.microsoft.com/kb/280425/KO/

Windows 2000 또는 Windows 2003 서버 클러스터에서 디스크를 교체하는 방법

http://support.microsoft.com/kb/305793/KO/

Posted by sankim | 0 Comments
Filed under: ,

ADPlus로 유저모드 Crash & Hang dump 생성하기

이전 'Bye~ Bye~ Dr. Watson (drwtsn32.exe)!' 포스팅에서 Vista 이후에는 Dr. Watson 대신 ADPlus를 이용해 유저모드 Crash를 수집해야 한다고 말씀드렸었는데요, 이번 포스팅에서는 ADPlus로 Crash dump와 함께 Hang dump를 생성하는 방법을 설명 드리겠습니다. 

 

[덤프 수집 목적]

-Crash Dump는 프로세스가 죽는(?) 순간 ADPlus가 감지해 그 당시 메모리에 있던 Crash된 프로세스 내용을 dump로 저장한 뒤 그 dump를 이용해 Crash 발생 원인을 찾기 위함 입니다.

-Hang Dump는 프로세스는 살아 있으나 더 이상 Running하지 못하는 상황에 사용자가 수동으로 시차를 두고 몇번의 Dump를 생성한 뒤 각 덤프를 비교해 공통 적으로 막혀(?)있는 부분을 찾아 Hang이 발생 원인을 찾기 위함 입니다.

 

[ADPlus dump 수집]

1. Windbg 설치

Crash/Hang dump를 수집 하기 위해서는 기본 적으로 문제 발생하는 컴퓨터에 Windbg를 설치 해야 합니다.

아래 링크 “Download the Debugging Tools for Windows”에서 [Current Release Version]을 다운로드 하여 설치하시기 바랍니다.

 

32Bit 버전: http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

64Bit 버전: http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx

 

2. Crash Dump 수집 방법

문제가 발생하는 Process가 running중인 상태에서 아래 작업을 순차적으로 진행해 주시기 바랍니다, 단 Crash 덤프는 한번만 설정해 놓으면 문제가 재현됨과 동시에 자동으로 Dump를 생성합니다. Hang 덤프 수집은 아래 '3. Hang Dump 수집 방법'을 참조 하십시오.

 

1) [시작] - [실행] - cmd 를 입력

 

2) Adplus.vbs가 설치된 folder로 이동합니다. 설치당시, 경로를 변경하지 않았다면, default path로 이동합니다. (Default path: %ProgramFiles%\Debugging Tools for Windows)

 

3) Crash의 경우 덤프를 생성하기 위해 아래 명령을 수행합니다

방법1

CScript adplus.vbs -crash -pn %Processname% (%Processname%는 해당 프로세서 명을 의미 합니다)

예) CScript adplus.vbs -crash –pn Test.exe

방법2

CScript adplus.vbs -crash -p %PID% (PID는 해당 프로세서의 Process ID를 의미 합니다)

예) CScript adplus.vbs -crash –p 1044

 

*화면중앙에 Message box가 두 번 나올 것이므로, 확인 버튼을 두 번 눌러주시기 바랍니다.

 

4) 문제의 현상을 재현 시킵니다, 혹은 재현 될때까지 해당 명령 콘솔을 놔둡니다.

Crash 덤프의 경우 문제가 발생하면 자동으로 dump가 발생합니다,

 

5) 문제가 발생하고 나면, Adplus.vbs가 설치된 경로(default path참조)에 "Crash_Mode_*"로 시작하는 폴더로 이동하셔서 아래 사항을 확인합니다.

- 확장자가 *.dmp라는 파일이 존재해야 한다.

- Crash Dump의 경우 *.dmp파일의 이름중에 "*_2nd_chance_*"라는 이름으로 된 file이 존재해야 합니다, 또 *.dmp파일의 이름중에 "*_1st_chance_process_shutdown_*"이라는 이름이 존재하는 경우는 사용자가 임의로 해당 user process를 종료한 경우이므로, 다시 2번 작업부터 시작해야 합니다.

 

3. Hang Dump 수집 방법

1) [시작] - [실행] - cmd 를 입력

 

2) 문제의 현상을 재현될 때 아래 명령을 실행 합니다.

Crash 덤프와 마찬가지로 프로세스를 지정하는 방법이 두가지 있습니다, 둘중 하나를 선택해 실행 하십시오. Hang 덤프는 Hang이 발생한 상태에서 1~2 분 간격으로 최소 3번 이상 덤프를 생성해야 합니다.

 

방법1

CScript adplus.vbs -hang-pn %Processname% (%Processname%는 해당 프로세서 명을 의미 합니다)

예) 아래와 같이 동일한 명령을 1분에 2~3번 정도 생성합니다.

CScript adplus.vbs -hang –pn Test.exe (한번 생성, 덤프가 생성이 되면 두번째 명령 실행)

CScript adplus.vbs -hang –pn Test.exe (두번째 dump 생성, 세번째 명령 실행)

CScript adplus.vbs -hang –pn Test.exe (세번째 dump 생성)

방법2

CScript adplus.vbs -hang-p %PID% (PID는 해당 프로세서의 Process ID를 의미 합니다)

예) 아래와 같이 동일한 명령을 1분에 2~3번 정도 생성합니다.

CScript adplus.vbs -hang –p 1044 (한번 생성, 덤프가 생성이 되면 두번째 명령 실행)

CScript adplus.vbs -hang –p 1044 (두번째 dump 생성, 세번째 명령 실행)

CScript adplus.vbs -hang –p 1044 (세번째 dump 생성)

 

3) 문제가 발생하고 나면, Adplus.vbs가 설치된 경로(default path참조)에 확장자가 *.dmp라는 파일이 존재하는지 확인 합니다.

 

 

[관련문서]
ADPlus를 사용하여 "중지"와 "충돌" 문제를 해결하는 방법
http://support.microsoft.com/kb/286350/ko

 

 

이 더운 여름에 몇일 무리해서 운동을 했더니 몸이 더 무거워진 느낌이네요 (더위 먹었나?.. ㅜㅜ)

여러분 모두 몸 관리 잘하시고 아직 한달 더 남은 여름 무리 없이 넘기시길 빕니다 ^^

Posted by sankim | 2 Comments

Windows 2003 Failover Cluster 백업(Backup) 하기

백업의 중요성은 100번을 강조해도 아깝지 않겠죠? 이상하게 데이타나 시스템 백업은 신경쓰시면서 Cluster 백업은 조금 외면(?) 하시는 경향이 있더군요, 그래서 이번 포스트에서는 Windows Server 2003 Failover Clustering 백업 방법에 대해서 이야기 하겠습니다.

 

클러스터 데이터 백업

서버 클러스터에는 클러스터의 원활한 동작에 필수적인 네 가지 데이터 그룹인 클러스터 디스크의 디스크 서명과 파티션, 클러스터 쿼럼 데이터, 클러스터 디스크 데이터 및 개별 클러스터 노드 데이터가 있습니다.

 

클러스터 디스크 서명과 파티션

*Cluster는 Disk를 각 Disk 마다 가지는 고유 Signature를 가지구 분간합니다. 만약 디스크 변경작업으로 인해 Signature가 변경되면 Cluster는 디스크를 인식하지 못해 fail이 되버립니다 그래서 dumpcfg.exe를 이용하여 클러스터 디스크 signature에 대한 정보를 백업합니다.

            dumpcfg.exe > dumpcfg01.txt

*Dumpcfg는 Windows 2000 Resource Kit에 있지만 인터넷에서 검색해보시면 쉽게 찾아 다운로드 받으실 수 있습니다.

 

클러스터 쿼럼 데이터

서버 클러스터 노드의 데이터를 백업할 때 클러스터 쿼럼도 백업해야 합니다. 클러스터 쿼럼에는 현재 클러스터 구성, 응용 프로그램 레지스트리 검사점 및 클러스터 복구 로그가 포함되어 있어 중요합니다. 클러스터 서비스가 실행 중인 노드에서 시스템 상태 백업을 수행하는 경우 백업 마법사를 사용하여 클러스터 쿼럼 데이터를 백업할 수 있습니다.

클러스터 쿼럼을 백업하려면

1. 클러스터 관리자를 엽니다.

2. 콘솔 트리에서 클러스터 노드를 클릭합니다.

3. 파일 메뉴에서 속성을 클릭하고 백업 중인 노드에서 클러스터 서비스가 실행되고 있는지 확인합니다.

4. NTBackup을 실행합니다.

5. 백업 또는 복원 마법사에서 고급 모드를 클릭합니다.

6. 백업 탭을 클릭한 다음 백업할 드라이브, 폴더 또는 파일의 확인란에 표시하십시오에서 시스템 상태(System State)를 Check 합니다.

이렇게 하면 클러스터 쿼럼 데이타가 시스템 상태 데이터와 함께 백업됩니다.

 

클러스터 디스크의 데이터

데이타가 들어 있는 클러스터 디스크를 모두 백업하려면 해당 노드에서 NTBackup.exe를 수행하여 전체 백업을 수행합니다.

클러스터 디스크 백업하기

1. NTBackup을 실행합니다.

2. 백업 또는 복원 마법사에서 고급 모드를 클릭합니다.

3. 백업 탭을 클릭한 다음 백업할 클러스터 드라이브를 선택하고 백업을 실행합니다.

 

개별 클러스터 노드의 데이터

한 노드의 클러스터 쿼럼 디스크를 백업했으면 나머지 클러스터 노드의 쿼럼은 백업할 필요가 없습니다. 그러나 나머지 클러스터 노드의 클러스터링 소프트웨어, 클러스터 관리 소프트웨어, 시스템 상태 및 응용 프로그램 데이터는 백업이 필요할 수 있습니다.

개인적으로 시스템 드라이브(보통 C:\)를 통째로 백업 하실것을 권장합니다.

 

백업만큼 중요한게 복구라는거 아시죠?. 백업은 했는데 복구를 할줄 모른다면 난감하겠죠? ^^;

꼭 가상머신에서 백업/복구 테스트로 연습해보시기 바랍니다.

V3가 설치된 시스템에서 Windows XP Service pack 3를 설치 한뒤 부팅 되지 않는 문제

V3가 설치된 시스템에서 V3의 오작동으로 인해 윈도우가 부팅하지 않는 문제가 어제 부터 국내에 크게 이슈가 되고 있습니다, 이에 긴급 공지 차원에서 포스팅 합니다.

 

[문재개요]
안철수연구소가 10일 V3제품 보안업데이트를 진행 했는데 업데이트 된 보안엔진이 Window XP SP3 사용 PC에서 사용하는 Lsass.exe파일을 자동 삭제하는 오진을 일으켰습니다, 그로 인해 Windows XP SP3 사용자는 다음 PC 부팅 시도시 블랙스크린만 나타나며 부팅 자체가 불가능해집니다. 즉 10일 새로 업데이트된 V3 엔진에서 Lsass.exe파일을 악성코드로 잘못 진단하고 해당 파일을 본래 위치인 Windows/system32 폴더에서 제거 함으로써 시스템이 부팅되지 않는 경우입니다.

Lsass.exe(Local security authentication server)는 로컬 시스템 보안 정책을 담당하는 User-mode 프로세스 이미지 파일로서 컴퓨터 로그온, 패스워드 정책, 사용자나 그룹에 대한 특권(Privilege) 권한 부여 그리고 보안 감사(Auditing)와 같은 일을 담당 합니다. 필수 시스템 파일이며 이 파일에 문제가 생기면 시스템은 정상 부팅(동작)할 수 없습니다.

 

[문재해결]
문재 발생 전이라면 간단하게 안랩에서 복구 툴을 사용해 문제를 막을 수 있지만 대부분 사용자 환경에서는 재부팅을 한뒤에 문제가 발생한 것을 확인한 경우가 대부분일 것입니다. 이 경우 아래 문서에 이야기 하고 있는것 처럼 윈도우 설치 CD를 이용한 복구가 필요합니다.

문제 해결 방법은 아래 페이지에 잘 나와 있습니다, 아래 문서의 문제 해결 방법은 아직 부팅을 하지 않은 상태(검역소에 파일이 있는 경우), 윈도우 CD가 있는 경우, 윈도우 CD가 없는 경우로 나눠 문제 해결 방법을 안내합니다.

 

V3 오진으로 인해 삭제된 Lsass.exe 파일 조치 방법
http://kr.ahnlab.com/info/customer/html/2008_lsass_fix.html

Posted by sankim | 0 Comments

문제 분석을 위한 로그를 한번에 수집 한다 MPSReport!

시스템이나 응용프로그램에 문제가 발생하면 문제 해결을 위해서 로그를 수집한 뒤에 그 로그 분석을 통해 문제를 해결 하게 됩니다.

만약 원격에 있는 시스템에 문제가 발생한다면?

 

[상황극] 

전화: 띠리링 띠리링~

고객: 안녕하세요? XX서버 있죠? 그 서버에 올라간 서비스가 갑자기 이상하네요, 어떻게 하죠?

 

나: 아 그래요? 그럼 먼저 관련 로그부터 봐야 알겠네요, 먼저 이벤트 로그 보내주세요. 시작 가셔서 실행에 eventvwr.exe 실행 하시고 시스템 로그 오른쪽 클릭하신 다음에 ‘다른 이름으로 저장’하고… 어쩌고 저쩌고

고객: 아, 예~ 알겠습니다, 보내드리겠습니다.

 

(잠시후)

나: Tcp/IP 정보 확인 하게 ipconfig /all 정보 보내 주세요. 명령 프롬프트 실행하시고 ipconfig /all > ipinfo.txt로 저장하시고… 어쩌고 저쩌고

고객: 예~ 보내드리지요.

 

(잠시후)

나: 네트워크 문제 같기도 하네요 네트워크 연결들을 확인해야 해서 그러는데 netdiag.exe 실행해서 결과 보내 주세요. netdiag 실행하려면 Support tool 설치해서..... 어쩌구 저쩌구

고객: 네.

 

(잠시후)

나: 참! Repadmin.exe 결과도 봐야 할것 같네요, 실행해서 결과 보내 주세요. 그건 어디있냐면도.. 어쩌구 저쩌구

고객: 네... (짜증)

 

(잠시후)

나: 죄송한데... 뭘 좀 봐야 할 것 같은데… 어쩌구 저쩌구

고객: ... 네.... (속으로: XX, 로그만 보내 주다 하루 다 보내겠다)

 

(잠시후)

나: 저 마지막으로 xx로그를 봐야 할 것 같은데..

고객: ㅆ ㅑ ㅇ!

 

 

위와 같은 경험 한번쯤 있으시죠? 이 로그 달라 저 로그 달라 요청하는 것도 눈치 보일 뿐더러 로그 수집해 보내는 사람도 힘들기는 마찬가지 입니다.

이런 문제를 해결해 줄 수 있는 도구가 바로 MPSReport 입니다.

 

MPSReport는 각 제품/시나리오 별로 필요한 모든 로그를 수집할 수 있도록 구성 되어 있습니다. 일반적인 Troubleshooting 분석을 위해 필요한 로그는 모두 수집한다고 보시면 됩니다. 마이크로소프트 엔지니어들도 가장 먼저 시작하는 일중에 하나가 바로 MPSReport에서 수집된 로그를 분석하는 것입니다.

MPSReport는 설치 파일로 Install 되지 않습니다, 즉 프로그램 추가/제거에 등록되는 프로그램이 아닙니다. 대신 각 MPSRPT_xxx.exe를 실행하면 로그 수집에 필요한 도구를 %systemroot%\MPSReports\%MPSReport Name%\binary에 압축을 해제 한 뒤에 MPSReport 실행에 필요한 Script를 실행 하게 됩니다.

 

clip_image001

[그림] MPSReport로 로그 수집하는 중

 

실행 후 모든 로그 수집 결과는 %systemroot%\MPSReports\%MPSReport Name%\Reports\Cab 폴더에 %COMPUTERNAME%_MPSReports.CAB 파일로 모든 결과를 압축합니다. 원격에서 MPSReport의 결과값이 필요하다면 이 cab 파일만 전송 받으면 됩니다. 꼭 원격에서뿐만 아니라, 문제의 시스템 앞에 있다 하더라도 정리된 로그를 한번에 받아 확인 하고 싶은 분이시라면 MPSReport 로 정리된 로그를 즉석에서 확인 할 수도 있습니다.

 

꼭 시간 나실 때 꼭 한번 실행해 보시고 어떤 로그들이 있는지 그 의미가 무엇인지 찾아 보시기 바랍니다.

 

[MPSReport 개요]

Overview of the Microsoft Configuration Capture Utility (MPS_REPORTS)

http://support.microsoft.com/default.aspx?scid=kb;en-us;818742

 

[각 MPSReport 다운로드]

Microsoft Product Support's Reporting Tools

http://www.microsoft.com/downloads/details.aspx?FamilyId=CEBF3C7C-7CA5-408F-88B7-F9C79B7306C0&displaylang=en

Posted by sankim | 0 Comments

Terminal Service에 문제가 생겼어요!

Terminal Service 기본 Troubleshooting Check Guide

 

Terminal Server를 설치한 직후 혹은 터미널 서비스 운영 중에 환경적인 문제로 정상적인 작동을 하지 않는 경우 기본적으로 터미널 서비스에서 확인(Check)해야 사항을 정리해 보았습니다.

터미널 서비스를 설치/운영하시는 분들이시라면 꼭 풀어 쓰지 않아도 이해 하시는데 문제가 없을 것같아 간략하게 정리하였습니다. 혹시 항목 중에 궁금하신 사항이 있으시면 댓글 달아주세요.

 

[Check List]

1. 서비스 항목에서 TS Licensing Service가 Start 되어 있는가?

2. W2K3 Terminal Service는 W2K3 Terminal License Server를 필요로 합니다.

3. W2K Terminal Service는 W2K & W2K3 Terminal License Server를 사용할 수 있어야 합니다.

4. Remote Registry Service가 Start 되어 있어야 합니다.

5. Terminal License Server의 RestrictAnonymous 이 “2”로 구성되면 안됩니다. 0 또는 1 로 구성

6. IPC$ 공유가 있어야 합니다.

7. 파일 및 프린터 공유 서비스를 Bound하는 NIC는 Internal NIC보다 우선순위가 높아야 합니다.

8. W2K3 Terminal License Server에서 장치 단위 또는 사용자 단위로 정확하게 구성되어야 합니다.

9. Terminal Server 와 Terminal License Server 그리고 Terminal Client의 Network 연결 상태가 정상적이어야 합니다.

10. RDP-TCP Connection 과 사용자가 적절한 Permission을 가지고 있는지 확인합니다.

11. Thin Client의 접속이 문제가 될 경우 Firmware를 먼저 Update해봅니다.

12. “네트워크에서 이 컴퓨터 액세스” 권한에 Authenticated Users 가 포함되어 있어야 합니다.

13. “트래버스 확인 통과(Bypass Traverse Checking)” 권한에 Authenticated Users 가 포함되어 있어야 합니다.

14. Terminal Service 는 TCP 3389 를 사용합니다.

15. Terminal Services License 는 RPC TCP 135 와 Dynamic RPC Port가 필요합니다.

a. HOWTO: 방화벽에 사용할 RPC 동적 포트 할당 구성

http://support.microsoft.com/?id=154596

16. Windows Client의 접속이 문제가 될 경우 MSLicensing Key를 확인 후 삭제하여 다시 Logon 할 수 있습니다.

참조: KB 329896 & KB 323597

 

*참고: 이 문서는 Windows 2003을 기준으로 작성하였습니다

 

p.s. 간단해 보여도 일반적인 환경에서의 문제들은 이안에서 많이 해결될거라 저는 믿습니다 ^^

Documented by jungha

Posted by sankim | 0 Comments
Filed under:

First On-site

이번 Post에서는 제가 처음으로 했던 온사이트 지원 이야기를 적어볼까 합니다.

 

첫 온사이트 지원은 생긴지 얼마 안되 저 혼자밖에 없는 Windows Server 지원 팀에 입사한지 이틀 만에 처음으로 고객 사이트에 Windows Server을 설치 하러 나갔었습니다.

사이트에 나가 가기는 했는데 아는게 없어서 어리버리.. 게다가 렉에 들어가 있는 서버라는 놈은 처음 봤고.. 어찌나 Fan 소리가 크고 무섭게 느껴지던지..

그래도 초짜 티를 내는 것은 고객에 대한 배려가 아니라는 생각에 베테랑이라도 되는 것처럼 무던히도 표정관리에 신경을 쓰고 있었습니다, 그렇다고 초짜가 어디 가겠습니까? 작업하는 등 뒤에 서너명이 둘러서 뭐하나 등너머로 지켜보고 있고 화장실이라도 가려고 밖으로 나오면 모두들 쫓아 나와 자신들이 평소 궁금했던 것들을 물어보기 시작하더군요, 물론 제대로 답했을 리가 없죠, 그러고 나니 가슴이 쿵닥 쿵닥 하고 뛰는 게 느껴지면서 머리가 멍하니 아무 생각도 나지 않기 시작했습니다.

다행히 점심시간이되 밥 사주시겠다는 고객을 뿌리치고 몰래 근처 대형 서점에 달려가서 Windows 책을 붙잡고 설치 부분만 한 시간을 넘게 읽고 또 읽었습니다(아니 외웠습니다!).

 

돌아와서 겨우 어떻게 설치는 했습니다, 그런데 결정적으로 점심에 본 책에서 설치 끝나면 ERD를 만들어야 한다고 해서 제 딴에는 서비스 한답시고 ERD 디스크를 만들기 위해 3.5인치 Floppy Disk를 FDD 드라이브에 넣으려고 하는데 아무리 애를 써도 들어가지 않더군요.

 

심호흡을 한번 깊게 들이쉬고 드라이브를 찬찬히 들여다 보니 FDD 드라이브 보다 폭은 좁고 높은 입구가 보였습니다.

당시에는 그게 뭔지는 몰라도 FDD는 아니라는 판단이 들면서 속으로 'X됐다'를 외쳤죠, 그래도 입은 살아서 핑계랍시고 둘러댄다는게..

 

sankim: "하...하...(어설픈 웃음) 여기 왜 이런게 있죠?"

주위 모든 사람들: ......... (다들 한참을 아무도 말도 못한체 멍한 표정으로 얼어 붙어 있음)

 

clip_image002

*제가 FDD를 넣으려고 애썼던 내장형 4mm DAT Tape Drive입니다, 이것이 Tape 드라이브고 그걸로 백업을 한다는 것도 나중에 알았습니다.

 

그 후 몇 일 동안 황당해 하던 그분들의 표정이 밤낮으로 떠올라 잠을 제대로 이루지 못했습니다.

그때 그 전산실 실장님, 계장님들 죄송했습니다 mㅡㅡm

Posted by sankim | 7 Comments
Filed under: ,

메모리 사용 계획(LargeSystemCache) 옵션

image

시스템 등록 정보 > 고급 > 성능 옵션 > 메모리 사용 계획에서 보실 수 있는 프로그램과 시스템 캐시에 대한 내용입니다.

이 옵션은 Windows Kernel에서 System Cache를 Large System Cache로 설정 할지를 선택하는 옵션입니다. 해당 설정은 Registry HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\LargeSystemCache에서 수동으로 설정이 가능합니다.

기본적으로 Client OS(XP, Vista)는 Default(0) 값으로 설정 되어 있고 Server OS는 LargeSystemCache(1)로 설정되어 있습니다.

 

해당 옵션은Windows Vista와 Windows 2008에서 없어졌습니다(GUI로 설정할 수 있는 방법은 없습니다), 설정을 원하시면 해당 Registry 값에서 LargeSystemCache 값을 0 or 1로 변경합니다.

Desktop Heap 문제

오늘은 듣기에 조금 생소하실 Desktop Heap에 대해서 말씀드리도록 하겠습니다.

여러분들이 실행하는 응용프로그램이 띄우는 Window 하나 하나가 모두 Desktop Heap이라는 메모리 공간을 가지게 됩니다 이를 Desktop Heap Allocation이라고 하며 사용자가 새로운 Windows, Menus, toolbars등을 생성할때마다 user32.dll과 gdi32.dll에 의해 이루어지게 됩니다.

 

Desktop Heap에 의해서 나타나는 문제 현상은 아래와 같습니다.

1. 응용프로그램을 실행시키면 한 참 뒤에서야 해당 프로그램의 Window가 나타난다. (2~30초 에서 늦으면 3분)
2. 시스템 응답 속도가 느려지거나 메모리와 관련된 문제라고 의심이 드는 현상이 발생한다.
3. 작업 관리자(Taskmgr.exe)를 실행하면 탭(응용프로그램, 프로세서, 서비스, 성능 등..)들 중에 나타나지 않는 텝이 있거나 혹은 메뉴 일부가 나타나지 않는다.

대부분 잘못된 프로세스에 의해서 Desktop Heap이 고갈되면서 나타나며 특히 3번 현상이 나타나면 백발 백중 Desktop Heap 문제라고 보시면 됩니다.

image

Desktop Heap 문제 발생 에러

 

Desktop Heap 문제를 프로세스를 찾아 내는 방법이 있기는 하지만 조금(?) 복잡하고 아주 길어지는 이야기라 블로그에서는 Skip하기로 하고 Workaround로 Desktop Heap 크기를 조절해서 문제를 최대로 피하는 방법을 설명 드리겠습니다.  Desktop Heap은 아래와 같은 구성 영역들로 이뤄집니다.

Total Desktop Heap size (48MB) =
    win32k.sys (8MB)
    + Session Working Set (4MB)
    + Mapped views for the session (20MB)
    + Paged Pool for this session (16MB)

*그러나 Terminal Service가 enable되어 있을 경우, desktop heap allocation 가능크기는 20MB(default)으로 변경됩니다, 그래서 Terminal Service 환경에서 Desktop Heap 이슈가 발생할 확률이 높습니다.

Desktop Heap 문제가 있을 경우아래 두 가지 Registry key를 이용해 Desktop Heap 크기를 증가시킬 수 있습니다, 증가는 16MB씩 증가시켜야 합니다.

- SessionViewSize (default: 20MB)를 증가시키면 "Mapped views for the session" Size가 증가
- SessionPoolSize (default: 16MB)를 증가시키면 "Paged pool for this session" size가 증가

* Windows 2000 SP4 이하 버전에서는 kb318942 fix를 설치한 후에 위 설정을 적용합니다, 단 Windows 2000 SP4 Update RollUp 1이나, 그 이후의 Windows버전에서는 이미 적용되어 있어 별도 Hotfix를 적용할 필요가 없습니다.

 

그러나 여기에는 상충관계가 존재합니다. 즉, SessionViewSize를 많이 증가시키게 되면, System Cache and/or System PTE for threads 공간을 그만큼 사용하게 만들어 그 영역의 문제를 유발할 수 있습니다. 즉 하나의 파이를  어떻게 나누느냐에 따라 누구는 큰 파이를 먹게 되고 누구는 남이가져간 양 만큼 파이의 크기가 적어지듯이 한정된 리소스에서 기본적으로 하나를 증가시키면 다른 하나의 영역이 감소하게 됩니다, 그러면 줄어든 영역에서 또 다른 문제가 발생할 수 있습니다. 그러므로 너무 지나치게 증가시키지 않도록 조심 하십시오.

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 에서 Registry Key]

SessionViewSize - the desktop heap when Terminal Services enabled. (Default 20MB on NT/2K.  Default 48MB on XP/2003)

SessionPoolSize - the session pool space when Terminal Services enabled. (Default 16MB)

SystemViewSize - the desktop heap when Terminal Services disabled. (Default 48MB)

SessionImageSize - the address space where the Win32k.sys file and the NT4 print drivers are loaded. (Default 8 MB)

* 이론적으로 32bit 환경에서 이 값의 합은 512MB를 초과할 수 없으며, 대부분의 설정에서는, 450MB정도를 기록합니다.

 

p.s. 바쁘다 보니 이제 알았네요.. 요즘 따뜻한 봄 바람이 분다는 걸..

바로 {당신}이 주인공 입니다.

image 

늦었지만 3월 20일 신제품 발표회에 찾아와 주신 여러분들께 감사드립니다.

이날 저도 'Windows server 2008 새로운 기능 살펴보기'라는 주제로 세션을 진행 하였습니다.

끝까지 경청해 주신 모든 분들께 감사드립니다.

image

그날 제가 발표한 세션 자료는 아래와 같이 다운로드 받으실 수 있습니다.
http://www.microsoft.com/korea/heroeshappenhere/events/default.mspx
Event > 세션안내 > IT Professional - Infrastructure > 'Windows Server 2008 새로운 기능 살펴보기'

 

p.s. 혹시 사진기로 제 세션을 찍으셨던 분이 계신가요? 제게 전달해 주시면 감사(*10) 하겠습니다.

Posted by sankim | 0 Comments
Filed under: , ,

문제 해결 동영상

Support Engineer를 처음 시작할 때 그리고 후배 엔지니어들를 맞으면서 Troubleshooting을 위한 기본적인 Check Point를 누군가 이야기 해주면 좋겠다는 생각을 해왔었는데 작년 그 바램을 직접 이루게해 준 동영상입니다. 만들 때 문장 하나 하나 신경쓰느라 참 고생 많이 했는데 벌써 일년이 지났군요.

글로 쓰는 것보다 훨씬 효과적인 동영상입니다 ^^

 

(동영상을 보시려면 아래 그림을 클릭하세요, 다운로드 때문에 조금 기다리셔야 할 수도 있습니다)

image

 

[해당 사이트]

http://www.microsoft.com/korea/technet/support/default.mspx

 

p.s. 그나 저나 두시간 남기고 한달에 3건의 Post를 하겠다는 약속을 지키게 되었습니다. 헥헥헥...

Posted by sankim | 1 Comments
Filed under: ,

[보안감사 3탄] 파일 삭제 감사(Audit); 누가 언제 내 파일을 삭제 하였나?

지난주 Workshop으로 남이섬을 다녀 왔는데 벌써 봄기운이 느껴지더군요.

추위를 잘타는 체질이라 따뜻함을 한껏 느끼고 돌아 왔습니다. ^^

 

이번 포스트는 누군가 중요 파일을 삭제 하였는지 감사하기 위한 설정과 감사 방법입니다.

 

[파일 감사를 위한 구성환경]

공유 파일 위치: 컴퓨터 W2K3SP1

연결 클라이언트: XPSP2sk

테스트 계정: DELTEST, TESTDEL

삭제할 파일: C:\TEST 폴더 안의 test1.txt, test2.txt, test3.txt

 

1. 해당 폴더에 다음과 같이 ‘삭제’에 대한 감사를 설정 합니다. (감사 설정은 해당 폴더의 등록정보 > 보안 > 고급 > 감사로 이동합니다)

clip_image002[7]

 

2. 정책 편집기에서 ‘개체 액세스 감사’의 ‘성공’감사를 설정합니다.

clip_image004[7]

 

[TEST Step]

1. 클라이언트 컴퓨터에서 DELTEST라는 계정으로 해당 폴더에 액세스 하여 test3.txt 파일을 삭제 합니다.

삭제 후 Security 이벤트 로그

성공 감사 2007-06-29 오전 10:39:48 Security 개체 액세스 564 DELTEST W2K3SP1

성공 감사 2007-06-29 오전 10:39:48 Security 개체 액세스 567 DELTEST W2K3SP1

성공 감사 2007-06-29 오전 10:39:48 Security 개체 액세스 560 DELTEST W2K3SP1

2. 클라이언트 컴퓨터에서 TESTDEL라는 계정으로 해당 폴더에 액세스 하여 test2.txt 파일을 삭제 합니다.

삭제 후 Security 이벤트 로그

성공 감사 2007-06-29 오전 10:50:45 Security 개체 액세스 564 TESTDEL W2K3SP1

성공 감사 2007-06-29 오전 10:50:45 Security 개체 액세스 567 TESTDEL W2K3SP1

성공 감사 2007-06-29 오전 10:50:45 Security 개체 액세스 560 TESTDEL W2K3SP1

3. 로컬에서 Administrator 계정으로 계정으로 해당 폴더에 액세스 하여 test1.txt 파일을 삭제 합니다.

삭제 후 Security 이벤트 로그

성공 감사 2007-06-29 오전 10:53:36 Security 개체 액세스 564 Administrator W2K3SP1

성공 감사 2007-06-29 오전 10:53:36 Security 개체 액세스 567 Administrator W2K3SP1

성공 감사 2007-06-29 오전 10:53:36 Security 개체 액세스 560 Administrator W2K3SP1

*직접 테스트한 시간과 사용자가 위 로그 동일 합니다.

 

삭제된 파일과 좀더 자세한 정보를 보시기 위해서는 해당 로그의 속성을 확인 합니다.

삭제를 위한 Access 정보

 

이벤트 형식: 성공 감사

이벤트 원본: Security

이벤트 범주: 개체 액세스

이벤트 ID: 560

날짜: 2007-06-29

시간: 오전 10:39:48

사용자: SPTEST\DELTEST => 해당 파일을 삭제하기 위해 Access한 사용자

컴퓨터: W2K3SP1

설명:

개체 열기:

개체 서버: Security

개체 종류: File

개체 이름: C:\TEST\TEST3.txt => 삭제할 파일 경로 및 이름

핸들 ID: 6304 => 이 작업을 위한 핸들

작업 ID: {0,187663}

프로세스 ID: 4

이미지 파일 이름:

기본 사용자 이름: W2K3SP1$

기본 도메인: SPTEST

기본 로그온 ID: (0x0,0x3E7)

Client 사용자 이름: DELTEST

클라이언트 도메인: SPTEST

클라이언트 로그온ID: (0x0,0x2D9F0)

액세스: DELETE => Delete 하기 위한 Access

ReadAttributes

사용 권한: -

제한된 Sid 카운트: 0

액세스 마스크: 0x10080

 

이벤트 형식: 성공 감사

이벤트 원본: Security

이벤트 범주: 개체 액세스

이벤트 ID: 567

날짜: 2007-06-29

시간: 오전 10:39:48

사용자: SPTEST\DELTEST

컴퓨터: W2K3SP1

설명:

시도한 개체 액세스:

개체 서버: Security

핸들 ID: 6304

개체 종류: File

프로세스 ID: 4

이미지 파일 이름:

액세스: DELETE

액세스 마스크: 0x10000

삭제가 성공했음을 확인 할 수 있는 로그

 

이벤트 형식: 성공 감사

이벤트 원본: Security

이벤트 범주: 개체 액세스

이벤트 ID: 564

날짜: 2007-06-29

시간: 오전 10:39:48

사용자: SPTEST\DELTEST

컴퓨터: W2K3SP1

설명:

삭제된 개체: =>

개체 서버: Security

핸들 ID: 6304 => 위 560 작업임을 나타내는 동일한 핸들 ID

프로세스 ID: 4

이미지 파일 이름:

그러므로 이 로그로 DELTEST라는 사용자가 2007-06-29 오전 10:39:48에 C:\TEST\TEST3.txt 파일을 삭제 했음을 확인 할 수 있습니다.

 

[결론]

Security 564가 있으면 어떠한 객체가 삭제 되었음을 의미합니다. 그러므로 삭제된 파일 정보가 필요하다면 Security 560과 564가 쌍을 이루어 나타나게 되므로 이벤트 로그에서 Security 564를 필터로 검색한 뒤 바로 이전에 생성된 Security 560 정보를 확인 합니다.

 

 

*이전에 보안 감사 시리즈는 아래 링크를 참고하세요

[보안감사 2탄] 언제/누가/어떻게 원격에서 로그온 했는지 Audit 해보자!

http://blogs.technet.com/sankim/archive/2007/07/05/2-audit.aspx

[보안감사] 누가 사용자 계정을 삭제 하였나? - AD 환경에서 계정 삭제 감사(Audit) 방법

http://blogs.technet.com/sankim/archive/2007/07/05/ad.aspx

Posted by sankim | 3 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker