2004/02/26
Exchange 2003을 설치후 DC 서버종료시간이 길어지는 현상
이런 서비스중 DSAccess 서비스 같은것은 여러가지 Exchange 컴포넌트를 위해 AD로부터 관련 케시정보를 제공합니다.
Information Store,MTA,그리고 AD환경에 필요한 다른 컴포넌트들도 이에 포함됩니다. 케시된 AD정보를 복원하기 위해 Exchange는 DC로부터 몇몇 직접적인 쿼리를 요구하기도 합니다.
Windows Server 2003 DC를 종료할때, 여러가지 서비스가 Windows 2000보다 빨리 종료되며, 이것은 Windows 20003에서 새로운 문제를 유발합니다.
예로 LSASS(로컬보안하위시스템)같은 서비스에는 DSAccess 와 아주 밀접하게 연관되어 있습니다. DSAccess를 확실하게 종료하기전에 이와 같은 서비스는 먼저 종료됩니다.
그래서 DSAccess서비스는 몇분동안 시스템이 종료되기까지 기달립니다.(기본으로 10분). 또한 Exchange의 다른 서비스들은 이런 현상때문에 사소한 문제가 있을수 있습니다.
1. 이와 같은 문제를 해결하기 위해서는 시스템 종료시 종료 스크립트를 만들어 실행하면 됩니다. 시스템셧다운시 다음과 같은 순서대로 종료시 Exchange 관련 서비스는 깔끔하게 종료할수 있습니다.
순서는 Exchange관련 서비스를 먼저 종료후, 나머지 관련 서비스를 종료하는 것입니다.
net stop msexchangeis
net stop msexchangemta
net stop msexchangemgmt
net stop msexchangesa
net stop resvc
net stop smtpsvc
net stop w3svc
net stop httpfilter
net stop http
net stop iisadmin
net stop winhttpautoproxysvc
2. 이 문제 해결에 대한 다른 접근 방법은 레지스트리 값을 수정하는 것입니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control 의 서브키중 WaitToKillServiceTimeout 의 값을 default 10분에서 20초(20000) 로 변경을 하면 됩니다.
이 값은 해당 서비스나 프로세스 스스로 종료을 하지 못하거나 delay가 발생할때, OS에서 강제적으로 delay가 걸리는 서비스를 종료하는 것입니다.
26-TechNetB_masthead_ltr.gif
2004/02/19
Blocking 과 Dead-Lock에 대하여..
Blocking이 발생하면 Application의 실행 속도가 현격히 저하되고, 심한 경우에는 클라이언트 입장에서 Hangup이 걸리는 경우가 있다. 즉, 한 사용자가 계속 자원을 사용하기 때문에 다른 사용자들이 무한정이 Waiting 상태가 되는 것이다. 이런 경우 다음과 같이 어떤 프로세스가 Blocking 을 하고 있는지 알아낼 수 있다.
SQL쿼리분석기에서 sp_who / sp_lock 프로시져를 통해서 어떤 프로세스에서 lock 상태인지 확인이 가능합니다. 물론 EM에서도 "잠금" 에서 확인이 가능하며 해당 프로세스를 종료시킬수도 있습니다.
[명령] Sp_who
[결과] Spid status giname hostname blk dbname 10 sleeping sale1
0 SALEDB 12 sleeping sale1
10 SALEDB 13 sleeping sale1
12 SALEDB
[분석] 위의 경우는 spid 10번에 해당하는 유저가 12번,13번에 대해 Blocking을 걸고 있는 경우이다. 일시적으로 이러한 Blocking현상은 발생할 수 있지만 만약 한 유저가 수십명에 대해 Blocking을 잡고 있으면, 클라이언트는 Hangup이 된 것처럼 느끼게 될 것이다.
이런 경우 해당 유저가 사용하는 프로그램을 검토해 볼 필요가 있으며, Locking을 줄이며 트랜잭션의 길이가 짧도록 수정할 필요가 있다. 만약 위의 경우 10번 프로세스를 죽이기 위해서는 다음 명령을 사용할 수 있다 : KILL 10 또한 Sp_lock을 사용하면 어떤 Table, page에 대해 어떤 Locking이 걸려 있는지 찾아볼 수 있다.
Dead Lock의 경우는 SQL Server에서 자동으로 하나의 프로세스를 Kill함으로 인해 Dead lock을 풀어주게 된다. Kill되는 프로세스를 Victim이라고 하며 이것은 Log에 기록되게 된다. Dead Lock이 발견된 경우는 해당 프로그램을 즉시 수정할 필요가 있다.
모니터링은 Windows 퍼포먼스 모니터나, SNMP를 이용하는 툴에서 하는게 좋지 않을까..합니다. 퍼포먼스 모니터등은 순간적으로 lock을 걸린후 트랜잭션 종료후 lock이 풀리기 때문에 퍼포먼스 모니터에서는 계속해서 값이 체크되니 혼동하지 마세요..
lock이나, blocking 해결은 처음부터 lock이나 blocking이 발생하지 않도록 쿼리점검을 확실하게 하는거와 더불어 트랜잭션을 최대한 짧게 설정하는것이지만, 일단 발생한 것에 대해서는 해당 프로세스를 죽이거나, 다음번 lock 발생시 시간제한을 통해서 종료 하는 설정을 해주는 것도 좋다.
SELECT @@LOCK_TIMEOUT
결과값이 -1 은 default값이며 제한(무기한 대기)이 없다.
SET LOCK_TIMEOUT 1800 (밀리초 이므로 3분)
이 설정은 해당 트랜잭션을 종료시키지 않고, 오류메시지를 반환하므로 응용프로그램에서 이오류에 대한 예외처리를 꼭 해줘야 합니다.
출처 : 데브피아
2004/02/11
ADSI & WMI Scripts 생성툴
2004/02/05
Exchange Server 2000 일일점검 사항
Exchange Server 를 운영한다면 다음과 같은 사항은 매일 점검해야 한다.
점검 방법은 직접 로그온해 체크하는 방법과, 스트립크를 이용해서 점검하는등 재주것 하면된다..
1. 백업이벤트 검사
-> Exchage Information Sotre 백업은 Ntbackup툴을 이용해서 백업합니다. 백업이 정상적으로 잘되고 있는지 체크해야 합니다. 정기적으로 백업서버에 resotre를 해서 백업이 정상적으로 된건지와, 복원에 문제가 없는지 체크해야 합니다.
2. 이벤트로그 검사
-> 이벤트로그는 시스템 자체 이벤트로그를 점검하고, AD 및 Exchange관련 로그를 점검해야 합니다.
3. 파티션 검사
-> 해당 파티션별로 디스크 사용량을 체크합니다.
4. 바이러스 백신 업데이트 점검
-> 윈도우계열 메일서버에는 필히 안티 바이러스 서버를 설치해야 합니다. 그래야 웜바이러스 같은 바이러스가 창궐할때 시스템을 효과적으로 보호할수 있습니다.
5. 큐검사
-> 일반적으로 2~3만통 정도는 큐에 파일 생성에 약 1~2시간정도 걸리고, 보내는데는 Exchange 설정에 다르겠지만 약 30~1시간에는 모두 발송됩니다.. 그런데 지속적으로 큐메 많은 메일이 쌓여 있다면 Exchagne에 문제가 없는지와, relay를 당하고 있지는 않는지 꼭 점검해야 합니다.
6. NDR검사
->nondelivery report로 메일발송 실패 파일시 생성되는 report파일입니다. 대부분 이메일 주소가 틀리거나, 없거나 또는 받는쪽 서버문제나 네트웍문제가 대부분입니다.
7. 하드웨어 검사
-> 운영하지 오래된 하드워에 일경우는 매일매일 점검해야 합니다. 특히, 단일 하드로 운영하는 서버의 하드디스크가 날라갈경우 골치 아픕니다.. 딴건 바로 교체를 하면 되지만..
8. store.exe 체크
-> 특정 시스템의 경우 store.exe가 비정상적으로 커지는 경우가 있습니다.
이외에도 점검사항은 많습니다...
2004/02/04
2003 & XP에서 그룹정책을 바로 적용할려면.?
secedit /refreshpolicy
그러나, Windows Server 2003 과 XP에서는 gpupdate 를 이용하면 됩니다.
C:\>gpupdate
정책을 새로 고치는 중...
사용자 정책 새로 고침이 완료되었습니다.
컴퓨터 정책 새로 고침이 완료되었습니다.
정책 처리에서 오류를 검사하려면 이벤트 로그를 확인하십시오.
만일 유저나, 컴퓨터에 등 한정된 특정 개체에만 적용할경우는 다음과 같습니다.
gpupdate /target:user
gpupdate /target:computer
옵션값으로는 다음과 같은게 있네요...
/force : 강제 바로 적용....
/wait:시간 :적용하기전 delay시간
/logoff :로그오프시 적용
/boot :부트시 적용
/sync :이건, 다음 리붓이나 로그온시 동기화 하는거..
2004/02/03
2003에서 계정추가 Command Line 툴 - dsadd.exe
ds 명령어는 디렉토리에 특정 개체 유형을 추가할수 있습니다.
추가 가능한 개체:
dsadd computer - 디렉터리에 컴퓨터를 추가합니다.
dsadd contact - 디렉터리에 연락처를 추가합니다.
dsadd group - 디렉터리에 그룹을 추가합니다.
dsadd ou - 디렉터리에 조직 구성 단위를 추가합니다.
dsadd user - 디렉터리에 사용자를 추가합니다.
dsadd quota - 디렉터리 파티션에 할당량 지정을 추가합니다.
다음은 계정을 추가하는 example입니다.
C:\>dsadd user CN=wjkim,OU=Clients,DC=serverinfo,DC=pe,DC=kr -samid wjkim -pwd 1234@dd$rfg
다음과 같은 메시지가 출력됩니다.
dsadd 성공:CN=wjkim,OU=Clients,DC=howtowindows,DC=com
피라미터에는
-email samle@serverinfo.pe.kr
-webpg http://www.serverinfo.pe.kr
-pwdneverexpires yes (-패스워드 이용기간 제한없음)
-memberof "CN=Users,DC=serverinfo,DC=pe,DC=kr"
ds명령어는 이외에도 다음과 같은 기능이 있습니다:
dsadd - 개체 추가
dsget - 개체 표시
dsmod - 개체 수정
dsmove - 개체 이동
dsquery - 검색 조건에 해당되는 개체 찾기
dsrm - 개체 삭제
*만약 개체가 여러개일경우 list파일 목록을 만들어서 loop를 돌면서 추가가 가능한 배치파일이나 vbscript를 만들어서 일괄작업이 가능하겠죠...
02-dsadd.gif
가장 많이 본 글
-
구글... 도대체 뭐하는 짓인지......?? 뭐 내용상으로는,. 누군가 Spam 이라며 신고했다는 건데, 스팸 사이트도 아니고 그럴 내용도 없다. 누군가 악의적으로 신고한것인지 ? 아니면 구글 시스템 오류인건지? 특이한건,. 같은 구글 계정으로 생성...
-
업데이트 적용 환경 : Windows Server 2022 Std, 21H2 설치 실패: 0x8024200B 오류 때문에 Windows에서 다음 업데이트를 설치하지 못했습니다. 2024-01 x64 기반 시스템용 Microsoft server oper...
-
PostgreSQL 에서 처음 dblink 를 사용하는 경우에는 dblink 라이브러리를 확장모듈에 로딩을 해놔야 함. 안그러면 알수 없는 함수라는 오류가 표시됨. -- dblink 로딩 (최초1회 > PgAdmin 에서 해당 DB의 확장모듈에...