Versions Compared

Key

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

Table of Contents

DRX 구성파일이 작성되면  복제를 시작할 준비가 된 상태입니다. 다음의 명령들을 통해 복제리소스를 기동(up)하여 복제를 시작합니다.

리소스에 대한 기동은 설치과정에서 이미 준비한 DRX 서비스에 대한 제어를 통해 구성파일의 리소스를 한 번에 모두 기동시키거나 명령형 유틸리티를 통해 리소스 개별적으로 기동하는 방법을 제공합니다. 다음은 이에 대한 설명입니다.

5.1. 서비스 제어

서비스에 대한 제어는 OS에서 제공하는 서비스 제어 명령에 따라 다르게 수행됩니다. 다음은 서비스 제어 명령에 대해 OS별로 구분하여 설명하였습니다.

5.1.1. 서비스 기동

Code Block
titleWindows
c:\>sc start drxsvc 
Code Block
titleLinux
# CentOS 7 
[root@node1 ~]# systemctl start drxsvc
# CentOS 6
[root@node1 ~]# service drxsvc start 

5.1.2. 서비스 중지

Code Block
titleWindows
c:\>sc stop drxsvc 
Code Block
titleLinux
# CentOS 7 
[root@node1 ~]# systemctl stop drxsvc
# CentOS 6
[root@node1 ~]# service drxsvc stop

5.1.3 와치독

DRX 서비스는 DRX 프로세스에 대한 관리를 위해 DRX 와치독을 내장합니다. 와치독은 다음과 같은 상황에서 DRX 프로세스의 이상 종료를 감지할 경우 DRX를 재 기동 시키는 역할을 합니다.

  • DRX 프로세스가 예기치 않게 종료된 경우
  • "drx-ctl shutdown" 명령어를 사용하여 DRX를 종료시킨 경우 

이러한 와치독에 의한 재기동은 DRX 로그에 상시 기록되어 이력으로 남겨집니다.

DRX 프로세스가 일반적인 상황에서 종료되면 와치독에 의해서 자동 재기동되기 때문에 DRX 프로세스를 완전히 종료시키기 위해선 DRX 서비스 중지를 통해 종료해야 합니다.

5.2. 리소스 제어

리소스를 개별적으로 제어하려면 drx-ctl 의 up/down 명령을 이용해야 합니다. drx-ctl 의 all 옵션을 통해 모든 리소스의 기동/중지를 수행할 수도 있습니다.

Info
  • drx-ctl 의 up 과 drbdadm 에서 제공하는 up 은 기능적으로 의미가 다릅니다. drbdadm 의 up은 리소스의 복제 대상 장치 및 복제연결을 준비하는 과정을 수행하는 명령이고 drx-ctl 의 up 은 복제 연결을 중개하는 채널을 생성하는 명령입니다. 
  • 절차적으로는 drx-ctl up 이후 drbdadm up 의 순서로 수행하는게 좋습니다. DRX 중개 채널을 미리 준비해 둔 상태에서 drbd 양노드 간의 연결이 수행되어야 복제 연결에 대한 지연이 줄어 듭니다.

5.2.1. 리소스 기동

Info
iconfalse
drx-ctl up [resource or all]

5.2.2. 리소스 중지

Info
iconfalse
drx-ctl down [resource or all]

5.2.3 리소스 자동 시작

시스템이 재기동할 경우 DRX 서비스가 시작되면서 DRX 리소스를 자동 기동합니다. 그러나 운영 환경에 따라 리소스를 자동 시작하지 않도록 해야할 필요가 있습니다. 다음의 구성파일 설정으로 리소스가 시스템 시작시 자동 기동하지 않도록 설정할 수 있습니다.

Code Block
resource r0 {
	proxy {
    	plugin {
      		svc-autostart no;
    	}
  	}
}

5.3. 설정 변경

DRX의 설정은 구성파일의 내용을 변경하거나 drx-ctl set 명령을 통해 변경할 수 있습니다.

Info

DRX는 설정을 변경하기 위해서 리소스 파일을 수정하거나 변경사항을 파일에 적용하는 명령을 제공하지 않습니다. 리소스 파일에 대한 수정은 사용자에 의한 수작업을 전제로 합니다.

5.3.1. 정적 설정 변경

사용자가 직접 drbd.conf 와 drx.conf 구성파일의 내용을 변경하고 리소스를 재시작하여 적용하는 방식을 정적 설정 변경 방식이라고 합니다. 

정적 설정의 방법과 세부 설정은 4. 구성 의 내용을 참고하세요. 

5.3.2. 동적 설정 변경

drx-ctl set 명령을 통해 운영중에 실시간 설정을 변경하는 방식을 동적 설정 변경 방식이라고 합니다. set 명령의 설정은 실제 리소스 구성파일의 내용에 반영되지 않으며 임시설정의 의미를 가집니다.

...

themeDJango
titleup
collapsetrue

...

Table of Contents

복제 리소스는 수동으로 명령형 유틸리티를 통해 개별적으로 시작할 수도 있고, 설치 과정에서 미리 준비한 DRX 서비스를 통해 리소스를 한 번에 모두 자동 시작 시킬 수도 있습니다.

서비스

OS에서 제공하는 서비스 제어 명령에 맞게 수행합니다.

Info

drx 1.4 이후로 drx 서비스 명이 drxsvc 에서 drx 로 변경되었습니다. 아래 설명하는 예제들에서 drxsvc 서비스 명을 drx 로 변경하여 수행하세요.


