4.1. 구성 형태
FSR 은 다음과 같은 구성 형태를 지원합니다.
4.1.1. 1:1 복제
4.1.2. 1:N 복제
4.1.3. N:1 복제
4.1.4. 공유
4.2. 구성 파일
구성파일은 FSR 의 구성형태를 표현하는 json 형식의 텍스트 파일로 시스템 구성파일과 리소스 구성파일이 있습니다. 시스템 구성파일은 FSR의 동작에 필요한 노드 기준의 전반적인 경로들이 지정되고, 리소스 구성파일에서 ip주소, 복제대상, 핸들러 등 복제를 위한 구체적인 사항을 기술합니다.
구성파일은 직접 작성하고, 수정이 필요한 경우는 직접 수정하여 CLI 로 갱신하거나 REST-API를 통해 변경할 수 있습니다.
FSR 엔진은 리소스 기동 시점에 구성 파일을 해석하여 구성 형태에 맞게 노드 간 연결 및 복제 대상의 경로 등을 초기화 하고 복제 서비스를 리소스 단위로 준비합니다.
구성파일의 형식과 관련한 세부 속성은 Appendix C. 구성파일의 내용을 참고하세요.
4.2.1. 시스템 구성
시스템 구성파일은 config.json 파일입니다. 별도 경로를 지정하지 않을 경우 %FSR_HOME%/conf/config.json 의 경로에 위치합니다.
구성파일을 수정한 뒤 적용하기 위해서는 프로그램을 재 실행하거나 다음의 갱신 명령을 실행합니다.
fsradm config adjust
4.2.2. 리소스 구성
리소스 파일의 파일 형식은 '*.res
'이며, 경로는 시스템 설정 파일의 'options/resource_path' 항목에 명시되어 있습니다.
resource_path 의 기본 값은 현재 위치('.')이고 시스템 구성 파일의 위치를 기준으로 하여, 기본 위치는 config.json
파일의 위치와 같습니다.
다음은 리소스 구성 파일의 예 입니다.
{ "id": "r0", "description": "test resource", "auto_start": true, "nodes": [ { "name": "node1", "urls": { "repl": "10.20.200.75:9810", "sync": "10.20.200.75:9811" }, "directories": [ { "path": "G:/test/r0", "exclude_patterns": [ ] } ] }, { "name": "node2", "urls": { "repl": "10.20.200.76:9810", "sync": "10.20.200.76:9811" }, "directories": [ { "path": "G:/test/r0", "exclude_patterns": [ ] } ] } ], "connections": [ { "node1": { "name": "node1" }, "node2": { "name": "node2" }, "buffer": { "size": 1024 }, "network": { "ping_interval": 10, "compress": false, "tls": false, "limit": 0 } } ], "options": { "exclude_patterns": [ ] } }
리소스 기동
리소스를 사용하기 위해서는 메타 데이터를 생성하는 초기화 과정을 거쳐야 합니다.
fsradm resource create-meta
[리소스명] {–force | -f}
메타 데이터가 생성된 리소스를 복제 대상으로 적재합니다.
fsradm resource attach [리소스명]
적재 된 리소스는 아직 상대 노드와 연결을 시도하지 않고 있는 상태이므로 연결 명령을 실행해야 합니다.
fsradm resource connect [리소스명] [상대노드명]
적재와 연결 명령을 하나로 묶은 up 명령이 제공되고 통상 up 명령으로 리소스를 기동합니다.
fsradm resource up [리소스명]
리소스 중지
리소스의 연결은 disconnect
명령으로 해제할 수 있습니다.
fsradm resource disconnect [리소스명] [상대노드명]
연결이 해제된 리소스를 분리합니다.
fsradm resource detach [리소스명]
리소스 기동과 같이, 연결 해제와 분리 두 명령을 하나로 묶은 down
명령으로 제공하고 통상 리소스 중지를 down 으로 수행합니다.
fsradm resource down [리소스명]
4.3. 버퍼 구성
비동기 복제 버퍼를 구성하는 것은 FSR 구성에 있어서 가장 중요한 사항으로 리소스를 기동하기 전에 버퍼 용량과 관련 구성사항들을 운영환경에 맞게 구성해야 합니다.
버퍼는 커널에 고정적으로 할당되는(비페이징 풀) 커널 메모리 버퍼와 파일로 할당되는 파일버퍼로 제공합니다. 1:N 복제의 경우 연결 개수(N) 만큼 개별적으로 지정해야 합니다.
4.3.1. 메모리 버퍼
커널에서 할당되는 메모리는 가용 용량이 제한적입니다. 시스템 가용 용량에 비해 너무 많이 할당할 경우 시스템 성능에 영향을 줄 수 있으므로 적정한 수준으로 할당해야 합니다.
최대 수십GB 까지 할당할 수 있으며 보통 수GB 수준으로 할당합니다.
4.3.2. 파일 버퍼
파일버퍼는 파일버퍼가 위치하는 디스크의 공간이 허용되는 용량 만큼 할당할 수 있습니다. 최대 수십TB 까지 할당할 수 있으며 보통 수십GB 수준의 대용량으로 운영할 수 있습니다. 그러나 파일버퍼를 시스템 볼륨의 경로로 구성할 경우 파일버퍼의 읽기,쓰기 I/O 로 인해 시스템 전반의 성능에 영향을 줄 수 있습니다. 파일버퍼는 별도의 디스크로 운영하는 것을 권장합니다.