Table of Contents |
---|
...
시스템 구성파일은 config.json 파일입니다. 별도 경로를 지정하지 않을 경우 %FSR_HOME%/conf/config.json 의 경로에 위치합니다.
구성파일을 수정한 뒤 적용하기 위해서는 프로그램을 재 실행하거나 다음의 갱신 명령을 실행합니다.
fsradm config adjust
리소스 구성
리소스 파일의 파일 형식은 '*.res
'이며, 경로는 시스템 설정 파일의 'options/resource_path' 항목에 명시되어 있습니다.
resource_path 의 기본 값은 현재 위치('.')이고 시스템 구성 파일의 위치를 기준으로 하여, 기본 위치는 config.json
파일의 위치와 같습니다.
다음은 리소스 구성 파일의 예 입니다.
Code Block | ||||
---|---|---|---|---|
| ||||
{ "id": "r0", "description": "test resource", "auto_start": true, "nodes": [ { "name": "node1-hostname", "urls": { "repl": "10.20.200.75:9810", "sync": "10.20.200.75:9811" }, "directories": [ { "path": "G:/test/r0", "exclude_patterns": [ ] } ] }, { "name": "node2-hostname", "urls": { "repl": "10.20.200.76:9810", "sync": "10.20.200.76:9811" }, "directories": [ { "path": "G:/test/r0", "exclude_patterns": [ ] } ] } ], "connections": [ { "node1": { "name": "node1-hostname" }, "node2": { "name": "node2-hostname" }, "buffer": { "size": 1024 }, "network": { "ping_interval": 10, "compress": false, "tls": false, "limit": 0 } } ], "options": { "exclude_patterns": [ ] } } |
...
비동기 복제에 있어서 실시간 I/O 변경 분은 버퍼에 축적되어 타깃에 순차적으로 반영되기 때문에 버퍼링이 지속되는 한 타깃이 데이터는 최신의 복제 상태를 유지할 수 있습니다. 따라서 버퍼를 구성하는 것은 FSR 구성 에서의 핵심사항으로서 리소스를 기동하기 전에 버퍼 용량과 관련한 사항들을 운영환경에 맞게 적절히 구성해야 합니다.
버퍼는 커널에 고정적으로 할당되는할당하는(비페이징 풀) 커널 메모리 버퍼와 파일로 할당되는 할당하는 파일버퍼로 구성합니다. 시스템의 가용 시스템에 가용한 커널 메모리는 제한적이기 때문에 시스템의 메모리 상황에 맞게 메모리 버퍼를 산정해야 하고 메모리 버퍼 공간이 부족할 경우 추가적으로 파일버퍼로 충당할 수 있습니다. FSR은 메모리버퍼를 우선하여 사용하고 메모리 버퍼가 다 사용될 경우 파일버퍼링으로 전환하여 처리합니다. 만약 두 버퍼가 모두 오버플로우 된다면 버퍼링은 자동 중단되어 중단되고 그에 따라 버퍼링되었던 데이터들은 모두 버려지고 재동기화 단계로 이행하게 됩니다. 따라서 가능한 한 버퍼링을 위한 공간을 많이 확보하여 동기화 상태로 전환되지 않고 복제 상태가 유지되도록 할 필요가 있습니다.
또한 메모리와 파일버퍼는 근본적으로 I/O 성능에 큰 차이가 있기 때문에 로컬 시스템의 I/O 부하가 크다면 메모리 버퍼를 많이 확보하는 운영방식이 성능에 유리합니다.
버퍼는 복제 연결 단위로 작동하기 때문에 1: N 노드 복제의 경우 연결 개수(N) 만큼 개별적으로 지정해야 합니다.
...