시작

Code Block
titleWindows
c:\>sc start drxsvc


Code Block
titleLinux
# CentOS 7 
[root@node1 ~]# systemctl start drxsvc
# CentOS 6
[root@node1 ~]# service drxsvc start 


조회

서비스 제어 명령을 사용하여 drxsvc 서비스의 상태를 확인합니다.

Windows

Info
sc query drxsvc

Linux

Info

<CentOS 6.x>

service drxsvc status 


<CentOS 7.x>

systemctl status drxsvc 


중지

Code Block
titleWindows
c:\>sc stop drxsvc 


Code Block
titleLinux
# CentOS 7 
[root@node1 ~]# systemctl stop drxsvc
# CentOS 6
[root@node1 ~]# service drxsvc stop


와치독

DRX 서비스는 DRX 프로세스 관리를 위해 DRX 와치독을 내장합니다. 와치독은 다음과 같은 상황에서 DRX 프로세스의 이상 종료를 감지할 경우 DRX를 재기동 시킵니다.

  • DRX 프로세스가 예기치 않게 종료된 경우
  • "drx-ctl shutdown" 명령어를 사용하여 DRX를 종료시킨 경우 

이러한 와치독에 의한 재기동은 DRX 로그에 상시 기록되어 이력으로 남겨집니다.

DRX 프로세스가 일반적인 상황에서 종료되면 와치독에 의해서 자동 재기동되기 때문에 DRX 프로세스를 완전히 종료시키기 위해선 DRX 서비스 중지를 통해 종료해야 합니다.

와치독 없이 DRX를 기동하려면 DRX를 foreground 모드로 시작해야 합니다.


리소스

리소스를 개별적으로 제어하려면 drx-ctl 의 up/down 명령을 이용해야 합니다. drx-ctl 의 all 옵션을 통해 모든 리소스의 기동/중지를 수행할 수도 있습니다.

drx 리소스는 복제 연결을 중개하는 리소스 입니다. 복제 리소스와는 기능적으로 차이가 있으므로 혼동하지 말아야 합니다. 예를 들어 bsradm up은 복제 리소스를 시작하는 명령이고 drx-ctl up 은 복제 연결의 중개를 시작하는 명령입니다. 

Info

절차적으로는 drx-ctl up 이후 bsradm up 의 순서로 수행하는게 좋습니다. DRX 중개 채널을 미리 준비해 두고 양 노드의 복제 연결을 수립하는 것이 연결 지연을 줄이는 데 좋습니다.

시작

중개 연결을 시작하는 명령입니다.

Info
iconfalse
drx-ctl up [resource or all]

중지

중개 연결을 중지하는 명령입니다.

Info
iconfalse
drx-ctl down [resource or all]

자동 시작

DRX 리소스들은 DRX 서비스 기동에 의해 자동 시작됩니다. 그러나 때에 따라 리소스를 서비스에 의해 자동 시작하지 않도록 해야할 필요가 있습니다. 다음의 구성파일 설정으로 서비스 시작 시 리소스가 자동 기동하지 않도록 설정할 수 있습니다.

Code Block
resource r0 {
	proxy {
    	plugin {
      		svc-autostart no;
    	}
  	}
}


조회

다음은 복제 리소스의 상태와 정보를 조회하는 drx-ctl 명령에 대한 설명입니다.

Info

명령은 기본적으로 리소스를 단위로 하지만 일부는 리소스 없이 연결명만 지정하는 명령도 있습니다.

콘솔 출력의 단위는 Kilo Bytes 이며 생략합니다.

명령어 설명출력 예시 (단위는 KiloBytes)

drx-ctl version

drx-ctl ver

버전 정보


Code Block
themeDJango
titleversion
collapsetrue
< 개발 버전 >
[root@c69-r1 dgkim]# drx-ctl ver
drx     : Test version: Nov 29 2018, 16:13:46

[root@c69-r1 dgkim]#

< 배포(TEST빌드) 버전 >
[root@c69-r1 dgkim]# drx-ctl ver
drx     : 1.2(2018-11-29_16-52-41_TEST1) GIT-hash: b62c996 Nov 29 2018, 16:55:04

[root@c69-r1 dgkim]#


drx-ctl license

drx-ctl lic

라이선스 정보


Code Block
themeDJango
titlelicense
collapsetrue
[root@c73-p1 bsr.d]# drx-ctl lic
Product type : DRX
License status : Temporary, Expire date: 30-nov-2018, Validity day: 9

[root@c73-p1 bsr.d]#


drx-ctl dump [resource or all]


리소스 파일, drx.conf 파일의 덤프

  • drx.conf의 내용은 "<DRX configuration>"에 출력되며 ini형식(이름=값)으로 출력됩니다. 


Code Block
themeDJango
titledump
collapsetrue
[root@c73-p1 bsr.d]# drx-ctl dump all
# /etc/bsr.conf
global {
    usage-count yes;
}

common {
}

# resource r0 on c73-p1: ignored, not stacked
# defined at /etc/bsr.d/r0.res:1
resource r0 {
    device               /dev/bsr0 minor 0;
    disk                 /dev/sdd1;
    meta-disk        /dev/sdb1;
    on c74-1 {
        node-id 1;
    }
    on c74-3 {
        node-id 3;
    }
    connection DR-1-3 {
        host c74-1         address         ipv4 31.1.1.164:6677         via proxy on c73-p1 {
            inside           ipv4 31.1.1.191:6678;
            outside          ipv4 31.1.1.191:6679;
        }
        host c74-3         address         ipv4 31.1.1.166:6677         via proxy on c73-p2 {
            inside           ipv4 31.1.1.192:6678;
            outside          ipv4 31.1.1.192:6679;
        }
    }
    net {
        protocol           A;
        on-congestion    pull-ahead;
        sndbuf-size      10M;
        congestion-fill  480M;
    }
    proxy {
        memlimit         500M;
    }
}

