Table of Contents |
---|
Info |
---|
|
1. 개요
DRX CLI는 복제 리소스에 대한 상태 조회와 제어/통지 명령어로 구분하며 drx-ctl 유틸리티를 통해 플랫폼에 관계없이 동일한 방식으로 인터페이스를 제공합니다.
Table of Contents |
---|
Info |
---|
|
개요
DRX CLI는 drx-ctl 유틸리티를 통해 제공하며 리소스에 대한 상태 조회, 제어, 통지를 제공합니다.
- 조회 명령은 리소스에 대한 일반적인 요약정보를 출력하며 -v 옵션을 명령줄에 포함할 경우 상세정보를 출력합니다.
- 제어 명령은 DRX를 리소스 단위로 기동시키고 중지시키는 설정을 동적으로 할 수 있는 명령입니다. DRX 리소스를 시작하고 중지하거나 특정 설정을 변경합니다.
- 통지 명령은 DRX에서 발생하는 실시간 상태 변경 상황을 리소스 단위로 출력하는 명령입니다. 한번 수행하여 종료될 때까지 발생하는 이벤트를 수신하고 그 결과를 콘솔에 출력하는 기능을 제공합니다출력합니다.
...
CLI
DRX의 CLI는 조회, 제어, 통지로 분류됩니다분류합니다.
CLI의 명령어 형식은 drx-ctl {옵션} [명령어] [명령어 인자...]입니다. 명령어와 명령어 인자를 "명령어"와 "명령어 인자"를 통해서 출력 종류가 결정되며 상세 모드(-v) 를 선택하는 "옵션"은 생략 가능합니다. CLI의 출력 형식은 "명령어"에 따라서 다르며 "명령어 인자"는 에는 접속 이름(connect name) 과 또는 리소스(resource)를 사용할 가 들어가고 출력 항목을 지정할 수 있습니다.
...
목록
분류 | 항목 | 옵션 | 명령 | Alias | 비고 |
---|---|---|---|---|---|
조회 | DRX 버전 | N/A | drx-ctl version | ver | drx 버전 |
DRX 상태 | " | drx-ctl info | - | DRX 프로세스의 기동 또는 중지 상태 | |
라이선스 | " | drx-ctl license | lic | 라이선스 정보 | |
리소스 구성 | " | drx-ctl dump [resource or res|all] | - | 리소스 구성, drx.conf
| |
리소스 구동 | " | drx-ctl show [connect name or res|conn|all] | - | 동작중인 설정 정보 | |
연결 | -v | drx-ctl connection [connect name or res|conn|all] | co |
| |
통계 | -v | drx-ctl statistics [connect name or res|conn|all] | st |
| |
BAB | -v | drx-ctl memusage [connect name or res|conn|all] | mem |
| |
로그 | N/A | drx-ctl log [connect name or mainres|conn|all] | - |
| |
제어 | 리소스 up | " | drx-ctl up [connect name or res|conn|all] | - | 리소스 기동 |
리소스 down | " | drx-ctl down [connect name or res|conn|all] | - | 리소스 중지 | |
리소스 adjust | " | drx-ctl adjust [connect name or res|conn|all] | - | 리소스 설정 갱신 및 재 시작 | |
압축 | " | drx-ctl set compress [type] [level] [connect name res|conn|all] | - | 리소스 압축 설정 | |
암호화 | " | drx-ctl set crypto [on or off] [connect name res|conn|all] | - | 리소스 암호화 설정 | |
bwlimit | " | drx-ctl set bwlimit [limit] [connect name res|conn|all] | - |
| |
라이선스 | " | drx-ctl set license [file-path] | - |
| |
통계 초기화 | " | drx-ctl reset statistics [connect name or res|conn|all] | st |
| |
통지 | DRX 이벤트 통지 | NA | drx-ctl events {connect name or 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 drbdbsr]_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, qat] [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의 이벤트를 실시간 통보받을 수 있는 방식으로 인터페이싱할 완료 통보가 필요할 경우 통지 명령을 통해 이벤트 수신으로 연계할 수 있습니다.
drx-ctl 명령은 이를 수신하는 drx 서버에서 기본적으로 한 번에 하나의 명령만 수행하므로 수행할 수 있습니다. 다수의 명령이 drx로 동시에 전달될 경우 전달되면 큐잉된 일부 명령에 대한 타임아웃이 발생할 수 있습니다. 타임아웃을 피하기 위해선 drx-ctl 명령이 순차적으로 수행하도록 보장해줄 필요가 있습니다수행한 명령들이 완료 시점을 기준으로 순차적으로 수행하도록 보장해야 합니다.
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 사용률을 확인
- 영구적으로 압축 설정을 적용하기 위해서 리소스 파일에 설정을 추가
5. CLI 출력 양식
...
사용 예
조회
- drx-ctl version
- 옵션 치환 : ver
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옵션 치환 : lic
라이선스 정보를 출력합니다.
출력 샘플Code Block theme DJango title license collapse true [root@c73-p1 drbdbsr.d]# drx-ctl lic Product type : DRX License status : Temporary, Expire date: 30-nov-2018, Validity day: 9 [root@c73-p1 drbdbsr.d]#
- drx-ctl dump [resource or res|all]
- 리소스의 설정과 drx.conf의 설정을 출력합니다.
- 리소스 구성 파일을 drbdadm bsradm 유틸에서 처리하기에 resource를 입력합니다.
drx.conf의 내용은 "<DRX configuration>"에 출력되며 ini형식(이름=값)으로 출력됩니다.
출력 샘플Code Block theme DJango title dump collapse true [root@c73-p1 drbdbsr.d]# drx-ctl dump all # /etc/drbdbsr.conf global { usage-count yes; } common { } # resource r0 on c73-p1: ignored, not stacked # defined at /etc/drbdbsr.d/r0.res:1 resource r0 { device /dev/drbd0bsr0 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/drbdbsr.d/r0.res:36 resource r0-1 { device /dev/drbd1bsr1 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 drbdbsr.d]#
- drx-ctl show [connect name or 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 drbdbsr-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 [connect name or res|conn|all]
- 옵션 치환 : co
- 상세 옵션 : -v
- 리소스의 연결 정보를 출력합니다.
일반 모드 : IP Address 생략, 연결 화살표 출력
- 상세 모드 : IP Address 출력, 연결 화살표 생략
Code Block theme DJango title connections collapse true < 일반 모드 > [root@74qatroot@74-p1 ~]# drx-ctl co all ------------------------------------------------------------------------------------------------- Name Type local-drbdbsr-ip State local-drx-ip State remote-drx-ip ------------------------------------------------------------------------------------------------- r0-74qat74-p2-74qat74-p1 meta (local-drbdbsr) -established-> (local-drx) <-bridged----- (remote-drx) r0-74qat74-p2-74qat74-p1 data (local-drbdbsr) <-established- (local-drx) -----bridged-> (remote-drx) ------------------------------------------------------------------------------------------------- All connections : 2, Established : 2 [root@74qatroot@74-p1 ~]# < 상세 모드 > [root@74qatroot@74-p1 ~]# drx-ctl co all -v ---------------------------------------------------------------------------------------------------------------------------------- Name Type local-drbdbsr-ip State local-drx-ip State remote-drx-ip Up since ---------------------------------------------------------------------------------------------------------------------------------- r0-74qat74-p2-74qat74-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-74qat74-p2-74qat74-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@74qatroot@74-p1 ~]#
- drx-ctl statistics [connect name or res|conn|all]
- 옵션 치환 : st
- 일반 모드 : 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 [connect name or res|conn|all]
- 리소스의 BAB 정보를 출력합니다.
- Human Readable(B, KB, MB, GB)로 출력되는 단위를 KiloBytes로 고정하며 표기를 생략합니다. KiloBytes 보다 작은 값은 0으로 표기합니다.옵션 치환 : mem
- 상세 모드
- 옵션 : 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 [connect name or mainres|conn|all]
- 기록중인 로그의 내용을 출력합니다.
- 옵션
- 옵션을 입력하지 않으면 공통(main) 로그만 출력됩니다.
- connect name or all : 모든 리소스 또는 입력한 리소스의 로그를 출력합니다.
- 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 [connect name or 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 [connect name or 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 [connect name or res|conn|all]
- 동작중인 리소스는 갱신(update)하고, down된 리소스는 up합니다.설정 샘플
Code Block theme DJango title adjust collapse true [root@c73-p1 drbdbsr.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 drbdbsr.d]#
- 동작중인 리소스의 BAB 사이즈는 변경할 수 없습니다.
에러 예시오류 출력 예
Code Block theme DJango title adjust error collapse true [root@c73-p1 drbdbsr.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 drbdbsr.d]#
- drx-ctl set compress [type] [level] [connect nameres|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] [connect nameres|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] [connect nameres|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 [connect name or res|conn|all]
- 입력한 리소스의 통계값을 초기화 합니다. 옵션 치환 : st
- 설정 샘플예
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 {connect name or conn|all}
옵션
- 공란 : 공용 이벤트만 출력
- all : 모든 이벤트 출력
- connect name : 입력한 리소스의 이벤트를 출력 출력
Code Block theme DJango title events collapse true < 공용 이벤트만 수신 > [root@c73-p1 drbdbsr.d]# drx-ctl events [system] connected [2018-11-27 11:22:38.933] start common < 입력한 리소스의 이벤트만 수신 > [root@c73-p1 drbdbsr.d]# drx-ctl events DR-1-3-c73-p2-c73-p1 [system] connected < 모든 리소스의 이벤트를 수신 > [root@c73-p1 drbdbsr.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 | 실패만 통지 |
|
...