FSR 구성
파일복제 FSR과 연동하는 방법을 설명합니다.
개요
FSR 연결은 BSR 과 달리 1채널 연결로 복제,메타 패킷을 모두 처리합니다. drx 연결 정보로 보면 complex(복합채널) 유형으로 표기하는 것을 볼 수 있습니다.
λ drx-ctl co all
------------------------------------------------------------------------------------------
Name Type replicator State local-drx State remote-drx
------------------------------------------------------------------------------------------
r0_node2_node1 complex (local-fsr) -established-> (local-drx) -----bridged-> (remote-drx)
------------------------------------------------------------------------------------------
r0_node3_node1 complex (local-fsr) -established-> (local-drx) -----bridged-> (remote-drx)
------------------------------------------------------------------------------------------
All connections : 2, Established : 2
구성파일
다음은 각 섹션별로 지정해야 할 속성에 대한 설명입니다.
proxy 연결
- 섹션 위치: connections/node1/proxy, connections/node2/proxy
속성 | 유형 | 형식 | 설명 |
---|---|---|---|
name | 문자열 | 이름 | 연결명. 지정하지 않으면 자동 생성됩니다. 자동 생성 형식: {리소스명}_{상대 노드명}_{노드명} |
inside | 문자열 | {IP:Port} | 로컬 FSR → 로컬 DRX 연결을 위한 로컬 DRX의 주소 |
outside | 문자열 | {IP:Port} | 원격 DRX → 로컬 DRX 연결을 위한 로컬 DRX의 주소 |
hostname | 문자열 | 호스트명 | DRX가 동작하는 장비의 호스트명 시스템 구성의 호스트명 지정에 맞게 동작합니다. |
options | Object | Proxy 옵션 | 옵션 |
FSR이 inside 주소로 접속하고 원격 DRX 가 outside 주소로 접속합니다.
- node1 연결
Local FSR Local DRX Remote DRX
(node1의 url) <-> (node1/proxy/inside | node1/proxy/outside) <-> (node2/proxy/outside)
- node2 연결
Remote DRX Local DRX Local FSR
(node1/proxy/outside) <-> (node2/proxy/outside | node2/proxy/inside) <-> (node2의 url)
proxy 옵션
- 섹션 위치: proxy, connections/node1/proxy/options, connections/node2/proxy/options
각 옵션들은 계층적으로 하위 계층에서 재정의(override) 될 수 있습니다.
속성 | 유형 | 형식 | 설명 | |
---|---|---|---|---|
memlimit | 문자열 | {숫자}{단위} | TX BAB 크기. | |
bwlimit | 문자열 | {숫자}{단위} | 초당 전송량 제한 | |
plugin | Object | 플러그인 설정 목록 | ||
svc_autostart | 문자열 | true, yes, on,1 | DRX 시작 시 리소스 자동 시작. | |
rx_memlimit | 문자열 | {숫자}{단위} | RX BAB 크기. | |
crypto | 문자열 | 플러그인명 | 암호화 플러그인. | |
compressor | 문자열 | 플러그인명 | 압축 플러그인. | |
compressor_level | 문자열 | 1~9 | 압축 플러그인의 압축 수준. |
구성파일 예
{
"id": "r0",
"description": "proxy test",
"nodes": [
{
"name": "node1",
"hostname": "drx1",
"files": [ { "path": "E:/r2" } ],
"buffer": { "size": 100 },
},
{
"name": "node2",
"hostname": "drx2",
"files": [ { "path": "E:/r2" } ],
"buffer": { "size": 100 },
},
{
"name": "node3",
"hostname": "drx3",
"files": [ { "path": "E:/r2" } ],
"buffer": { "size": 100 },
}
],
"connections": [
{
"node1": {
"name": "node1",
"url": "192.168.65.111:9830",
"proxy": {
"inside": "192.168.65.111:9831",
"outside": "192.168.65.111:9832"
}
},
"node2": {
"name": "node2",
"url": "192.168.65.112:9830",
"proxy": {
"inside": "192.168.65.112:9831",
"outside": "192.168.65.112:9832"
}
}
},
{
"node1": {
"name": "node1",
"url": "192.168.65.111:9830",
"proxy": {
"inside": "192.168.65.111:9833",
"outside": "192.168.65.111:9834",
}
},
"node2": {
"name": "node3",
"url": "192.168.65.113:9830"
"proxy": {
"inside": "192.168.65.113:9831",
"outside": "192.168.65.113:9832"
}
}
},
{
"node1": {
"name": "node2",
"url": "192.168.65.112:9830",
"proxy": {
"inside": "192.168.65.112:9833",
"outside": "192.168.65.112:9834"
}
},
"node2": {
"name": "node3",
"url": "192.168.65.113:9830",
"proxy": {
"inside": "192.168.65.113:9833",
"outside": "192.168.65.113:9834"
}
}
}
],
"proxy": {
"memlimit": "100M"
"plugin": {
"compressor": "lz4",
"crypto": "openssl",
"rx-memlimit": "10M",
}
}
}