# resource r0-1 on c73-p1: ignored, not stacked
# defined at /etc/bsr.d/r0.res:36
resource r0-1 {
    device               /dev/bsr1 minor 1;
    disk                 /dev/sdd2;
    meta-disk        /dev/sdb2;
    on c74-2 {
        node-id 2;
    }
    on c74-3 {
        node-id 3;
    }
    connection DR-2-3 {
        host c74-2         address         ipv4 31.1.1.165:6680         via proxy on c73-p1 {
            inside           ipv4 31.1.1.191:6681;
            outside          ipv4 31.1.1.191:6682;
        }
        host c74-3         address         ipv4 31.1.1.166:6680         via proxy on c73-p2 {
            inside           ipv4 31.1.1.192:6681;
            outside          ipv4 31.1.1.192:6682;
        }
    }
    net {
        protocol           A;
        on-congestion    pull-ahead;
        sndbuf-size      10M;
        congestion-fill  480M;
    }
    proxy {
        memlimit         500M;
    }
}


<DRX configuration>
lang=korean
proxy-type=1
loglevel-file=debug

[root@c73-p1 bsr.d]#


drx-ctl show [connection name or all] 현재 적용된 설정 값
  • 전역 설정 항목은 "<DRX configuration>"에 출력되며 ini형식(이름=값)으로 출력됩니다. 


  • 노드 설정 항목은 가독성을 위해서 테이블 형식으로 출력됩니다. 
Code Block
themeDJango
titleshow
collapsetrue
[root@c73-p1 dgkim]# drx-ctl show all
-----------------------------------------------------------------------
Name                 bwlimit min-raw-block-size compress level crypto  
-----------------------------------------------------------------------
DR-1-3-c73-p2-c73-p1 0       0                  NONE     9     OPENSSL 
-----------------------------------------------------------------------
DR-2-3-c73-p2-c73-p1 0       0                  LZ4      1     NONE    
-----------------------------------------------------------------------
<DRX configuration>
language=korean
base-dir=not set
bsr-conf=not set
connect-timeout=10
loglevel-file=debug
loglevel-stdout=info
logfile-max-size=10.00 MB
logfile-max-count=10
performance-log-enable=disable
ip-verification=on
process-thread-count=auto

[root@c73-p1 dgkim]#


drx-ctl memusage [connection name or all] 

drx-ctl mem [connection name or all] 

리소스의 버퍼 메모리 정보


Code Block
themeDJango
titlememusage
collapsetrue
< 일반 모드 >
[root@c73-p1 dgkim]# drx-ctl mem all
--------------------------------------------------------------------------------------
Name                 Capacity Use (Size)                                  Full Counts 
--------------------------------------------------------------------------------------
DR-1-3-c73-p2-c73-p1 716800   [>>>>>>>.....................] 23% (163277) 0           
                     10240    [............................]  0% (0)      -           
--------------------------------------------------------------------------------------
DR-2-3-c73-p2-c73-p1 512000   [............................]  0% (0)      0           
                     10240    [............................]  0% (0)      -           
--------------------------------------------------------------------------------------
 Active bab counts : 2

<상세 모드>
[root@c73-p1 dgkim]# drx-ctl mem all -v
----------------------------------------------------------------------------------------------------------
Name                 Capacity Begin     End       Use (Size)                                  Full Counts 
----------------------------------------------------------------------------------------------------------
DR-1-3-c73-p2-c73-p1 716800   340236152 504137496 [>>>>>>>.....................] 22% (160060) 0           
                     10240    0         0         [............................]  0% (0)      -           
----------------------------------------------------------------------------------------------------------
DR-2-3-c73-p2-c73-p1 512000   64273922  64273922  [............................]  0% (0)      0           
                     10240    0         0         [............................]  0% (0)      -           
----------------------------------------------------------------------------------------------------------
 Active bab counts : 2
----------------------------------------------------------------------------------------------------------
name                 Latency    cur             avg             max             min             
----------------------------------------------------------------------------------------------------------
DR-1-3-c73-p2-c73-p1 TX BAB     00:00:00.000000 00:00:00.443516 00:00:06.765142 00:00:00.000101 
                     RX BAB     00:00:00.000000 00:00:00.000000 00:00:00.000000 00:00:00.000000 
                     Compress   00:00:00.000088 00:00:00.000087 00:00:00.001439 00:00:00.000001 
                     Decompress 00:00:00.000000 00:00:00.000000 00:00:00.000000 00:00:00.000000 
----------------------------------------------------------------------------------------------------------
DR-2-3-c73-p2-c73-p1 TX BAB     00:00:00.000000 00:00:00.001627 00:00:00.004173 00:00:00.000261 
                     RX BAB     00:00:00.000000 00:00:00.000000 00:00:00.000000 00:00:00.000000 
                     Compress   00:00:00.000000 00:00:00.000113 00:00:00.001440 00:00:00.000001 
                     Decompress 00:00:00.000000 00:00:00.000000 00:00:00.000000 00:00:00.000000 
