...
OS에서 제공하는 서비스 제어 명령에 맞게 수행합니다.
Info |
---|
drx 1.4 이후로 drx 서비스 명이 drxsvc 에서 drx 로 변경되었습니다. 아래 설명하는 예제들에서 drxsvc 서비스 명을 drx 로 변경하여 수행하세요. |
시작
Code Block |
---|
|
c:\>sc start drxsvc |
...
리소스를 개별적으로 제어하려면 drx-ctl 의 up/down 명령을 이용해야 합니다. drx-ctl 의 all 옵션을 통해 모든 리소스의 기동/중지를 수행할 수도 있습니다.
...
drx 리소스는 복제 연결을 중개하는 리소스 입니다. 복제 리소스와는 기능적으로 차이가 있으므로 혼동하지 말아야 합니다. 예를 들어 bsradm up은 복제 리소스를 시작하는 명령이고 drx-
...
ctl up 은 복제 연결의 중개를 시작하는 명령입니다.
Info |
---|
절차적으로는 drx-ctl up 이후 bsradm up 의 순서로 수행하는게 좋습니다. DRX 중개 채널을 미리 준비해 두고 양 노드의 복제 연결을 수립하는 것이 연결 지연을 줄이는 데 좋습니다. |
시작
중개 연결을 시작하는 명령입니다.
Info |
---|
|
drx-ctl up [resource or all] |
중지
중개 연결을 중지하는 명령입니다.
Info |
---|
|
drx-ctl down [resource or all] |
...
명령어 | 설명 | 출력 예시 (단위는 KiloBytes) |
---|
drx-ctl version drx-ctl ver | 버전 정보 |
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 drx-ctl lic | 라이선스 정보 |
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 [resource or all]
| 리소스 파일, drx.conf 파일의 덤프 |
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 [connection name or all] | 현재 적용된 설정 값 | - 전역 설정 항목은 "<DRX configuration>"에 출력되며 ini형식(이름=값)으로 출력됩니다.
- 노드 설정 항목은 가독성을 위해서 테이블 형식으로 출력됩니다.
Code Block |
---|
theme | DJango |
---|
title | show |
---|
collapse | true |
---|
| [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 |
---|
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 statistics [connection name or all] drx-ctl st [connection name or all] | 각종 통계치 출력 | - 사용자가 원하는 column만을 출력하는 옵션 : --filter
- 압축률(ratio)는 소수점 둘째 자리까지 출력합니다. 압축률(ratio)는 원본 사이즈를 압축 결과 사이즈로 나누기에 소수점이 출력되야 가독성이 좋습니다.
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 connections [connection name or all] drx-ctl co [connection name or all] | 리소스의 연결 정보 |
Code Block |
---|
theme | DJango |
---|
title | connections |
---|
collapse | true |
---|
| < 일반 모드 >
[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 ~]# |
|
...
사용자가 직접 bsr.conf 와 drx.conf 구성파일의 내용을 변경하고 adjust 명령을 통해 리소스를 재 시작하여 적용 합니다.
명령 | 설명 | 출력 예 |
---|
drx-ctl adjust [resource or all] | 설정 갱신, 중지된 리소스 기동 |
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]# |
|
...
동적 설정
drx-ctl set 명령을 통해 운영중에 실시간으로 설정을 변경할 수 있습니다. set 명령은 실제 리소스 구성파일의 내용에 반영되지 않으므로 내용을 변경하지는 않기 떄문에 drx 가 재 시작될 경우 시작되면 동적 설정 전의 구성파일의 설정으로 돌아가므로 임시 임시적인 설정이라고 할 수 있습니다.
명령 | 설명 | 출력 예 |
---|
drx-ctl set compress [type] [level] [connection name] | 압축 플러그인 설정 |
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] [connection name] | 암호화 설정 |
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] [connection name] | 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 [connection name or all] drx-ctl reset st [connection name or 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 엔진에서 발생하는 이벤트를 실시간 수신할 수 있습니다.
명령어 | 설명 | 출력 예시 |
---|
drx-ctl events [connection name or all] | 실시간 이벤트 출력 |
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
|
|
...