Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

DRX is

Table of Contents


What the DRX should be configured for is the configuration of individual replication resources and the global settings configuration that the DRX requires to run. Settings for the individual resources are configured through the drbd.conf and file and the global settings are configured through the drx.conf filesfile.

  • The drbd.conf file describes replication connections, buffer sizes, and optional settings. By default, it is created in the same way as the DRBD configuration file format. In most cases, DRBD is installed locally and will be created by modifying the already created drbd.conf file.
  • If DRBD is installed locally, DRX automatically recognizes the path of the configuration file through the environment variable (DRBD), so you do not need to change the path of drbd.conf. /etc/drbd.conf is the default path and you can change the path through drx.conf.
  • If you are adjusting DRX's own options, create a drx.conf file. You do not need to create it unless it is a special case.

...

4.1.2. Dedicated server configuration

기본적으로 구성파일은 양 노드, DRX 노드 모두 동일하게 구성하나, 전용서버의 특성상 이 기종 노드 즉 WDRBD 노드와 Linux DRBD 노드들을 모두 DRX에서 수용하려면 전용서버에 설치된 drbd-utils 의 특성에 맞게 DRX config를 수정할 필요가 있습니다. 구성 절차는 하기 기술된 내용에 준하며 구성예제는 Linux 전용서버를 기준으로 합니다By default, configuration files are configured to the same for both nodes and DRX nodes. However, because of the nature of the dedicated server, it is necessary to modify the DRX config to match the drbd-utils installed on the dedicated server to accommodate all of these nodes in the DRX dedicated server. The configuration procedure is as described below and the configuration example is based on a Linux server.




LAN
로컬 DRX
WAN

원격 DRX
LAN
원격 노드


Code Block
titleWindows node r0
resource r0 {
	device    d  minor 1;
	disk      d;
	meta-disk e;

	proxy {
		memlimit 1G;
	}	
		
	net {
		protocol A;
		on-congestion pull-ahead;
		congestion-fill 950M;
		ping-timeout 30;
	}

	on w12std-0 {
		node-id 0;
	}
	on w12std-1 {
		node-id 1;
	}

	connection win-r0 {
		host w12std-0  address 10.10.0.77:7789 via proxy on 74proxy1 {
			inside 10.10.0.115:7790;
			outside 10.10.0.115:7791;
		}
		host w12std-1  address 10.10.0.203:7789 via proxy on 74proxy2 {
			inside 10.10.0.102:7790;
			outside 10.10.0.102:7791;
		}
	}

}




Code Block
titler0
resource r0 {
        device /dev/drbd001; # dummy
        disk /dev/sdb1; # dummy
        meta-disk /dev/sdc1; # dummy

		proxy {
                memlimit 1G;
        }
        net{
                protocol A;
				on-congestion pull-ahead;
				congestion-fill 950M;
                ping-timeout 30;
        }

        on w12std-0 {
                node-id 0;
        }
        on w12std-1 {
                node-id 1;
        }
        connection win-r0 {
                host w12std-0 address 10.10.0.77:7789 via proxy on 74proxy1 {
                        inside 10.10.0.115:7790;
                        outside 10.10.0.115:7791;
                }
                host w12std-1 address 10.10.0.203:7789 via proxy on 74proxy2 {
                        inside 10.10.0.102:7790;
                        outside 10.10.0.102:7791;
                }
        }
}



Code Block
titler1
resource r1 {
	device /dev/drbd001;
	disk /dev/sdb1;
	meta-disk /dev/sdc1;

	proxy {
		memlimit 1G;
	}
	net{
		protocol A;
		on-congestion pull-ahead;
		congestion-fill 950M;
		ping-timeout 30;
	}
	
	on cen74-1 {
		node-id 0;
	}
	on cen74-2 {
		node-id 1;
	}

	connection linux-r1 {
		host cen74-1 address 10.10.0.11:7792 via proxy on 74proxy1 {
			inside 10.10.0.115:7793;
			outside 10.10.0.115:7794;
		}
		host cen74-2 address 10.10.0.105:7792 via proxy on 74proxy2 {
			inside 10.10.0.102:7793;
			outside 10.10.0.102:7794;
		}
	}
}