----------------------------------------------------------------------------------------------------------
 Active bab counts : 2
[root@c73-p1 dgkim]#


drx-ctl statistics [connection name or all]

drx-ctl st [connection name or all]

각종 통계치 출력
  • 사용자가 원하는 column만을 출력하는 옵션 : --filter
  • 압축률(ratio)는 소수점 둘째 자리까지 출력합니다. 압축률(ratio)는 원본 사이즈를 압축 결과 사이즈로 나누기에 소수점이 출력되야 가독성이 좋습니다. 
Code Block
themeDJango
titlestatistics
collapsetrue
< 일반 모드 > 
C:\Users\Administrator>drx-ctl st all
---------------------------------------------------------------
name              type tx rx ratio cp-avg ec-avg dc-avg de-avg
---------------------------------------------------------------
w1-w2-w16-2-w16-1 meta 0  0
w1-w2-w16-2-w16-1 data 0  0  0.00  0      0      0      0
---------------------------------------------------------------
 All connections : 2, Established : 2

C:\Users\Administrator>

< 상세 모드 >
C:\Users\Administrator>drx-ctl st all -v
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
name              type tx rx t-raw t-net r-raw r-net ratio cur  best worst cp-avg cp-cur cp-min cp-max ec-avg ec-cur ec-min ec-max dc-avg dc-cur dc-min dc-max de-avg de-cur de-min de-max
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
w1-w2-w16-2-w16-1 meta 0  0
w1-w2-w16-2-w16-1 data 90 0  63118 63135 0     0     0.00  0.00 0.00 0.00  0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 All connections : 2, Established : 2

C:\Users\Administrator>

< 사용자 출력 모드 >
C:\Users\Administrator>drx-ctl st all -v --filter=name,tx,rx,cp-avg,cp-cur,cp-min,cp-max
----------------------------------------------------
name              tx rx cp-avg cp-cur cp-min cp-max
----------------------------------------------------
w1-w2-w16-2-w16-1 0  0
w1-w2-w16-2-w16-1 0  0  0      0      0      0
----------------------------------------------------
 All connections : 2, Established : 2

C:\Users\Administrator>

Image Added

drx-ctl connections [connection name or all]

drx-ctl co [connection name or all]

리소스의 연결 정보


Code Block
themeDJango
titleconnections
collapsetrue
< 일반 모드 >
[root@74qat-p1 ~]# drx-ctl co all
-------------------------------------------------------------------------------------------------
Name                 Type local-bsr-ip State          local-drx-ip State          remote-drx-ip
-------------------------------------------------------------------------------------------------
r0-74qat-p2-74qat-p1 meta (local-bsr)  -established-> (local-drx)  <-bridged----- (remote-drx)
r0-74qat-p2-74qat-p1 data (local-bsr)  <-established- (local-drx)  -----bridged-> (remote-drx)
-------------------------------------------------------------------------------------------------
 All connections : 2, Established : 2
[root@74qat-p1 ~]#

< 상세 모드 >
[root@74qat-p1 ~]# drx-ctl co all -v
----------------------------------------------------------------------------------------------------------------------------------
Name                 Type local-bsr-ip   State       local-drx-ip                    State   remote-drx-ip   Up since
----------------------------------------------------------------------------------------------------------------------------------
r0-74qat-p2-74qat-p1 meta 31.1.1.121:8800 established 31.1.1.138:8801/31.1.1.138:8802 bridged 31.1.1.139:8802 -
r0-74qat-p2-74qat-p1 data 31.1.1.121:8800 established 31.1.1.138:8801/31.1.1.138:8802 bridged 31.1.1.139:8802 2018-11-23 18:07:49
----------------------------------------------------------------------------------------------------------------------------------
 All connections : 2, Established : 2
[root@74qat-p1 ~]#



설정

DRX의 설정은 구성파일의 내용을 직접 변경해서 적용하거나 drx-ctl set 명령을 통해 변경할 수 있습니다.

정적 설정

사용자가 직접 bsr.conf 와 drx.conf 구성파일의 내용을 변경하고 adjust 명령을 통해 리소스를 재 시작하여 적용 합니다.

명령설명출력 예
drx-ctl adjust [resource or all] 설정 갱신, 중지된 리소스 기동


Code Block
themeDJango
titleadjust
collapsetrue
[root@c73-p1 bsr.d]# drx-ctl adjust all
DR-1-3-c73-p2-c73-p1: up.
DR-2-3-c73-p2-c73-p1: up.
Result: 2 resource(s) updated.

[root@c73-p1 bsr.d]#


동적 설정

drx-ctl set 명령을 통해 운영중에 실시간으로 설정을 변경할 수 있습니다. set 명령은 실제 리소스 구성파일의 내용을 변경하지는 않기 떄문에 drx 가 재 시작되면 동적 설정 전의 구성파일의 설정으로 돌아가므로 임시적인 설정이라고 할 수 있습니다.

upr0up1up<모든리소스 up > [root@c73-p1 dgkim]# drx-ctl up all up. up. Result: 2 resource(s) up. [root@c73-p1 dgkim]#
명령설명출력 예
drx-ctl set compress [type] [level] [connection name] 

압축 플러그인 설정

  • type
    • NONE 
    • ZLIB
    • LZ4
  • level: 1~9


Code Block
themeDJango
titleset compress
collapsetrue
< 리소스 r0만 압축 플러그인을 LZ4로 설정 >
[root@c73-p1 dgkim]# drx-ctl set compress lz4 1 DR-1-3-c73-p2-c73-p1
Result: 1 resource(s) updated.

