Table of Contents |
---|
Info |
---|
|
개요
DRX CLI는 drx-ctl 유틸리티를 통해 제공하며 리소스에 대한 상태 조회, 제어, 통지를 제공합니다.
- 조회 명령은 리소스에 대한 일반적인 요약정보를 출력하며 -v 옵션을 명령줄에 포함할 경우 상세정보를 출력합니다.
- 제어 명령은 DRX 리소스를 시작하고 중지하거나 특정 설정을 변경합니다.
- 통지 명령은 DRX에서 발생하는 실시간 상태 변경 상황을 리소스 단위로 출력하는 명령입니다. 한번 수행하여 종료될 때까지 발생하는 이벤트를 수신하고 그 결과를 콘솔에 출력합니다.
CLI
DRX의 CLI는 조회, 제어, 통지로 분류합니다.
CLI의 명령어 형식은 drx-ctl {옵션} [명령어] [명령어 인자...]입니다. "명령어"와 "명령어 인자"를 통해서 출력 종류가 결정되며 상세 모드(-v) "옵션"은 생략 가능합니다. "명령어 인자"에는 접속 이름(connect name) 또는 리소스(resource)가 들어가고 출력 항목을 지정할 수 있습니다.
목록
분류 | 항목 | 옵션 | 명령 | Alias | 비고 |
---|---|---|---|---|---|
조회 | DRX 버전 | N/A | drx-ctl version | ver | drx 버전 |
DRX 상태 | " | drx-ctl info | - | DRX 프로세스의 기동 또는 중지 상태 | |
라이선스 | " | drx-ctl license | lic | 라이선스 정보 | |
리소스 구성 | " | drx-ctl dump [res|all] | - | 리소스 구성, drx.conf
| |
리소스 구동 | " | drx-ctl show [res|conn|all] | - | 동작중인 설정 정보 | |
연결 | -v | drx-ctl connection [res|conn|all] | co |
| |
통계 | -v | drx-ctl statistics [res|conn|all] | st |
| |
BAB | -v | drx-ctl memusage [res|conn|all] | mem |
| |
로그 | N/A | drx-ctl log [res|conn|all] | - |
| |
제어 | 리소스 up | " | drx-ctl up [res|conn|all] | - | 리소스 기동 |
리소스 down | " | drx-ctl down [res|conn|all] | - | 리소스 중지 | |
리소스 adjust | " | drx-ctl adjust [res|conn|all] | - | 리소스 설정 갱신 및 재 시작 | |
압축 | " | drx-ctl set compress [type] [level] [res|conn|all] | - | 리소스 압축 설정 | |
암호화 | " | drx-ctl set crypto [on or off] [res|conn|all] | - | 리소스 암호화 설정 | |
bwlimit | " | drx-ctl set bwlimit [limit] [res|conn|all] | - |
| |
라이선스 | " | drx-ctl set license [file-path] | - |
| |
통계 초기화 | " | drx-ctl reset statistics [res|conn|all] | st |
| |
통지 | DRX 이벤트 통지 | NA | drx-ctl events {conn|all} | - | 통지 이벤트 |
통지 목록
이벤트 | 유형 | 항목 | 타깃 | DATA | 설명 |
---|---|---|---|---|---|
공통 | 기동 | start | common | [start] | 이벤트 통지 시작 |
stop | common | [stop] | 이벤트 통지 종료 | ||
shutdown | [success or fail] | 명령어에 의한 종료 | |||
적용 | set | license | [temporary, permanent, invalid] | 사용자가 설정한 라이선스 | |
loglevel | [none, trace, debug, info, warning, critical] | 로그 레벨(파일, 콘솔) | |||
개별 | 연결 | up | [connect name ] | [success or fail] | 연결 활성화 결과 |
down | [connect name ] | [success or fail] | 연결 삭제 결과 | ||
[drx or bsr]_accept | [connect name ] | [IP:Port] | accept 결과 | ||
[accept or connector]_state | [connect name ] | [stopped/stopping, waiting, bridging/bridged, connecting/connected, establishing/established] | 연결 상태와 결과 state 주체와 connect name을 추가 | ||
설정 | set | [connect name ] | compressor [none, zlib, lz4] [level] | 압축 설정 | |
[connect name ] | crypto [none, openssl] | 암호화 설정 | |||
[connect name ] | bwlimit [size] | 리소스의 Bandwidth | |||
reset | [connect name ] | [success or fail] | 통계 수치 초기화 | ||
상태 | packet | [connect name ] | [receive_fail] [origin size] [receive size] | 실패만 통지 | |
compress | [connect name ] | [compress or decompress]_fail [origin size] [receive size] [return value] | 실패만 통지 | ||
crypto | [connect name ] | [encrypto or decrypto]_fail [origin size] [receive size] [return value] | 실패만 통지 |
고려사항
- DRX 에 대한 제어명령은 비동기적으로 수행합니다. CLI 제어 명령이 수행되어 반환된 시점에 상태제어가 최종 완료 되었음을 보장하지 않습니다. 따라서 제어명령 수행 이후 조회명령을 통해 정상 수행여부를 확인해야 합니다.
- 상태 변경에 대한 완료 통보가 필요할 경우 통지 명령을 통해 이벤트 수신으로 연계할 수 있습니다.
drx-ctl 명령은 기본적으로 한 번에 하나의 명령만 수행할 수 있습니다. 다수의 명령이 drx로 동시에 전달되면 큐잉된 일부 명령에 대한 타임아웃이 발생할 수 있습니다. 타임아웃을 피하기 위해선 수행한 명령들이 완료 시점을 기준으로 순차적으로 수행하도록 보장해야 합니다.
drx-ctl의 반환값은 아래와 같습니다.
반환값 설명 Windows Linux drx-ctl 0 0 성공 -1 255 실패 -2 254 타임아웃 -3 253 DRX가 실행 안됨(not working) 128 128 잘못된 옵션 (Invalid argument) 리눅스에서는 반환 값이 0~255로 제한되므로 음수 값은 256를 더하여 표현됩니다.
운영
DRX 는 리소스 정보를 파일로 구성하고 drx-ctl 명령을 통해 각 리소스별로 제어합니다.
다음은 복제리소스를 구성하고 기동시키는 일반적인 예입니다.
- 리소스 구성
- DRX 서비스 시작
- BAB사이즈를 잘못 설정해서 재설정
- 리소스 r0 down
- 리소스 r0 의 BAB 사이즈를 700M로 변경
- 리소스 r0 up
- 리소스 r0 down
- 동작중인 리소스에 LZ4 압축 알고리즘을 적용
- "drx-ctl set compress lz4 1 r0" 명령어 입력
- "drx-ctl mem r0" 명령어로 리소스 r0의 BAB 사용률을 확인
- 영구적으로 압축 설정을 적용하기 위해서 리소스 파일에 설정을 추가
사용 예
조회
- drx-ctl version
DRX의 버전 정보를 출력합니다.
Code Block theme DJango title version collapse true < 개발 버전 > [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
라이선스 정보를 출력합니다.
Code Block theme DJango title license collapse true [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 [res|all]
- 리소스의 설정과 drx.conf의 설정을 출력합니다.
- 리소스 구성 파일을 bsradm 유틸에서 처리하기에 resource를 입력합니다.
drx.conf의 내용은 "<DRX configuration>"에 출력되며 ini형식(이름=값)으로 출력됩니다.
Code Block theme DJango title dump collapse true [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 [res|conn|all]
- 프로세스에서 사용중인 설정 값들을 출력합니다.
- 전역 설정 항목은 "<DRX configuration>"에 출력되며 ini형식(이름=값)으로 출력됩니다.
노드 설정 항목은 bwlimit와 min-raw-block-size이며 가독성을 위해서 테이블 형식으로 출력됩니다.
Code Block theme DJango title show collapse true [root@c73-p1 dgkim]# drx-ctl show all ------------------------------------------------ Name bwlimit min-raw-block-size ------------------------------------------------ DR-1-3-c73-p2-c73-p1 1048576 256 ------------------------------------------------ DR-2-3-c73-p2-c73-p1 102400 64 ------------------------------------------------ <DRX configuration> language=korean base-dir=not set bsr-conf=not set connect-timeout=3 init-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 connections [res|conn|all]
- 상세 옵션 : -v
- 리소스의 연결 정보를 출력합니다.
일반 모드 : IP Address 생략, 연결 화살표 출력
- 상세 모드 : IP Address 출력, 연결 화살표 생략
Code Block theme DJango title connections collapse true < 일반 모드 > [root@74-p1 ~]# drx-ctl co all ------------------------------------------------------------------------------------------------- Name Type local-bsr-ip State local-drx-ip State remote-drx-ip ------------------------------------------------------------------------------------------------- r0-74-p2-74-p1 meta (local-bsr) -established-> (local-drx) <-bridged----- (remote-drx) r0-74-p2-74-p1 data (local-bsr) <-established- (local-drx) -----bridged-> (remote-drx) ------------------------------------------------------------------------------------------------- All connections : 2, Established : 2 [root@74-p1 ~]# < 상세 모드 > [root@74-p1 ~]# drx-ctl co all -v ---------------------------------------------------------------------------------------------------------------------------------- Name Type local-bsr-ip State local-drx-ip State remote-drx-ip Up since ---------------------------------------------------------------------------------------------------------------------------------- r0-74-p2-74-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-74-p2-74-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@74-p1 ~]#
- drx-ctl statistics [res|conn|all]
- 일반 모드 : TX, RX 속도, 압축/해제/암호화 평균 Latency를 출력합니다.
- 상세 모드 : TX/RX의 RAW데이터, 압축/해제/암호화의 현재값, 최대값, 최소값 출력합니다.
- 사용자 출력 모드 : 사용자가 원하는 column을 출력합니다.
- Human Readable(B, KB, MB, GB)로 출력되는 단위를 KiloBytes로 고정하며 표기를 생략합니다. KiloBytes 보다 작은 값은 0으로 표기합니다.
- 옵션
- 상세 모드 옵션 : v
- 사용자 출력 옵션 : --filter
- 축약어 설명
축약어 설명 축약어 설명 축약어 설명 tx TX speed ratio compress average ratio ec encrypto rx RX speed cur compress current ratio dc decrypto t-net TX-Network 전송 사이즈 worst compress worst ratio t-raw TX RAW 사이즈 best compress best ratio r-raw RX-Network 전송 사이즈 cp compress r-net RX RAW 사이즈 de decompress Code Block theme DJango title statistics collapse true < 일반 모드 > 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>
- drx-ctl memusage [res|conn|all]
- 리소스의 BAB 정보를 출력합니다.
- Human Readable(B, KB, MB, GB)로 출력되는 단위를 KiloBytes로 고정하며 표기를 생략합니다. KiloBytes 보다 작은 값은 0으로 표기합니다.
- 상세 모드
- 옵션 : v
- 연결된 리소스의 BAB Latency(TX, RX, 압축/해제) 정보를 출력합니다.
Code Block theme DJango title memusage collapse true < 일반 모드 > [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 log [res|conn|all]
- 기록중인 로그의 내용을 출력합니다.
- 옵션
- 옵션을 입력하지 않으면 공통(main) 로그만 출력됩니다.
- 모든 리소스 또는 입력한 리소스의 로그를 출력합니다.
- m : main 로그를 출력합니다.
- n [숫자] : 마지막 n개의 로그를 출력합니다.
Code Block theme DJango title log collapse true < main 로그 출력 > [root@c69-r1 ~]# drx-ctl log Online mode. (main) I1126 08:50:17.448040 t30088 main] Resource create complete (success: 2, failed: 0) ^C[root@c69-r1 ~]# < 리소스별 로그 출력 > [root@c69-r1 ~]# drx-ctl log r0 Online mode. (without main, r0-c69-r2-c69-r1) D1126 08:53:50.977215 t30109 r0-c69-r2-c69-r1:ad:o] <<=== drxp_type::ping ^C[root@c69-r1 ~]# [root@c69-r1 ~]# drx-ctl log r0_1 Online mode. (without main, r0_1-c69-r3-c69-r1) D1126 08:54:08.696168 t30133 r0_1-c69-r3-c69-r1:cd:o] <<=== drxp_type::ping D1126 08:54:14.707857 t30129 r0_1-c69-r3-c69-r1:am:o] ===>> send stream payload_len (16) meta D1126 08:54:14.708035 t30127 r0_1-c69-r3-c69-r1:am:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] D1126 08:54:14.708129 t30128 r0_1-c69-r3-c69-r1:am:o] ===>> send stream payload_len (16) meta D1126 08:54:14.708208 t30127 r0_1-c69-r3-c69-r1:am:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] ^C[root@c69-r1 ~]# < main로그와 모든 리소스의 로그 출력 > [root@c69-r1 ~]# drx-ctl log -m all Online mode. (main, r0-c69-r2-c69-r1, r0_1-c69-r3-c69-r1) D1126 08:54:24.708287 t30126 r0_1-c69-r3-c69-r1:am:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] ^C[root@c69-r1 ~]# [root@c69-r1 ~]# < 마지막 10개의 로그와 모든 리소스(r0, r0_1)의 로그 출력 > [root@c69-r1 ~]# drx-ctl log -m -n 10 all Online mode. (main, r0-c69-r2-c69-r1, r0_1-c69-r3-c69-r1) D1126 08:54:34.708110 t30129 r0_1-c69-r3-c69-r1:am:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] D1126 08:54:34.708215 t30126 r0_1-c69-r3-c69-r1:am:o] ===>> send stream payload_len (16) meta D1126 08:54:34.708425 t30127 r0_1-c69-r3-c69-r1:am:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] D1126 08:54:38.992691 t30114 r0-c69-r2-c69-r1:cm:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] D1126 08:54:38.992832 t30114 r0-c69-r2-c69-r1:cm:o] ===>> send stream payload_len (16) meta D1126 08:54:40.696530 t30131 r0_1-c69-r3-c69-r1:cd:o] <<=== drxp_type::ping D1126 08:54:44.707844 t30127 r0_1-c69-r3-c69-r1:am:o] ===>> send stream payload_len (16) meta D1126 08:54:44.708060 t30129 r0_1-c69-r3-c69-r1:am:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] D1126 08:54:44.708151 t30126 r0_1-c69-r3-c69-r1:am:o] ===>> send stream payload_len (16) meta D1126 08:54:44.708223 t30129 r0_1-c69-r3-c69-r1:am:o] <<=== drxp_type::stream (crypto:NONE) (compress:NONE) [16] ^C[root@c69-r1 ~]# [root@c69-r1 ~]#
제어
- drx-ctl up [res|conn|all]
- 입력한 리소스를 up 합니다.
Code Block theme DJango title up collapse true < 개별 리소스 up > [root@c73-p1 dgkim]# drx-ctl up r0 DR-1-3-c73-p2-c73-p1: up. Result: 1 resource(s) up. [root@c73-p1 dgkim]# < 모든 리소스 up > [root@c73-p1 dgkim]# drx-ctl up all DR-1-3-c73-p2-c73-p1: up. DR-2-3-c73-p2-c73-p1: up. Result: 2 resource(s) up. [root@c73-p1 dgkim]#
- drx-ctl down [res|conn|all]
- 입력한 리소스를 down 합니다.
Code Block theme DJango title down collapse true < 개별 리소스 down > [root@c73-p1 dgkim]# drx-ctl down r0 DR-1-3-c73-p2-c73-p1: resource down. Result: 1 resource(s) down. [root@c73-p1 dgkim]# < 모든 리소스 down > [root@c73-p1 dgkim]# drx-ctl down all DR-1-3-c73-p2-c73-p1: resource down. DR-2-3-c73-p2-c73-p1: resource down. Result: 2 resource(s) down. [root@c73-p1 dgkim]#
- drx-ctl adjust [res|conn|all]
- 동작중인 리소스는 갱신(update)하고, down된 리소스는 up합니다.
Code Block theme DJango title adjust collapse true [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]#
- 동작중인 리소스의 BAB 사이즈는 변경할 수 없습니다.
오류 출력 예
Code Block theme DJango title adjust error collapse true [root@c73-p1 bsr.d]# drx-ctl adjust all DR-1-3-c73-p2-c73-p1:ad: Can't change memory limit of active resource. DR-1-3-c73-p2-c73-p1:cm: Can't change memory limit of active resource. DR-1-3-c73-p2-c73-p1: updated. DR-2-3-c73-p2-c73-p1: updated. Result: 2 resource(s) updated. [root@c73-p1 bsr.d]#
- drx-ctl set compress [type] [level] [res|conn|all]
- 입력한 리소스의 압축 플러그인을 설정합니다.
옵션
압축 종류 방식 압축률 설정 범위 ETC NONE - - OFF IQA HW 1~9 - ZLIB SW 1~9 - LZ4 SW 1~9 - 설정 예
Code Block theme DJango title set compress collapse true < 리소스 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] [res|conn|all]
- 입력한 리소스의 암호화 플러그인을 설정합니다.
- 설정 예
Code Block theme DJango title set crypto collapse true < 리소스 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:ad] Set crypto: NONE I1206 14:12:59.701315 t81344 DR-2-3-c73-p2-c73-p1:cm] Set crypto: NONE
- drx-ctl set bwlimit [limit] [res|conn|all]
- 입력한 리소스의 B/W를 설정합니다.
설정 예
Code Block theme DJango title set bwlimit collapse true < 리소스 r0의 B/W를 1G로 설정 > [root@c73-p1 dgkim]# drx-ctl set bwlimit 1G 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:21:11.633557 t77473 DR-1-3-c73-p2-c73-p1:ad] Set bandwidth limit: 1.00 GB I1126 17:21:11.633573 t77473 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 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]# <로그 출력> I1126 17:20:55.431890 t77473 DR-1-3-c73-p2-c73-p1:ad] Set bandwidth limit: 100.00 MB I1126 17:20:55.431916 t77473 DR-1-3-c73-p2-c73-p1:cm] Set bandwidth limit: 100.00 MB I1126 17:20:55.431964 t77473 DR-2-3-c73-p2-c73-p1:am] Set bandwidth limit: 100.00 MB I1126 17:20:55.431984 t77473 DR-2-3-c73-p2-c73-p1:cd] Set bandwidth limit: 100.00 MB
- drx-ctl set license [file-path]
- 지정한 경로의 라이선스 유효성을 확인한 후, 기본 경로의 라이선스 정보를 변경합니다.
- 유효한 라이선스로 변경시 리소스의 연결을 유지해야하므로 DRX 프로세스의 동작을 변경하지 않습니다.
- 설정 예
Code Block theme DJango title set license collapse true 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 [res|conn|all]
- 입력한 리소스의 통계값을 초기화 합니다.
- 설정 예
Code Block theme DJango title reset statistics collapse true < 리소스 r0만 통계값을 초기화 > [root@c73-p1 dgkim]# drx-ctl reset st DR-1-3-c73-p2-c73-p1 DR-1-3-c73-p2-c73-p1: reseted. Result: 1 resource(s) reseted. [root@c73-p1 dgkim]# < 모든 리소스의 통계값을 초기화 > [root@c73-p1 dgkim]# drx-ctl reset st all DR-1-3-c73-p2-c73-p1: reseted. DR-2-3-c73-p2-c73-p1: reseted. Result: 2 resource(s) reseted. [root@c73-p1 dgkim]#
통지
DRX 프로세스에서 발생한 Event를 Client(drx-ctl)에서 수신할 수 있습니다.
- drx-ctl events {conn|all}
옵션
- 공란 : 공용 이벤트만 출력
- all : 모든 이벤트 출력
- connect name : 입력한 리소스의 이벤트를 출력
Code Block theme DJango title events collapse true < 공용 이벤트만 수신 > [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 [system] connected < 모든 리소스의 이벤트를 수신 > [root@c73-p1 bsr.d]# drx-ctl events all [system] connected [2018-11-27 10:43:12.831] start common
이벤트 | 타입 | 설명 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
공통 | start | 이벤트 통지 시작 |
| |||||||||
stop | 이벤트 통지 종료 |
| ||||||||||
shutdown | 명령어로 종료 |
| ||||||||||
set license | 설정한 라이선스 |
| ||||||||||
set loglevel | 로그 레벨(파일, 콘솔) |
| ||||||||||
개별 | up | 활성화 |
| |||||||||
down | 비활성화 |
| ||||||||||
accept | IP Accept 결과 |
| ||||||||||
conn | 연결 상태와 결과 |
| ||||||||||
set | 압축 |
| ||||||||||
암호화 |
| |||||||||||
Bandwidth |
| |||||||||||
reset | 통계 수치 초기화 |
| ||||||||||
packet | 송/수신 실패 |
| ||||||||||
compress | 실패만 통지 |
| ||||||||||
crypto | 실패만 통지 |
|