Versions Compared

Key

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

Table of Contents

...

소스 노드와 타깃노드를 대상으로 한 1:1 복제 구성입니다.<그림>

1:N 복제

하나의 소스노드를 다수의 타깃노드로 동시 복제하는 1:N 복제 구성입니다.

<그림>

N:1 복제

다수의 노드를 소스로 하고 하나의 노드를 타깃으로 구성하는 N:1 복제 방식 입니다.<그림>

로컬 복제

소스와 타깃의 복제 대상을 하나의 노드로 노드에서 지정하는 방식입니다. 별도의 타깃노드를 두지 않고 로컬에 실시간 백업을 하거나 로컬 마이그레이션을 하기위한 하기 위한 용도로 사용합니다.<그림>

공유 볼륨 복제

하나의 소스 데이터를 두 노드가 공유하고 또 다른 타깃 노드로 복제하는 구성입니다. 공유 볼륨은 SAN 형태의 스토리지 볼륨, NFS의 공유볼륨을 대상으로 합니다.

Info

...

NFS 공유 볼륨에 대한 복제는 네트워크 공유의 특성상 FSR이 공유 볼륨에 접근하는 클라이언트 호스트들을 모두 통제할 수 없기 때문에 복제 대상 데이터의 모든 변경분을 실시간 추적할 수 없습니다. 따라서 NFS 공유 복제는 FSR에서 공유대상을 주기적으로 동기화하여 타깃에 반영하는 구조 입니다.

<그림- 공유 스토리지>

<그림- NFS 공유>

NFS 공유 볼륨 복제는 1.1 버전에서 지원할 예정 입니다.


구성 파일

구성파일은 복제의 구성 유형과 속성을 기술하는 json 형식의 텍스트 파일로서 시스템 구성파일과 리소스 구성파일로 기술합니다. 시스템 구성파일에는 FSR의 동작에 필요한 노드 전역적인 경로들이 지정되고, 리소스 구성파일에서 ip주소, 복제대상, 핸들러 등 복제를 위한 구체적인 사항을 기술합니다. 

...

시스템 구성파일은 config.json 파일입니다. 별도 경로를 지정하지 않을 경우 %FSR_HOME%/conf/config.json 의 경로에 위치합니다.

구성파일을 수정한 뒤 적용하기 위해서는 프로그램을 재 실행하거나 다음의 갱신 명령을 실행합니다.

fsradm config adjust

리소스 구성

리소스 파일의 파일 형식은 '*.res'이며, 경로는 시스템 설정 파일의 'options/resource_path' 항목에 명시되어 있습니다.
resource_path 의 기본 값은 현재 위치('.')이고 시스템 구성 파일의 위치를 기준으로 하여, 기본 위치는 config.json 파일의 위치와 같습니다.

다음은 리소스 구성 파일의 예 입니다.

Code Block
languagejstext
titler0.res
{
  "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": [
    ]
  }
}

...