[root@c73-p1 dgkim]#

<로그 출력>
I1126 17:31:10.271886 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor: LZ4
I1126 17:31:10.271918 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor level: 1
I1126 17:31:10.271924 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor: LZ4
I1126 17:31:10.271925 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor level: 1


< 리소스 r0의 압축 플러그인을 비활성화 >
[root@c73-p1 dgkim]# drx-ctl set compress none 1 DR-1-3-c73-p2-c73-p1
DR-1-3-c73-p2-c73-p1: updated.
Result: 1 resource(s) updated.

[root@c73-p1 dgkim]#

<로그 출력>
I1126 17:31:37.741765 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor: NONE
I1126 17:31:37.741795 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor level: 1
I1126 17:31:37.741800 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor: NONE
I1126 17:31:37.741802 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor level: 1



< 모든(2개) 리소스의 압축 플러그인을 LZ4로 설정 >
[root@c73-p1 dgkim]# drx-ctl set compress lz4 1 all
Result: 2 resource(s) updated.

[root@c73-p1 dgkim]#

<로그 출력>
I1126 17:32:30.656067 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor: LZ4
I1126 17:32:30.656089 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor level: 1
I1126 17:32:30.656095 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor: LZ4
I1126 17:32:30.656118 t77473 DR-2-3-c73-p2-c73-p1:am] Set compressor: LZ4
I1126 17:32:30.656096 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor level: 1
I1126 17:32:30.656133 t77473 DR-2-3-c73-p2-c73-p1:am] Set compressor level: 1
I1126 17:32:30.656138 t77473 DR-2-3-c73-p2-c73-p1:cd] Set compressor: LZ4
I1126 17:32:30.656139 t77473 DR-2-3-c73-p2-c73-p1:cd] Set compressor level: 1


drx-ctl set crypto [on or off] [connection name] 암호화 설정


Code Block
themeDJango
titleset crypto
collapsetrue
< 리소스 r0만 암호화 플러그인을 활성화 > 
[root@c73-p1 dgkim]# drx-ctl set crypto on DR-1-3-c73-p2-c73-p1
DR-1-3-c73-p2-c73-p1: updated.
Result: 1 resource(s) updated.

[root@c73-p1 dgkim]#

<로그 출력>
I1126 17:10:10.611963 t77473 DR-1-3-c73-p2-c73-p1:ad] Set crypto: OPENSSL
I1126 17:10:10.611987 t77473 DR-1-3-c73-p2-c73-p1:cm] Set crypto: OPENSSL


< 모든 리소스의 암호화 플러그인을 활성화 > 
[root@c73-p1 dgkim]# drx-ctl set crypto on all
DR-2-3-c73-p2-c73-p1: updated.
Result: 2 resource(s) updated.

[root@c73-p1 dgkim]#

<로그 출력>
I1126 17:08:26.156687 t77473 DR-1-3-c73-p2-c73-p1:ad] Set crypto: OPENSSL
I1126 17:08:26.156713 t77473 DR-2-3-c73-p2-c73-p1:am] Set crypto: OPENSSL
I1126 17:08:26.156702 t77473 DR-1-3-c73-p2-c73-p1:cm] Set crypto: OPENSSL
I1126 17:08:26.156719 t77473 DR-2-3-c73-p2-c73-p1:cd] Set crypto: OPENSSL


< 모든 리소스의 암호화 플러그인을 비활성화 > 
[root@c73-p1 dgkim]# drx-ctl set crypto 
off 
all
DR-1-3-c73-p2-c73-p1: updated.
DR-2-3-c73-p2-c73-p1: 
updated.
Result: 
2 resource(s) 
updated.

[root@c73-p1 dgkim]# 

<로그 
출력>
I1206 14:12:59.701227 t81344 DR-1-3-c73-p2-c73-p1:am] Set crypto: NONE
I1206 14:12:59.701250 t81344 DR-1-3-c73-p2-c73-p1:cd] Set crypto:
 NONE
I1206 14:12:59.701305 t81344 DR-2-3-c73-p2-c73-p1:
drx-ctl down [resource or all]리소스 중지"
Code Block
themeDJango
titledown
collapsetrue
< 개별 리소스 down >
[root@c73-p1 dgkim]# drx-ctl down r0
DR-1ad] Set crypto: NONE
I1206 14:12:59.701315 t81344 DR-2-3-c73-p2-c73-p1:cm] resource down.
ResultSet crypto: 1NONE
resource(s) down.

[root@c73-p1 dgkim]#

< 모든 리소스 down


drx-ctl set bwlimit [limit] [connection name] B/W를 설정


Code Block
themeDJango
titleset bwlimit
collapsetrue
< 리소스 r0의 B/W를 1G로 설정 >
[root@c73-p1 dgkim]# drx-ctl set downbwlimit all1G DR-1-3-c73-p2-c73-p1: resource down.
DR-21-3-c73-p2-c73-p1: resource downupdated.
Result: 21 resource(s) downupdated.

[root@c73-p1 dgkim]#

drx-ctl adjust [resource or all] 설정 갱신, 중지된 리소스 기동"
Code Block
themeDJango
titleadjust
collapsetrue
[root@c73-p1 drbd.d]# drx-ctl adjust all<로그 출력>
I1126 17:21:11.633557 t77473 DR-1-3-c73-p2-c73-p1: up.-p1:ad] Set bandwidth limit: 1.00 GB
I1126 17:21:11.633573 t77473 DR-21-3-c73-p2-c73-p1:cm] up.Set Result: 2 resource(s) updated.

