Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

  • Windows 용 DRX 설치 시 Visual Studio 2013용 Visual C++ 재배포 가능 패키지 (이하 VS2013 재배포 패키지) 설치 관련 문제
    • 문제 현상 
      • DRX 설치 후 자동 추가 설치하는 "VS2013 재배포 패키지" 설치 오류 현상
      • 원인: VS2013 재배포 패키지 관련 자체 결함.
    • 해결 방법

      • Windows Server 2012 R2

        • 설명 : "VS2013 재배포 패키지"는 Windows Server 2012 R2의 경우 KB2883200(Windows Update)이 필요합니다.
        • 해결 방법: 윈도우 업데이트 KB2883200가 설치되어 있는지 확인합니다. 설치가 안되어 있다면 윈도우 업데이트를 통해서 추가 설치 합니다. 
      • Windows Server 2008 R2 SP1
        • 설명 : 0x800b010a 에러가 발생합니다. 

          • Code Block
            [0AD8:05C0][2018-07-26T15:33:04]e000: Error 0x800b010a: Failed authenticode verification of payload: C:\ProgramData\Package Cache\.unverified\vcRuntimeMinimum_x64
            [0AD8:05C0][2018-07-26T15:33:04]e000: Error 0x800b010a: Failed to verify signature of payload: vcRuntimeMinimum_x64
            [0AD8:05C0][2018-07-26T15:33:04]e310: Failed to verify payload: vcRuntimeMinimum_x64 at path: C:\ProgramData\Package Cache\.unverified\vcRuntimeMinimum_x64, error: 0x800b010a. Deleting file.


        • 해결 방법: 윈도우 업데이트에서 ".NET Framwork 3.5.1"항목을 추가 업데이트 합니다.

...

  1. DRX 간 연결
    1. drbd의 리소스들을 모두 standalone상태로 변경 합니다: drbdadm disconnect r0
    2. drx를 설치하고 drxsvc를 start한 상태에서 drx간의 연결을 확인합니다.  
    3. netstat 출력물에서 drx ip와 포트가 LISTEN/ESTABLISHE/TIME_WAIT인지 여부를 확인합니다.
    4. 정상적일 경우 리소스의 연결 상태는 bridged 상태 입니다.
      1. 이 때의 drbd 상태는 standalone 이며 drx 가 drbd와 연결하기 위한 상태는 connecting / waiting 상태로 전환됩니다. 
    5. 양노드의 drx의 상태가 bridging이라면 drx간에 연결을 시도하는 상태이며 일정시간이 지나도 변화가 없다면 WAN 구간 상의 연결을 먼저 점검해 봐야 합니다.
      1. icmp ping 은 보통 방화벽 정책에 의해 차단되어 있을 가능성이 있기 때문에 drbdsim 을 drbdsim등을 통한 TCP 연결을 수행해 볼 필요가 있습니다로컬과 원격간의 TCP 연결 가능여부를 확인합니다.
  2. drbd - drx 간 연결
    1. standalone이었던 drbd 리소스의 상태를 connecting상태로 변경한다. → drbdadm connect 명령어로 상태를 변경 합니다.
      • cat /proc/kmsg/의 로그에서 리소스의 상태가 WFConnection으로 변경되는지 확인합니다.
    2. 정상 상황일 경우 drbd와 drx가 연결되면 established 로 연결이 성립됩니다.
    3. 만약 drbd의 status가 connecting이고 연결이 성립되지 않는다면 netstat 출력물에서 drbd ip가 LISTEN상태인지 확인합니다. 
    4. local drx가 local drbd ip로 SYN_SENT를 시도하는지 확인합니다.
      1. TCP의 상태변경이 신속하게 바뀔 수 있기 때문에 netstat에 SYN_SENT 상태 출력이 파악되지 않을 수도 있습니다.
      2. netstat의 결과를 다음과 같은 스크립트 형태로 지속적으로 모니터링 합니다.

        Code Block
        $> while(true); do date; netstat -nap | grep 779 | sort -k 3; sleep 1; clear; done
        Thu Aug 23 08:51:23 PDT 2018
        tcp        0      0 192.168.100.3:35814         192.168.100.3:7792          ESTABLISHED -                   
        tcp        0      0 192.168.100.3:7791          0.0.0.0:*                   LISTEN      -                   
        tcp        0      0 192.168.100.3:7792          192.168.100.3:35814         ESTABLISHED 8033/drx            
        tcp        0      0 192.168.100.3:7793          192.168.100.2:60676         ESTABLISHED 8033/drx            
        tcp        0      0 192.168.100.3:7795          0.0.0.0:*                   LISTEN      8033/drx            
        tcp        0      0 192.168.100.3:7796          192.168.100.2:43684         ESTABLISHED 8033/drx            
        tcp        0      1 10.10.0.182:50460           31.1.1.2:7793               SYN_SENT    8033/drx            
        tcp        0      1 10.10.0.182:57966           31.1.1.2:7796               SYN_SENT    8033/drx            
        unix  3      [ ]         STREAM     CONNECTED     18779  2477/gconfd-2       
        unix  3      [ ]         STREAM     CONNECTED     20779  2512/gnome-panel    
        
        


    5. drbd와 drx가 연결되면 netstat 출력물에서 리소스의 drbd ip와 drx의 ip가 eastablished 상태가 되는지 확인합니다.
    6. drx 로그에 실패(Ex. connection refuse)에 대한 로그가 있는지 확인합니다.
  3. 로그 수집
    1. cat /etc/sysconfig/network-scripts/ifcfg-* 명령어로 출력되는 결과물을 수집합니다.
    2. /var/log/messages
    3. service iptables status
    4. ip a 명령어로 출력되는 결과물

...