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": [ ] } }
리소스 생성
먼저, 리소스파일을 준비합니다. 리소스 파일 경로에 직접 생성하거나 REST-API를 통해 생성할 수 있습니다. 이 때, 파일명과 id 항목의 값을 반드시 동일하게 지정해야 합니다.(id 와 파일명을 식별하기 위한 용도)
리소스 기동
리소스를 사용하기 위해서는 메타 데이터를 생성하는 초기화 과정을 거쳐야 합니다.
fsradm resource create-meta
[리소스명] {–force | -f}
메타 데이터가 생성된 리소스는 적재 및 가동이 가능합니다.
fsradm resource attach [리소스명]
적재 된 리소스는 아직 상대 노드와 연결을 시도하지 않고 있는 상태이므로 연결 명령을 실행해야 합니다.
fsradm resource connect [리소스명] [상대노드명]
적재와 연결 명령은 하나로 묶은 up 명령도 제공됩니다.
fsradm resource up [리소스명]
리소스 중지
리소스의 연결은 disconnect
명령으로 해제할 수 있습니다.
fsradm resource disconnect [리소스명] [상대노드명]
연결이 해제된 리소스를 분리하면 리소스가 완전히 해제됩니다.
fsradm resource detach [리소스명]
리소스 가동과 같이, 두 명령을 하나로 묶은 down
명령도 제공됩니다.
fsradm resource down [리소스명]
리소스 삭제
리소스를 완전히 삭제해야 할 경우를 위해 메타 데이터 삭제 명령을 제공합니다.
fsradm resource delete-meta [리소스명] {–force | -f}
메타 데이터의 삭제를 진행하지 않고 리소스 파일을 지워버렸을 경우에는 다음의 명령으로 리소스 파일이 존재하지 않는 메타 데이터를 삭제할 수 있습니다.
fsradm resource cleanup-meta