[root@c73-p1 drbd.d]#
drx-ctl set compress [type] [level] [connection name] 

압축 플러그인 설정

  • type
    • NONE 
    • ZLIB
    • LZ4
  • level: 1~9
"
Code Block
themeDJango
titleset compress
collapsetrue
< 리소스 r0만 압축 플러그인을 LZ4로bandwidth limit: 1.00 GB


< 모든 리소스의 B/W를 100M로 설정 >
[root@c73-p1 dgkim]# drx-ctl set bwlimit compress100M lz4all
DR-1-3-c73-p2-c73-p1: updated.
DR-12-3-c73-p2-c73-p1: updated.
Result: 12 resource(s) updated.

[root@c73-p1 dgkim]#

<로그 출력>

[root@c73-p1 dgkim]#

<로그 출력>
I1126 17:20:55.431890 t77473 DR-1-3-c73-p2-c73-p1:ad] Set bandwidth limit: 100.00 MB
I1126 17:3120:1055.271886431916 t77473 DR-1-3-c73-p2-c73-p1:adcm] Set bandwidth compressorlimit: 100.00 LZ4MB
I1126 17:3120:1055.271918431964 t77473 DR-12-3-c73-p2-c73-p1:adam] Set compressorbandwidth levellimit: 100.00 1MB
I1126 17:3120:1055.271924431984 t77473 DR-12-3-c73-p2-c73-p1:cm] Set compressor: LZ4
I1126 17:31:10.271925 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor level: 1


< 리소스 r0의 압축 플러그인을 비활성화 >
[root@c73-p1 dgkim]# drx-ctl set compress none 1 DR-1-3-c73-p2-c73-p1
DR-1-3-c73-p2-c73-p1: updated.
Result: 1 resource(s) updated.

[root@c73-p1 dgkim]#

<로그 출력>
I1126 17:31:37.741765 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor: NONE
I1126 17:31:37.741795 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor level: 1
I1126 17:31:37.741800 t77473-c73-p1:cd] Set bandwidth limit: 100.00 MB


drx-ctl set license [file-path]라이선스 정보를 변경
  • 지정한 경로의 라이선스 유효성을 확인한 후, 기본 경로의 라이선스 정보를 변경합니다. 
  • 유효한 라이선스로 변경시 리소스의 연결을 유지해야하므로 DRX 프로세스의 동작을 변경하지 않습니다. 
Code Block
themeDJango
titleset license
collapsetrue
C:\Users\Administrator>drx-ctl set license drx.lic
License status : Temporary, Expire date: 30-nov-2018, Validity day: 4
Result: done.


C:\Users\Administrator>

<로그 출력>
I1127 09:28:40.374185 t5880 main] Verify license is available
I1127 09:28:40.374185 t5880 main:license] Checking license for [C:\Users\Administrator\drx.lic]
I1127 09:28:40.374185 t5880 main:license] License Status: Temporary, Expire date: 30-nov-2018, Validity day: 4
I1127 09:28:40.389865 t5880 main] License applied


drx-ctl reset statistics [connection name or all] 

drx-ctl reset st [connection name or all] 

통계값 초기화


Code Block
themeDJango
titlereset statistics
collapsetrue
< 리소스 r0만 통계값을 초기화 >
[root@c73-p1 dgkim]# drx-ctl reset st DR-1-3-c73-p2-c73-p1:cm] Set compressor: NONE
I1126 17:31:37.741802 t77473
DR-1-3-c73-p2-c73-p1:cm] Set compressor level: 1



< 모든(2개) 리소스의 압축 플러그인을 LZ4로 설정 >
[root@c73-p1 dgkim]# drx-ctl set compress lz4 1 all-c73-p1: reseted.
Result: 21 resource(s) updatedreseted.

[root@c73-p1 dgkim]#

< <로그모든 출력>리소스의 I1126 17:32:30.656067 t77473 DR-1-3-c73-p2-c73-p1:ad] Set compressor: LZ4
I1126 17:32:30.656089 t77473 통계값을 초기화 >
[root@c73-p1 dgkim]# drx-ctl reset st all
DR-1-3-c73-p2-c73-p1:ad] Set compressor level: 1
I1126 17:32:30.656095 t77473 reseted.
DR-12-3-c73-p2-c73-p1:cm] Set compressor: LZ4
I1126 17:32:30.656118 t77473 DR-2-3-c73-p2-c73-p1:am] Set compressor: LZ4
I1126 17:32:30.656096 t77473 DR-1-3-c73-p2-c73-p1:cm] Set compressor level: 1
I1126 17:32:30.656133 t77473 DR-2: reseted.
Result: 2 resource(s) reseted.

[root@c73-p1 dgkim]#



이벤트

drx 엔진에서 발생하는 이벤트를 실시간 수신할 수 있습니다.

명령어설명출력 예시
drx-ctl events [connection name or all]실시간 이벤트 출력


Code Block
themeDJango
titleevents
collapsetrue
< 공용 이벤트만 수신 >
[root@c73-p1 bsr.d]# drx-ctl events 
[system] connected
[2018-11-27 11:22:38.933] start common


