Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
해당되는 게시물 520건
  MSCS 에서 2TB 이상의 디스크 공간 사용하기 
작성일시 : 2008. 10. 22. 14:31 | 분류 : Windows Server/Cluster

Windows 2003 SP1 이전 그리고 XP에서는 2TB의 제한이 있는 MBR만 지원이 됐었습니다.
하지만 Windows 2003 SP1이 나오면서 IA 플랫폼에서만 지원됐던 GPT까지 지원이 됩니다.

다만 MSCS 의 Shared Disk에서는 GPT 디스크를 사용할 수 없었습니다.
하지만 "sankim"님 덕분에 좋은 사실을 알게됐습니다.
다음 hotfix (http://support.microsoft.com/kb/919117) 를 설치하게 되면 windows 2003의 MSCS에서도 2TB 이상의 디스크를 사용할 수 있습니다.

물론 Windows 2008에서는 별도의 hotfix 없이도 GPT를 지원합니다....^^

출처 : http://blogs.technet.com/sankim/archive/2007/05/17/windows-2003.aspx

|
  MSCS 각 모듈에 대한 설명 
작성일시 : 2008. 10. 17. 12:14 | 분류 : Windows Server/Cluster

클러스터 로그를 보게 되면 FM, GUM 등을 확인 할 수 있습니다.
분명 특정 Role을 하는 녀석들의 통칭일껀데 도대체 이게 뭘까요?

해당 모듈명을 알게 되면 로그를 보는데도 클러스터를 이해하는대도 큰 도움이 됩니다.
본 내용을 보기 위해서는 이전 글 (http://maystyle.tistory.com/357)의 Cluster 데이터 베이스에 대한 내용을 먼저 숙지하셔야 합니다.

1, DM (Database Manager)
Cluster의 Database를 관리합니다. 특정 노드에서 Cluster 구성 정보가 변경되게 되면 DM은 Cluster 구성 정보를 로컬의 레지스트리에 저장합니다.

2. LM (Log Manager)
변경 정보를 쿼럼 디스크에 반영하며 클러스터의 구성 정보를 최신 정보로 유지하는 책임을 지게 됩니다.

3. GUM (Global Update Manager)
변경된 구성 정보를 다른 노드에 동기화 시킵니다. Global Update는 무결성을 기반으로 합니다.
즉 Passive 된 노드에 구성 정보를 Update 할 경우 해당 노드의 Cluster Database에 대한 Update가 실패 하게 되면 Active Node 에서는 "Poison Packet"을 Passive Node에 보내 Cluster 서비스를 중지 시킵니다.

4. CP (Checkpoint Manager)
각 리소스의 레지스트리 내용 변경이 발생 할 경우 Quorum 의 registry checkpoint 파일에 저장하는 역활을 합니다.이 녀석의 역활은 꽤나 중요한데 클러스터에서 Fail over가 발생 할 경우 쿼럼에 저장된 데이터 베이스의 사본을 읽는 것이 아니라 해당 쿼럼의 Check Point 파일을 일어 데이터베이스의 내용을 최신의 정보로 유지하게 됩니다.

5. NM (Node Manager)
Heartbeat을 통해 Cluster 상의 노드의 Health를 확인 합니다.
만약 문제가 감지되게 되면 "regroup event" 를 multicast로 전송하고 response가 오는 노드만을 대상으로 클러스터 노드를 재구성합니다.
NM은 Quorum Disk Arbitration을 관리하면 Heartbeat 통신이 중단 되는 경우 Quorum을 소유한 노드로 모든 리소스를 fail over 시킵니다.

6. MM (Membership Manager)
현재 실행 중인 노드의 리스트를 관리합니다. NM에서 reqroup event 를 보내게 되면 MM은 Regroup event 응답 여부에 따라 클러스터 노드의 리스트를 재구성합니다. 문제 노드가 정상으로 동작하게 되면 MM은 해당 노드를 다시 클러스터에 추가하게 됩니다.

7. FM (Failover Manager)
리소스와 리소스 그룹의 시작과 중지를 책임 집니다.
Failover 상황에서 어느 노드에서 가상 서버가 시작될 지를 판한합니다.

출처 : Technet 세미나

|
  Cluster의 Disk 접근 문제 
작성일시 : 2008. 10. 17. 11:39 | 분류 : Windows Server/Cluster

클러스터를 운영하는 중에 ClusSvc 에 1034 이벤트와 함께 DISK를 찾을 수 없다는 문제가 발생하는 경우가 있습니다.

cluster가 Disk에 접근 하기 까지는 아래와 같은 큐를 통과해야 합니다.
이 큐의 각 구성요소 중 하나라도 문제가 있게 되면 클러스터는 디스크를 찾을 수 없게 됩니다.

---------------------------------------------------------------------
Cluster APP (가칭 :클러스터의 소프트웨어 모듈을 가르킴)
---------------------------------------------------------------------
ClusDisk (Disk 장치의 필터 디바이스로 Ownership 관리)
---------------------------------------------------------------------
HBA 관련 모듈 (장치 드라이버를 비롯한 소프트웨어 모듈)
---------------------------------------------------------------------
HBA 카드
---------------------------------------------------------------------
Cable
---------------------------------------------------------------------
SAN Switch
---------------------------------------------------------------------
Cable
---------------------------------------------------------------------
Controller
---------------------------------------------------------------------
Disk
---------------------------------------------------------------------

1. Cluster APP
Cluster는 Disk를 확인 하기 위해 Signature 를 이용합니다.
이 Signature는 Disk의 MBR에 기록 되고, 서버에서는 자신의 레지스트리에 저장된 Signature 정보를 통해 디스크에 접근 하게 됩니다.
즉 Signature 정보에 문제가 있게 되면 Cluster는 Disk를 확인 할 수 없어 문제가 발생합니다.
해당 정보는 아래 레지스트리에서 확인 할 수 있습니다.
HKLM/System/CurrentControlSet/Services/Clusdisk/Parameters
이경우에는 dumpcfg 라는 툴을 이용해서 Disk의 MBR의 Signature를 쉽게 변경 할 수 있습니다.
참고 : http://support.microsoft.com/kb/280425

2. ClusDisk
Disk에 접근하는데 있어 최 상위 물리 계층에서 동작하는 필터 드라이버 입니다.
주요 Role은 Owner Ship 여부에 따라 디스크 접근 권한을 주거나 뺏는 역활 입니다.
Signature 에 문제가 없다면 ClusDisk 의 문제를 추정할 수 있습니다.
하지만 거의 대부분 ClusDisk의 문제는 없고 쿼럼에 접근이 않된다거나 로컬의 클러스터 정보 및 쿼럼의 정보가 손상된 경우가 대부분 입니다.
문제 판별은 http://support.microsoft.com/kb/280425 의 내용과 같이 장치 관리자에서 해당 필터 드라이버를 Disable 시킨 후 문제 여부를 확인 할 수 있습니다.
일반적으로 클러스터의 정보는 HKEY_LOCAL_MACHINE\Cluster 키 밑에 저장되어 있습니다.
그 파일은 SystemRoot%\Cluster\ClusDB 와 Q:\MSCS\Chkxxx.tmp 입니다.
즉 하나라도 정상으로 판별되는 녀석이 있다면 해당 파일로 동기화를 해주게 되면 문제가 해결 되게 됩니다.
물론 쿼럼 손상의 경우 시작 옵션에 fixquorom 을 주거나 쿼럼을 재 생성해도 문제를 해결할 수 있습니다.

3. HBA 관련 모듈
디바이스 드라이버 및 해당 드라이버를 지원하기 위한 S/W를 통칭 합니다.
즉 이 부분 부터는 장치의 문제로 볼 수 있으며 해당 장치를 fix 해주면 됩니다.

4. HBA 카드 ~ Disk
솔직히 MS만 하는 저는 뭐라 말씀 드릴 부분이 없습니다.
장치의 문제로 볼 수 있으며 해당 구간 구간에 대한 TEST가 진행 되어야 합니다.

[기타]
시작 옵션 정리
net start clussvc /NoQuorumLogging
net start clussvc /ResetQuorumLog
net start clussvc /FixQuorum

|
  Active 된 Windows 인증 정보는 어디에 저장되어 있을까요? 
작성일시 : 2008. 10. 17. 10:37 | 분류 : Windows Server/ETC

아래의 위치에 저장되어 있습니다.
C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareLicensing\tokens.dat

|
  Clipboard Viewer Chain Problem 
작성일시 : 2008. 10. 8. 11:51 | 분류 : Windows Server/Terminal Service

최근에 Clipboard 와 관련된 문제가 있었습니다.
Windows 에서 가끔씩 Clipboard 의 내용이 공유가 않되는 경우가 있습니다.
특히 Terminal Service를 이용할 때 자주 발생하게 되는데, 이 가장 큰 이유는 RDPClip.exe의 Clipboard viewer Chain이 끈어지기 때문입니다.
그와 관련해 제 친구 동조 블로그에 좋은 글 (http://dongjo.tistory.com/102) 이 올라와서 부연 설명을 더해 드립니다.

Windows 에서 Clipboard의 내용은 각 Application 들이 각자 관리 하게 됩니다.
Clipboard를 사용하도록 선언이 되게 되면 이 App 들은 각자 Clipboard를 관리하게되며, 각 App들에서 Clipboard의 내용이 변경 되게 되면 해당 내용을 update 받게 됩니다. 이를 Clipboard viewer chain 이라 합니다.
이런 연관 관계를 Clipboard viewer chain 이라 합니다.

[Clipboard Viewer Chain의 생성]
최초로 A 라는 Clipboard를 사용 하는 app가 실행 됩니다.
-> A

B app 가 실행 됩니다.
-> B -> A

C 와 D app 가 차례로 실행 됩니다.
-> D -> C -> B -> A

[Clipboard Viewer Chain 에서 Clipboard 내용 변경]
-> D -> C -> B -> A 와 같은 체인의 B app에서 사용자가 clipboard 의 내용을 변경 합니다.
-> D -> C -> B -> A
                    ^
        clipboard 내용 변경

해당 내용의 자신의 Chain의 가장 앞 노드인 D에 알리게 되고 D는 자신과 연결된 Chain에 해당 Update 내용을 전달 하게 됩니다.

[Clipboard Viewer Chain 에서 app 종료]
-> D -> C -> B -> A 에서 B가 종료 됩니다.
-> D -> C -> A

이 경우 B의 위치에 A가 자리 하게 됩니다.
즉 B의 Windows 핸들 값을 A 값이 대체하게 됩니다.

[일반적인 문제 현상과 그 원인]
위의 예에서 B가 종료 되면서 자신의 핸들값을 A의 값으로 대체 하지 못하고, 종료 되는 경우 A는 고립이 되게 되며 clipboard의 update를 확인 할 수 없습니다.

이런 경우는 보통 B app 소스에 문제가 있는 경우 가 있습니다.
일반적으로 Windows.close 같은 함수를 이용하여 종료할 경우에는 위와 같은 문제가 발생 하지 않습니다.
하지만 process.kill 과 같은 함수를 이용할 경우 해당 kill 에 대한 예외 처리를 하지 않으면 종종 발생하는 것으로 보입니다.

아래와 같이 예외 처리를 해줍니다.
간단하게 자신의 Windows 핸들을 다음 노드의 핸들로 대체해주는 구문입니다.
그리고 WM_DESTROY는 바로 비정상 종료를 가르키는 상수 값입니다.

case WM_DESTROY:      ChangeClipboardChain(hwnd, hwndNextViewer);
     PostQuitMessage(0);
     Break;

[Terminal Service 이용시 Clipboard 공유 문제]
사용자가 Terminal 연결을 할 경우 Windows에서는 해당 사용자를 위한 세션을 생성하고 그 위에서 다양한 Terminal 환경을 위한 App 를 구동하게 됩니다.
이 중 서버와 클라이언트의 Clipboard 내용을 동기화 하게 위해서 사용하는 app가 있는데, 이 app가 RDPClip.exe 입니다.
사용자가 터미널 서버에 접속하게 되면 RDPClip.exe가 hidden Windows 를 생성하여 위에서 설명한것과 같이 clipboard를 공유하게 됩니다.
이때 중요한 것이 해당 app가 chain의 가장 첫번째 생성 노드라는 점 입니다.
즉 해당 노드 app 중 하나의 app만 정상 종료가 않되게 되는 상황이 발생하게 된다면 이 RDPChain.exe는 clipboard update 내용을 확인 할 수 없는 것입니다.

[Terminal Service 이용시 Clipboard 공유 문제 해결 방안]
근본적으로는 위에서 언급한 것과 같이 clipboard를 사용함에 있어 다양한 예외 상황에 대한 처리를 app에서 해주는 것이 좋습니다.
하지만 그게 불가능 하다면 단순하게 RDPClip.exe를 재 시작하여 문제를 해결 할 수 도 있습니다.
RDPClip.exe가 신규 노드로 추가가 된다면 당연 이전의 고립 문제는 해결이 되게 되는 것이죠.

Windows Vista 및 Windows 2008에서는 OS 차원에서 System Controlled Clipboard Chain을 제공하고 있어 위와 같은 문제가 발생 하지 않습니다.

[클립 보드 문제 해결 방법]
.

참고 및 출처
http://blogs.msdn.com/ts/archive/2006/11/16/why-does-my-shared-clipboard-not-work-part-1.aspx

|
  SQL Server 성능 검증 
작성일시 : 2008. 10. 8. 09:18 | 분류 : SQL Server/Administration

쿼리 필요하신 분은 justlock@gmail.com 으로 MSN 쪽지 보내주시면 첨부 파일 발송해드립니다.
이거... Copy가 않되게 되어 있어 불편하군요...;;

SQL Server 2005 부터는 굳이 프로파일러가 없어도 Plan Cache 등의 쿼리 성능 데이터를 확인 할 수 있습니다.
보통 dmv 라고 불리우는 view 들입니다.

저도 어쩌다가 알게 됐는데 정말 사용해 보니 좋더군요. 프로파일러 처럼 리소스를 많이 먹는 것도 아니고...
물론 성능 문제에 대한 원인 규명은 힘들겠지만 근거 데이터로는 손색이 없어 보입니다.

DMV 를 이용하여 SP 및 쿼리의 성능을 확인 하기 위한 간단한 SELECT를 공개 합니다.
개인적인 용도로 사용하시는 것은 문제가 없으나 기타 다른 용도로 사용할 때는 꼭 출처를 밝혀 주시기 바랍니다.

[Out Put]

[쿼리]
본 쿼리는 SQL Server 의 옵티마이져의 성능 통계를 바탕으로 합니다.
Where 절의 Date 값을 조정하여 원하는 시점의 성능 데이터를 확인 할 수 있습니다.

  1. SELECT    
  •  TOP 10   
  •  DB_NAME(st.dbid) DB명   
  •  ,OBJECT_SCHEMA_NAME(objectid, st.dbid) 스키마명   
  •  ,OBJECT_NAME(objectid, st.dbid) SP명   
  •  -- 쿼리구문조회   
  •  ,SUBSTRING(text, qs.statement_start_offset/2   
  •  ,(CASE       
  •   WHEN qs.statement_end_offset = -1 THEN LEN(CONVERT(nvarchar(max),text))*2    
  •   ELSE qs.statement_end_offset    
  •   END - qs.statement_start_offset)/2) AS 쿼리구문   
  •  -- 재컴파일된쿼리성능간의구분을위한시퀀스번호(재컴파일된횟수와동일)   
  •  ,qs.plan_generation_num AS 컴파일횟수   
  •  -- 최종컴파일이후실행횟수   
  •  ,qs.execution_count AS 실행횟수    
  •  -- 쿼리수행에사용된총경과시간   
  •  ,qs.total_elapsed_time AS 총경과시간    
  •  ,qs.total_elapsed_time / qs.execution_count AS 평균경과시간    
  •  -- 가장최근에쿼리를수행하는데사용된경과시간   
  •  ,qs.last_elapsed_time AS 최근경과시간    
  •  -- 쿼리를수행하는데걸린가장빠른경과시간   
  •  ,qs.min_elapsed_time AS 가장빠른경과시간    
  •  -- 쿼리를수행하는데걸린가장느린경과시간   
  •  ,qs.max_elapsed_time AS 가장느린경과시간    
  •  -- 계획이마지막으로실행된시간   
  •  ,qs.last_execution_time AS 최종실행시간    
  •  --,qs.total_elapsed_time - qs.total_worker_time as total_wait_time   
  •  --,qs.total_worker_time as cpu_time   
  •  --,qs.total_logical_reads as reads   
  •  --,qs.total_logical_writes as writes   
  • FROM sys.dm_exec_query_stats qs   
  •  CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st   
  •  LEFT JOIN sys.dm_exec_requests r ON qs.sql_handle = r.sql_handle   
  •  JOIN sys.dm_exec_cached_plans cp ON qs.plan_handle = cp.plan_handle   
  • WHERE qs.last_execution_time > '2008-10-07 08:30:00.000'    
  •  AND qs.last_execution_time < '2008-10-09 18:00:00.000'    
  • ORDER BY 4 DESC  
  • |
      LG 전자 넷북(x110) 체험 행사 
    작성일시 : 2008. 10. 6. 22:31 | 분류 : Life Note/엔지니어 이야기

    오늘 퇴근과 함께 우연히 인터넷을 떠돌다 LG 전자 넷북 체험 행사에 대한 소식을 듣게 됬다.
    이게 왠! 떡인가...
    항상 내 타거스 가방에 꽉 차는 15인치 노트북에 쩔쩔 매던 내게 가뭄에 단비와 같은 희소식이 였다.

    솔직히 항상 이런 미니 노트북에 대한 구매 의사는 있었지만...
    처음이기도 하고 선택에 후회가 있을지 의구심도 들고 해서 머뭇거리고 있었는데...
    이렇게 좋은 기회가 생기다니...

    자고로~~~ 직접 체험해 보면 답이 나오는 법... 후다닥 체험 신청을 끝마쳤다...
    의~~~ Mini야 꼭 내품으로 와야한다!

    체험 신청 하기 : http://www.blogkorea.net/bnmsvc/NewsRoom.do?gu=NewsRoomView&Seq=727&ncatecode=ALL

    주요 업무
    1. IT Product 컨설팅
    2. IT Product 구축
    3. IT Product 장애 해결
    4. 세미나 및 강의 진행

    활용 계획
    1. 고객 보고서 및 PPT 작성
    2. 원격 연결을 통한 서버 작업
    3. 간단한 데모 및 테스트를 위한 Application 구동 (Test LAB은 사무실에 있습니다.)
    4. 블로깅

    마지막으로 내게
    "이 노트북 뭐예요?"
    라구 질문할 때! 꼭 이렇게 대답해주고 싶다.
    "LG 에서 새로나온 MINI 예요. 참 예쁘고 좋네요... 꼭 추천하고 싶은 노트북입니다.!"

    |
      김동조군 MVP 되다...^^ 
    작성일시 : 2008. 10. 2. 14:25 | 분류 : Life Note/엔지니어 이야기

    제 입사 동기 김동조 군이 MVP가 됐습니다...^^

    입사 동기로 만나 동조는 시스템 운영을 나는 운영에 대한 기술 지원으로 같이 해오고 있는 동기이자 동료 입니다.
    종종 저를 놀라게 하는 실력으로 제 학습 의욕을 불태우게 했던 동조군이... MVP에 선정됐네요...
    3년간 정말 고생 많이 했습니다.
    불모지와 같은 Windows Server 운영자로써 기술적으로 관리적으로 인정받기까지...
    아무튼 대단한 친구입니다.
    마치 제가 MVP 처음 됐을 때의 그 기분...ㅋ

    이제 준상이만 남았네용...
    준상군도 이제 분발 좀 하지~~~??

    아! 분야는 Terminal Service 입니다...^^

    프로필 페이지는 여기 :https://mvp.support.microsoft.com/profile=7ACA2FC4-4D3B-46BC-BBB3-150B265B2F9D

    |
     Prev   1   ···   20   21   22   23   24   25   26   ···   65   Next