Versions Compared

Key

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

Table of Contents

...

Info

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

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

복제 대상

FSR은 복제 대상 파일의 데이터와 속성을 동기화하고, 파일에 발생하는 쓰기를 포함한 모든 변경분 I/O 에 대해 복제 합니다(일부 속성은 선택사항). 다만 파일 엑세스 시간, 오프라인, 재분석 등 운영환경에 의존적이거나 특수한 파일속성은 복제할 수 없습니다.

그리고 복제를 구성하기 전 다음의 사항들에 대해 주의해야 합니다.

  • 시스템에서 사용하는 파일이나 디렉터리는 복제해선 안됩니다.
  • 타깃에 복제된 파일을 Application 에서 열도록 허용해선 안됩니다. 이를 위해 FSR은 타깃 파일 보호 기능을 제공하며 이는 선택사항 입니다.
  • 타깃 디렉터리에 복제하기 전에 타깃 디렉터리에 있던 다른 데이터가 덮어쓰기 되지 않도록 사전에 반드시 확인해야 합니다.


구성 파일

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

...

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

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

fsradm config adjust

리소스 구성

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

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

Code Block
languagetext
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": [
    ]
  }
}

...

Info

FSR의 구성파일은 json 형식으로 기술하며 json 형식에 따라 하나의 속성을 키와 값의 쌍으로 기술합니다. 속성의 유형에 따라 객체(object)와 배열(array)형식으로 기술할 수 있으며기술하고, 객체는 중괄호로 구분하고 중괄호 배열은 대괄호로 구분합니다. 또한 객체와 배열은 혼합하여 기술할 수 있습니다.

기본 구성

  • 리소스를 식별하기 위한 ID를 기술합니다지정합니다.
  • 복제 대상 노드들을 nodes 항목에 배열 형식으로 기술합니다. node 항목 내에서 hostname, ip 주소:포트 를 기술합니다. hostname 을 기술하지 않고 IP 주소로 name 항목을 기술할 수도 있습니다.
  • 복제대상을 directories 항목에 디렉터리와 파일로 기술합니다. 필요하다면 제외패턴을 추가적으로 기술합니다.

...

FSR은 복제 대상 파일의 데이터와 속성을 동기화하고, 파일에 발생하는 쓰기를 포함한 모든 변경분 I/O 에 대해 복제 합니다(일부 속성은 선택사항). 다만 파일 엑세스 시간, 오프라인, 재분석 등 운영환경에 의존적이거나 특수한 파일속성은 복제할 수 없습니다.

그리고 복제를 구성하기 전 다음의 사항들에 대해 주의해야 합니다.

...

  • 지정합니다.

개별 연결 구성

connections 항목을 기술하지 않을 경우 복제 대상 노드들은 각각의 노드들이 모두 연결을 수립합니다. 이것을 mesh 네트워크라고 합니다. mesh 네트워크에서 n 노드에 대한 복제 연결은 n*(n-1)/2 만큼 생성됩니다.

...