< 입력한 연결의 이벤트만 수신 >
[root@c73-p1 bsr.d]# drx-ctl events DR-1-3-c73-p2-c73-p1
:am] Set compressor level: 1 I1126 17:32:30.656138 t77473 DR-2-3-c73-p2-c73-p1:cd] Set compressor: LZ4 I1126 17:32:30.656139 t77473 DR-2-3-c73-p2-c73-p1:cd] Set compressor level: 1 drx-ctl set crypto [on or off] [connection name] 암호화 설정"

[system] connected


< 모든 이벤트를 수신 >
[root@c73-p1 bsr.d]# drx-ctl events all
[system] connected
[2018-11-27 10:43:12.831] start common



이벤트 통지 목록입니다.

이벤트타입설명
공통start이벤트 통지 시작


Code Block
themeDJango
titlestart
collapsetrue
[root@c73-p1 bsr.d]# drx-ctl events 
[system] connected
[2018-11-27 11:22:38.933] start common


stop이벤트 통지 종료


Code Block
themeDJango
title
set crypto
stop
collapsetrue
< 리소스 r0만 암호화 플러그인을 활성화 > [root@c73-p1 dgkim]# drx-ctl set crypto on DR-1-3-c73-p2-c73-p1 DR-1-3-c73-p2-c73-p1: updated. Result: 1 resource(s) updated. [root@c73-p1 dgkim]# <로그 출력> I1126 17:10:10.611963 t77473 DR-1-3-c73-p2-c73-p1:ad] Set crypto: OPENSSL I1126 17:10:10.611987 t77473 DR-1-3-c73-p2-c73-p1:cm] Set crypto: OPENSSL < 모든 리소스의 암호화 플러그인을 활성화 > [root@c73-p1 dgkim]# drx-ctl set crypto on all DR-2-3-c73-p2-c73-p1: updated. Result: 2 resource(s) updated. [root@c73-p1 dgkim]# <로그 출력> I1126 17:08:26.156687 t77473
[2018-11-27 11:12:39.098] stop common


shutdown명령어로 종료


Code Block
themeDJango
titleshutdown
collapsetrue
[2018-11-27 11:12:39.076] shutdown success


set license설정한 라이선스
  • 임시(temporary), 정식(permanent), 유효하지 않은 라이선스(invalid)
Code Block
themeDJango
titleset license
collapsetrue
[2018-11-27 13:17:58.806] set license temporary


set loglevel로그 레벨(파일, 콘솔)


Code Block
themeDJango
titleset loglevel
collapsetrue
[2018-11-27 13:44:31.681] set loglevel-file trace
[2018-11-27 13:44:41.496] set loglevel-file debug
[2018-11-27 13:44:44.328] set loglevel-file info
[2018-11-27 13:44:46.088] set loglevel-file warning
[2018-11-27 13:44:47.968] set loglevel-file error
[2018-11-27 13:44:48.104] set loglevel-file critical
[2018-11-27 13:44:57.776] set loglevel-file off


개별up활성화


Code Block
themeDJango
titleup
collapsetrue
[2018-11-27 13:50:29.151] up DR-1-3-c73-p2-c73-p1
:ad] Set crypto: OPENSSL I1126 17:08:26.156713 t77473 DR-2
 success


down비활성화


Code Block
themeDJango
titledown
collapsetrue
[2018-11-27 13:46:37.141] down DR-1-3-c73-p2-c73-p1
:am] Set crypto: OPENSSL I1126 17:08:26.156702 t77473 DR-1-3-c73-p2-c73-p1:cm] Set crypto: OPENSSL I1126 17:08:26.156719 t77473 DR-2
 success


acceptIP Accept 결과


Code Block
themeDJango
titleaccetp state
collapsetrue
[2018-11-27 13:50:29.659] drx_accept DR-1-3-c73-p2-c73-p1
:cd] Set crypto: OPENSSL < 모든 리소스의 암호화 플러그인을 비활성화 > [root@c73-p1 dgkim]# drx-ctl set crypto off all
 31.1.1.192:33476
[2018-11-27 13:50:34.298] bsr_accept DR-1-3-c73-p2-c73-p1 31.1.1.164:
updated.
40557


conn연결 상태와 결과


Code Block
themeDJango
titleconn state
collapsetrue
[2018-11-27 14:23:39.120] acceptor_state DR-
2
1-3-c73-p2-c73-p1
: updated. Result: 2 resource(s) updated. [root@c73-p1 dgkim]# <로그 출력> I1206 14:12:59.701227 t81344
 bridging
[2018-11-27 14:23:39.121] connector_state DR-1-3-c73-p2-c73-p1
:am]
 
Set crypto: NONE I1206
bridging
[2018-11-27 14:
12
23:
59
39.
701250 t81344
123] connector_state DR-1-3-c73-p2-c73-p1
:cd]
 
Set crypto: NONE I1206
bridged
[2018-11-27 14:
12
23:
59
39.
701305 t81344
222] connector_state DR-
2
1-3-c73-p2-c73-p1
:ad]
 
Set crypto: NONE I1206 14:12:59.701315 t81344 DR-2
connecting
[2018-11-27 14:23:39.328] acceptor_state DR-1-3-c73-p2-c73-p1
:cm] Set crypto: NONE drx-ctl set bwlimit [limit] [connection name] B/W를 설정" Code Block
themeDJango
titleset bwlimit
collapsetrue
< 리소스 r0의 B/W를 1G로 설정 > [root@c73-p1 dgkim]# drx-ctl set bwlimit 1G
 bridged
