...
bsr 은 다양한 구성 방식을 통해 기업의 중요 데이터를 유연한 방식으로 이중화할 수 있습니다. 보통 미러 구성은 로컬 네트워크 내에서 복제하는 구성을 말하고, 원격지 네트워크 복제 구성을 재해복구(DR) 구성으로 통칭합니다.
1:1 미러
로컬 네트워크 내에서의 이중화를 위한 일반적인 미러링 구성 방식으로 프로토콜은 동기방식 구성이 일반적이나 프로토콜 설정에 제한은 없습니다.
...
WAN 구간을 통한 재해복구 복제 구성으로 비동기 프로토콜을 사용해야 하고 프로토콜이 권장되고 송신버퍼와 혼잡모드를 설정해야 합니다. WAN 구간 복제는 복제 가속기(DRX) 연동을 통해 복제 처리 성능을 극대화할 수 있습니다.
1:N 미러 & 재해복구(DR)
...
N:1 미러
서로 다른 노드에 위치하는 리소스들의 복제 타깃 노드를 하나의 한 노드로 구성하는 지정하는 방식입니다. 개별 리소스 측면에선 1:1 미러 구성이지만 전체 토폴로지 운영측면에서 운영 측면에서 N:1 미러로 정의 합니다.
혼합 구성
윈도우즈와 리눅스 노드를 혼합하여 구성할 수 있습니다. DR 구축, 백업 등의 용도로 사용합니다.
...
Info |
---|
각 노드의 노드 id(node-id) 의 지정은 필수사항 입니다. |
Code Block |
---|
resource r0 {
disk d;
meta-disk f;
on alice {
address 10.1.1.31:7789;
node-id 0;
}
on bob {
address 10.1.1.32:7789;
node-id 1;
}
} |
|
구성 예제
단순 구성
다음의 예는 최소한의 설정으로 구성하는 Windows bsr 구성파일 예시 입니다.
/etc/bsr.d/global_common.conf
Code Block |
---|
global {
}
common {
net {
protocol C;
}
} |
|
/etc/bsr.d/r0.res
Code Block |
---|
resource r0 {
on alice {
disk d;
address 10.1.1.31:7789;
meta-disk f;
node-id 0;
}
on bob {
disk d;
address 10.1.1.32:7789;
meta-disk f;
node-id 1;
}
} |
|
1:2 Mesh
1:2 미러 구성 예시 입니다. connection-mesh 섹션을 통해 3 노드 간의 연결을 모두 수립하도록 지정합니다.
Code Block |
---|
resource r0 {
device e minor 2;
disk e;
meta-disk f;
on store1 {
address 10.1.10.1:7100;
node-id 0;
}
on store2 {
address 10.1.10.2:7100;
node-id 1;
}
on store3 {
address 10.1.10.3:7100;
node-id 2;
}
connection-mesh {
hosts store1 store2 store3;
}
} |
|
1:2 개별 연결 구성
1:2 미러 구성 예시이고, 연결에 따른 속성들을 개별적으로 설정할 수 있습니다.
Code Block |
---|
resource r0 {
volume 0 {
device e minor 2;
disk e;
meta-disk f;
}
on store1 {
node-id 0;
}
on store2 {
node-id 1;
}
on store3 {
node-id 2;
}
connection {
host store1 address 10.10.0.245:7789;
host store2 address 10.10.0.252:7789;
}
connection {
host store2 address 10.10.0.252:7789;
host store3 address 10.10.0.247:7789;
}
connection {
host store1 address 10.10.0.251:7789;
host store3 address 10.10.0.247:7789;
}
} |
|
floating peer 구성
호스트 이름을 지정하지 않고 IP 주소를 기반으로 구성할 수 있습니다.
Code Block |
---|
resource r0 {
floating 200.200.200.6:7788 {
device d minor 1;
disk d;
meta-disk n;
node-id 0;
}
floating 200.200.200.7:7788 {
device d minor 1;
disk d;
meta-disk n;
node-id 1;
}
} |
|
Code Block |
---|
resource r0 {
floating 10.10.0.251:7788 {
device e minor 2;
disk e;
meta-disk f;
node-id 0;
}
floating 10.10.0.252:7788 {
device e minor 2;
disk e;
meta-disk f;
node-id 1;
}
floating 10.10.0.253:7788 {
device e minor 2;
disk e;
meta-disk f;
node-id 2;
}
connection {
address 10.10.0.251:7788;
address 10.10.0.252:7788;
}
connection {
address 10.10.0.251:7788;
address 10.10.0.253:7788;
}
connection {
address 10.10.0.252:7788;
address 10.10.0.253:7788;
}
} |
|
2:1 복제 구성
소스노드 store1 에서 타깃노드를 store3 으로 지정합니다.
Code Block |
---|
resource r0 {
device e minor 2;
disk e;
meta-disk f;
on store1 {
node-id 0;
}
on store3 {
node-id 2;
}
connection {
host store1 address 10.10.0.245:7789;
host store3 address 10.10.0.247:7789;
}
} |
|
소스노드 store2 에서 타깃노드를 store3 으로 지정하여 위에서 구성한 store1 과 store2 가 store3 을 타깃으로 지정하는 N:1 구성입니다.
Code Block |
---|
resource r1 {
device e minor 2;
disk e;
meta-disk f;
on store2 {
node-id 1;
}
on store3 {
node-id 2;
}
connection {
host store2 address 10.10.0.246:7790;
host store3 address 10.10.0.247:7790;
}
} |
|
타깃노드 store3에선 store1과 store2 의 구성을 모두 수용합니다.
Code Block |
---|
resource r0 {
device e minor 2;
disk e;
meta-disk f;
on store1 {
node-id 0;
}
on store3 {
node-id 2;
}
connection {
host store1 address 10.10.0.245:7789;
host store3 address 10.10.0.247:7789;
}
}
resource r1 {
device g minor 4;
disk g;
meta-disk h;
on store2 {
node-id 1;
}
on store3 {
node-id 2;
}
connection {
host store2 address 10.10.0.246:7790;
host store3 address 10.10.0.247:7790;
}
} |
|
혼합 구성
Code Block |
---|
resource r0 {
floating-on-linux 200.200.200.6:7788 {
disk /dev/sdb1;
device /dev/bsr0;
meta-disk internal;
node-id 0;
}
floating-on-windows 200.200.200.7:7788 {
device d minor 1;
disk d;
meta-disk n;
node-id 1;
}
} |
...