Code Block
titler0
resource r0 {
        device /dev/drbd001; # dummy 
        disk /dev/sdb1; # dummy
        meta-disk /dev/sdc1; # dummy

        proxy {
                memlimit 1G;
        }
        net{
                protocol A;
				on-congestion pull-ahead;
				congestion-fill 950M;
                ping-timeout 30;
        }

        on w12std-0 {
                node-id 0;
        }
        on w12std-1 {
                node-id 1;
        }
        connection win-r0 {
                host w12std-0 address 10.10.0.77:7789 via proxy on 74proxy1 {
                        inside 10.10.0.115:7790;
                        outside 10.10.0.115:7791;
                }
                host w12std-1 address 10.10.0.203:7789 via proxy on 74proxy2 {
                        inside 10.10.0.102:7790;
                        outside 10.10.0.102:7791;
                }
        }
}



Code Block
titler1
resource r1 {
	device /dev/drbd001;
	disk /dev/sdb1;
	meta-disk /dev/sdc1;

	proxy {
		memlimit 1G;
	}
	net{
		protocol A;
		on-congestion pull-ahead;
		congestion-fill 950M;
		ping-timeout 30;
	}

	on cen74-1 {
		node-id 0;
	}
	on cen74-2 {
		node-id 1;
	}

	connection linux-r1 {
		host cen74-1 address 10.10.0.11:7792 via proxy on 74proxy1 {
			inside 10.10.0.115:7793;
			outside 10.10.0.115:7794;
		}
		host cen74-2 address 10.10.0.105:7792 via proxy on 74proxy2 {
			inside 10.10.0.102:7793;
			outside 10.10.0.102:7794;
		}
	}
}




Code Block
titleWindows node r0
resource r0 {
	device    d  minor 1;
	disk      d;
	meta-disk e;

	proxy {
		memlimit 1G;
	}	
	
	net {
		protocol A;
		on-congestion pull-ahead;
		congestion-fill 950M;
		ping-timeout 30;
	}

	on w12std-0 {
		node-id 0;
	}
	on w12std-1 {
		node-id 1;
	}

	connection win-r0 {
		host w12std-0  address 10.10.0.77:7789 via proxy on 74proxy1 {
			inside 10.10.0.115:7790;
			outside 10.10.0.115:7791;
		}
		host w12std-1  address 10.10.0.203:7789 via proxy on 74proxy2 {
			inside 10.10.0.102:7790;
			outside 10.10.0.102:7791;
		}
	}

}




Code Block
titleLinux node r1
resource r1 {
        device /dev/drbd0;
        disk /dev/sdb1;
        meta-disk /dev/sdc1;

        proxy {
                memlimit 1G;
        }
        net{
                protocol A;
				on-congestion pull-ahead;
				congestion-fill 950M;
                ping-timeout 30;
        }
        on cen74-1 {
                node-id 0;
        }
        on cen74-2 {
                node-id 1;
        }

        connection linux-r1 {
                host cen74-1 address 10.10.0.11:7792 via proxy on 74proxy1 {
                        inside 10.10.0.115:7793;
                        outside 10.10.0.115:7794;
                }
                host cen74-2 address 10.10.0.105:7792 via proxy on 74proxy2 {
                        inside 10.10.0.102:7793;
                        outside 10.10.0.102:7794;
                }
        }




Code Block
titleLinux node r1
resource r1 {
	device /dev/drbd0;
	disk /dev/sdb1;
	meta-disk /dev/sdc1;
	
	proxy {
		memlimit 1G;
	}
	net{
		protocol A;
		on-congestion pull-ahead;
		congestion-fill 950M;
		ping-timeout 30;
	}

	on cen74-1 {
		node-id 0;
	}
	on cen74-2 {
		node-id 1;
	}

	connection linux-r1 {
		host cen74-1 address 10.10.0.11:7792 via proxy on 74proxy1 {
			inside 10.10.0.115:7793;
			outside 10.10.0.115:7794;
		}
		host cen74-2 address 10.10.0.105:7792 via proxy on 74proxy2 {
			inside 10.10.0.102:7793;
			outside 10.10.0.102:7794;
		}
	}
}




4.3. drx.conf

DRBD 구성과는 별개로 DRX 내부 속성을 설정할 수 있습니다. 보통의 경우는 DRX 기본 설정으로 동작하기 때문에 속성파일을 제공할 필요가 없습니다. 이 속성은 DRX가 시작될 때 적용되고, DRX 속성 파일은 다음 속성표의 내용을 참고하여 작성합니다.

...

You can set the DRX internal properties independently of the DRBD configuration. Normally, you don't need to provide a property file because it works with the DRX preferences. This property is applied at the start of the DRX, and the DRX property file is created with reference to the following properties table.

  • file name: "drx.conf"
  • 기본 위치: drx 설치 경로
  • 주의: 파일의 시작 부분에 "[global]  section"을 기술해야 함

...

  • default path: DRX Installed path
  • Caution: [global] section should be described at the beginning of the file
type속성기본 값설명
기본
normallangkorean DRX
언어 설정 파일환경설정의
language settings file
  • Located in "base-dir/lang"
에 위치(미지정 시 실행파일 하부에 위치)"korean.ini"나 "english.ini" 등과 같은 방법으로 파일 생성(utf8 파일)
예)"
  • of the configuration.
  • ex) korean.ini