[2018-11-27 14:23:39.422] acceptor_state DR-1-3-c73-p2-c73-p1 waiting
[2018-11-27 14:23:43.960] acceptor_state DR-1-3-c73-p2-c73-p1 connected
[2018-11-27 14:23:43.960] acceptor_state DR-1-3-c73-p2-c73-p1
: updated. Result: 1 resource(s) updated. [root@c73-p1 dgkim]# <로그 출력> I1126 17:21:11.633557 t77473
 establishing
[2018-11-27 14:23:44.038] acceptor_state DR-1-3-c73-p2-c73-p1
:ad]
 
Set bandwidth limit: 1.00 GB I1126 17:21:11.633573 t77473
established
[2018-11-27 14:23:44.069] connector_state DR-1-3-c73-p2-c73-p1
:cm] Set bandwidth limit: 1.00 GB < 모든 리소스의 B/W를 100M로 설정 > [root@c73-p1 dgkim]# drx-ctl set bwlimit 100M all
 establishing
[2018-11-27 14:23:44.069] connector_state DR-1-3-c73-p2-c73-p1 established


set압축 


Code Block
themeDJango
titleset compress
collapsetrue
[2018-11-27 15:27:
updated.
26.895] set DR-
2
1-3-c73-p2-c73-p1
:
 
updated.
compressor 
Result: 2 resource(s) updated. [root@c73-p1 dgkim]# <로그 출력> I1126 17:20:55.431890 t77473
NONE
[2018-11-27 15:27:50.308] set DR-1-3-c73-p2-c73-p1 compressor LZ4 1
[2018-11-27 15:30:34.584] set DR-1-3-c73-p2-c73-p1
:ad]
 
Set
compressor 
bandwidth
ZLIB 
limit: 100.00 MB I1126
1
[2018-11-27 17:
20
48:
55
31.
431916
204] 
t77473
set DR-1-3-c73-p2-c73-p1
:cm]
 
Set
compressor 
bandwidth limit: 100.00 MB I1126 17:20:55.431964 t77473 DR-2
IQA 1


암호화 


Code Block
themeDJango
titleset crypto
collapsetrue
[2018-11-27 17:50:32.851] set DR-1-3-c73-p2-c73-p1
:am]
 
Set
crypto 
bandwidth limit: 100.00 MB I1126
OPENSSL
[2018-11-27 17:
20
50:
55
46.
431984
264] 
t77473
set DR-
2
1-3-c73
-p2-c73-p1:cd] Set bandwidth limit: 100.00 MB drx-ctl set license [file-path]라이선스 정보를 변경"
  • 지정한 경로의 라이선스 유효성을 확인한 후, 기본 경로의 라이선스 정보를 변경합니다. 
  • 유효한 라이선스로 변경시 리소스의 연결을 유지해야하므로 DRX 프로세스의 동작을 변경하지 않습니다. 
    -p2-c73-p1 crypto NONE


    Bandwidth


    Code Block
    themeDJango
    titleset
    licensedrx-ctl reset statistics [connection name or all] 통계값 초기화st
    bwlimit
    collapsetrue
    C:\Users\Administrator>drx-ctl set license drx.lic
    License status : Temporary, Expire date: 30-nov-2018, Validity day: 4
    Result: done.
    
    
    C:\Users\Administrator>
    
    <로그 출력>
    I1127 09:28:40.374185 t5880 main] Verify license is available
    I1127 09:28:40.374185 t5880 main:license] Checking license for [C:\Users\Administrator\drx.lic]
    I1127 09:28:40.374185 t5880 main:license] License Status: Temporary, Expire date: 30-nov-2018, Validity day: 4
    I1127 09:28:40.389865 t5880 main] License applied
    [2018-11-27 17:56:07.698] set DR-1-3-c73-p2-c73-p1 bwlimit 1073741824
    [2018-11-27 17:58:12.380] set DR-1-3-c73-p2-c73-p1 bwlimit 104857600


    reset통계 수치 초기화


    Code Block
    themeDJango
    titlereset statistics
    collapsetrue
    [2018-11-27 17:58:52.962] reset DR-1-3-c73-p2-c73-p1 success


    packet

    송/수신 실패


    Code Block
    themeDJango
    titlepacket error
    collapsetrue
    [2018-11-28 11:12:19.953] packet DR-1-3-c73-p2-c73-p1 receive_fail 15 15


    compress

    실패만 통지


    Code Block
    themeDJango
    title
    reset statistics
    compress error
    collapsetrue
    < 리소스 r0만 통계값을 초기화 > [root@c73-p1 dgkim]# drx-ctl reset st
    [2018-11-28 09:43:04.543] compress DR-1-3-c73-p2-c73-p1 compress_fail 80 1048576 0
    [2018-11-28 10:28:30.629] compress DR-1-3-c73-
    p2
    p1-c73-
    p1: reseted. Result: 1 resource(s) reseted. [root@c73-p1 dgkim]# < 모든 리소스의 통계값을 초기화 > [root@c73-p1 dgkim]# drx-ctl reset st all DR-1
    p2 decompress_fail 47 1048576 0


    crypto

    실패만 통지


    Code Block
    themeDJango
    titlecrypto error
    collapsetrue
    [2018-11-28 10:28:42.186] crypto DR-2-3-c73-p2-c73-p1 encrypto_fail 41 1048576 48
    [2018-11-28 10:28:
    reseted.
    42.081] crypto DR-2-3-c73-
    p2
    p1-c73-
    p1: reseted. Result: 2 resource(s) reseted. [root@c73-p1 dgkim]#
    p2 decrypto_fail 96 1048576 80