Configuring file replication

Configuring file replication

 

This section describes how to work with the File Replication FSR.

Overview

Unlike BSR, FSR connections are 1-channel connections that handle both replication and meta-packets. If you look at the drx connection information, you will see that it is marked as a complex type.

λ 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

 

Configuration files

Below is a description of the properties you need to specify for each section.

proxy connections

  • Section: connections/node1/proxy, connections/node2/proxy

properties

type

format

description

properties

type

format

description

name

string

name

Connection name. Auto-generated if not specified.
Auto-generated format: {resource name}_{relative node name}_{node name}

inside

string

{IP:Port}

Address of the local DRX for the local FSR → local DRX connection

outside

string

{IP:Port}

Address of the local DRX for remote DRX → local DRX connection

hostname

string

host name

Hostname of the machine on which DRX is operating
Operates according to the hostname specification in the system configuration.

options

Object

Proxy option

option

The FSR connects to the inside address and the remote DRX connects to the outside address.

  • node1 connection

Local FSR Local DRX Remote DRX (node1 url) <-> (node1/proxy/inside | node1/proxy/outside) <-> (node2/proxy/outside)

  • node2 connection

Remote DRX Local DRX Local FSR (node1/proxy/outside) <-> (node2/proxy/outside | node2/proxy/inside) <-> (node2 url)

 

proxy options

  • section: proxy, connections/node1/proxy/options, connections/node2/proxy/options

Each option can be overridden hierarchically lower down the hierarchy.

properties

type

format

description

properties

type

format

description

memlimit

string

{number}{unit}

TX BAB size.
default: 1M

bwlimit

string

{number}{unit}

Limit transfers per second

plugin

Object

 

Plugin settings list

 

svc_autostart

string
Boolean

true, yes, on,1
false, no, off, 0

Auto-start resources on DRX startup.
default: true

 

rx_memlimit

string

{number}{unit}

RX BAB size.
default: 0

 

crypto

string

plugin name

Encryption plugins
support: openssl AES256

 

compressor

string

plugin name

compression plugin
support: zlib, lz4

 

compressor_level

string
number

1~9

compression level
default: 1

 

Example configuration file

{ "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", } } }