" 설정
base-dir

DRX

설치 경로

로그 저장이나 언어 설정과 관련한 파일이 있는 디렉터리의 상위 디렉터리로 지정

(미지정 시 DRX를 설치한 경로로 자동 지정됨)

install path

Default path where DRX is installed

drbd-conf

Windows:

  • ../etc/drbd.conf

Linux:

  • /etc/drbd.conf
"drbd config"를 이용할 경우, 해당 파일의 경로
Specify the path to drbd.conf
connect-timeout3

소켓 connect 또는 listen 동작에서 사용하는 타임아웃 값(단위: 초)

(※ 네트워크 환경에 따라 연결 지연이 있을 수 있으므로 연결이 원활하지 않을 때 늘릴 것을 권장)

init-timeout10

원격 DRX와 연결 후, 초기화 패킷을 주고 받는 동안의 타임아웃 값(단위: 초)

(※ 네트워크 환경에 따라 연결 지연이 있을 수 있으므로 연결이 원활하지 않을 때 늘릴 것을 권장)

Timeout value in seconds used by socket connect or listen actions

init-timeout10

Timeout value in seconds after connecting to a remote DRX, while sending and receiving initialization packets

bwlimit0 (disabled)
송신 시 대역폭 제한 값 (수신 대역폭은 원격 DRX 의 bwlimit 값에 의해 제어ip-verificationon

off로 설정시 연결을 위해서 대기(Listen)하기위해 매칭(bind)하는 IP가 0.0.0.0(모든 IP 수신)으로 설정됩니다.

압축/암호화
Bandwidth limit on sending (incoming bandwidth controlled by bwlimit value on remote DRX)
loglevel-fileinfo

파일로 저장되는 로그 레벨 지정

  • 위치: 설치 경로의 logs 폴더에 저장

Specify the log level that is written as a file

ip-verificationon

on: Allow only the IP connections set in dbd.conf.
off: Allow connections for all IPs.

compress/encrypt



block-size63K
압축/암호화시 사용할 block size

Block size to be used for compression/encryption

  • Note: The size of the transfer buffer for compression/encryption is set to twice the block-size value and is set to 1MB maximum.
bab-read-spin-counter10
bab에서 read시 block size 보다 작을 경우 재시도 횟수
Number of retries when read from BAB if block size is less than
bab-read-spin-delay10
bab read 재시도시 delay 값
Delay value(ms) when reattempting read from BAB
min-raw-block-size1K
압축/암호화 설정시에도 평문으로 보낼 minimum size※ 튜닝과 디버깅의 용도이므로 변경하는 것을 권장하지 않습니다
Minimal packet size to send as plain text even when compression/encryption is set.
process-thread-count-1 (auto)

멀티쓰레드 패킷 처리시 사용할 쓰레드 개수. 

Number of threads to use when processing multi-thread packets.

※ It is intended for tuning and debugging, so it is not recommended to make any changes. 


drx.conf 예제sample

drx.conf

#
# DRX properties
#

[global]

lang=korean
drx_path=./

#drbd-conf=c:\program files\DRX\drbd.conf

#connect-timeout=10

# log levels: debug < info < warn < err 
loglevel-file=info

block-size=1M # 압축/암호화시 사용할 block size (기본 63K)1M 
bab-read-spin-counter=10 # bab에서 read시 block size 보다 작을 경우 재시도 횟수10 
bab-read-spin-delay=10 # bab read 재시도시 delay 값 (ms)10 
min-raw-block-size=1K # 압축/암호화 설정시에도 평문으로 보낼 minimum size

...

1K