Versions Compared

Key

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

Table of Contents

...

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

Drawio
mVer2
simple0
zoom1
inComment0
custContentId3634069575
pageId1063420292
diagramDisplayNamefsr-1_n_repl
lbox1
contentVer1
revision1
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-1_n_repl
pCenter0
width361
links
tbstyle
height161

N:1 복제

다수의 노드를 소스로 하고 하나의 노드를 타깃으로 구성하는 복제 방식 입니다.

Drawio
mVer2
simple0
zoom1
inComment0
custContentId3634135155
pageId1063420292
diagramDisplayNamefsr-n_1repl
lbox1
contentVer1
revision1
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-n_1repl
pCenter0
width321
links
tbstyle
height161

로컬 복제

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

Drawio
mVer2
simple0
zoom1
inComment0
custContentId3633971302
pageId1063420292
diagramDisplayNamefsr-local_mirror
lbox1
contentVer1
revision1
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-local_mirror
pCenter0
width141
links
tbstyle
height201

공유 볼륨 복제

하나의 소스 데이터를 두(active-standby) 노드가 공유하고 이 소스 데이터를 제 3의 타깃 노드로 복제하는 구성입니다. 공유 볼륨은 이 방식은 SAN 형태의 스토리지 볼륨이 2 노드에서 동시에 공유되는 상태를 말하며 해당 노드들에 FSR 이 모두 설치되어 있어야 합니다.

주기적 동기화

주기적으로 동기화만 수행 할 볼륨에 대한 구성 방식입니다. 실시간 복제는 수행하지 않습니다. 특히 원격의 NFS 공유볼륨과 같이 실시간 복제를 할 수 없는 볼륨의 경우 이 방식을 사용하여 주기적으로 백업할 수 있습니다.

단, NFS 공유 볼륨에 대한 동기화는 소스로만 지정해야 하고 동기화 타깃으로 지정하지 않도록 합니다. NFS 공유 볼륨은 다수의 클라이언트에 의해 쓰기가 수행 되므로 FSR 엔진을 단독으로 한 동기화 타깃 역할로써 통제할 수 없습니다. 이와 관련한 보다 자세한 사항은 부록의 주기적 동기화 부분을 참고하세요.

...

공유 볼륨을 2 노드에서 동시에 공유하면서 DR 로 실시간 복제하는 경우에 사용하는 방식입니다.

Drawio
mVer2
simple0
zoom1
inComment0
custContentId3634200785
pageId1063420292
diagramDisplayNamefsr-sharedDRrepl
lbox1
contentVer1
revision1
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-sharedDRrepl
pCenter0
width531
links
tbstyle
height191


주기적 동기화

실시간 복제는 안되지만 원격의 볼륨을 로컬로 마운트하여 주기적으로 동기화하는 구성 방식입니다. 특히 원격의 NAS 공유볼륨의 경우 이 방식을 사용하여 주기적으로 백업하는데 사용합니다.

타깃은 DAS 또는 NAS 가 될 수 있으나, NAS 타깃의 경우 복제 정합성을 맞추려면 해당 타깃 리소스에 쓰기가 발생하지 않도록(NAS에 FSR 이 없으므로 파일 잠금 불가능) 관리자가 보장해야 합니다.

Info

타깃을 NAS로 하는 구성은 FSR 1.2.3 버전부터 지원합니다.


Info

NAS 와 같은 원격지 볼륨에 대한 복제는 볼륨에 접근하는 임의의 모든 클라이언트 호스트들을 통제할 수 없기 때문에 복제 대상 데이터의 모든 변경 분을 실시간 추적하는 것은 기술적으로 불가합니다. 

Drawio
mVer2
simple0
zoom1
inComment0
custContentId3633742093
pageId1063420292
diagramDisplayNamefsr-nfs_periodic_sync
lbox1
contentVer5
revision5
baseUrlhttps://mantech.jira.com/wiki
diagramNamefsr-nfs_periodic_sync
pCenter0
width421
links
tbstyle
height521


이와 관련한 보다 자세한 사항은 부록의 주기적 동기화 부분을 참고하세요.


복제 대상

FSR은 복제 대상 기본적으로 로컬디스크에 있는 파일을 복제 대상으로 하고 파일의 데이터와 속성을 동기화하고속성, 파일에 발생하는 쓰기를 포함한 모든 변경 분 I/O 에 대해 동기화 하고 복제 합니다(일부 속성은 선택 사항). 다만 .

  • 파일 접근 시간 속성은 복제할 수 없습니다(

...

  • 소스/타깃 양 측에서 파일에 접근한 시간을 일치시키는 것은 일반적으로 불가능합니다).
  • NAS 경로는 복제하지 않습니다.(주기적 동기화만 지원합니다).
    • 복제 경로 하위에 NAS 경로가 마운트 되는 것 역시 허용하지 않습니다.

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

  • 시스템 볼륨 전체(예: c:\, /(root))를 복제 대상으로 지정하면 안됩니다. 시스템 볼륨에는 복제해선 안되는 시스템 파일들이 있으며 FSR은 이들을 모두 제외필터로 자동으로 등록해 주지 않기 때문에 주의해야 합니다.
  • 시스템에서 사용하는 파일이나 디렉터리를 복제해선 안됩니다. 루트(시스템) 경로의 시스템 파일들을 타깃으로 동기화 하거나 복제 할 경우 타깃의 주요 시스템 구성을 파괴할 수 있습니다.
  • 타깃에 복제된 파일을 Application 에서 열도록 허용해선 안됩니다. 양측 파일의 정합성을 유지하기 위해서 취해야 할 최소한의 조치 입니다. 이를 위해 FSR은 타깃 파일 보호 기능을 잠금을 통해 Secondary 파일들의 잠금을 수행합니다파일들을 보호합니다.
  • 타깃 디렉터리에 복제하기 전에 타깃 디렉터리에 있던 다른 데이터가 덮어쓰기 되지 않도록 사전에 반드시 확인해야 합니다.

...

FSR 엔진은 리소스 기동 시점에 구성 파일을 해석하여 구성 형태에 맞게 노드 간 연결 및 복제 대상경로 등을 초기화 하여 복제 서비스를 준비 합니다.

구성파일의 형식과 관련한 세부 속성은 속성 1.1.x의 내용을 참고하세요.

시스템 구성

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

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

fsradm config adjust

리소스 구성

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

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

Code Block
languagetext
title1:1 복제
{
  "id": "r0",
  "description": "test resource",
  "auto_up": true,
  "nodes": [
    {
      "name": "node1-hostname",
      "url": "10.20.200.75:9810",
      "files": [
        {
          "path": "G:/test/r0",
          "exclude_patterns": [
          ]
        }
      ]
    },
    {
      "name": "node2-hostname",
      "url": "10.20.200.76:9810",
      "files": [
        {
          "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": [
    ]
  }
}

...

버퍼는 커널에 고정적으로 할당하는(비페이징 풀) 커널 메모리 버퍼와 파일로 할당하는 파일버퍼로 구성합니다. 시스템에 가용한 커널 메모리는 제한적이기 때문에 시스템의 메모리 상황에 맞게 메모리 버퍼를 산정해야 하고 메모리 버퍼 공간이 부족할 경우 추가적으로 파일버퍼로 충당할 수 있습니다. FSR은 메모리버퍼를 우선하여 사용하고 메모리 버퍼가 다 사용될 경우 파일버퍼링으로 전환하여 처리합니다. 만약 두 버퍼가 모두 오버플로우 된다면 되면 버퍼링은 자동 중단되고 그에 따라 중단하고 버퍼링되었던 데이터들은 모두 버려지고 버린 후 재동기화 단계로 이행하게 됩니다이행 합니다. 따라서 가능한 한 버퍼링을 위한 공간을 많이 복제상태를 유지하려면 충분한 버퍼 공간을 확보하여 동기화 상태로 전환되지 않고 복제 상태가 유지되도록 할 필요가 있습니다자주 가지 않게 해야 합니다.

또한 메모리와 파일버퍼는 근본적으로 I/O 성능에 큰 차이가 있기 때문에 로컬 시스템의 I/O 부하가 크다면 메모리 버퍼를 많이 확보하는 운영방식이 성능에 유리합니다.

...

DR 사이트 구축을 위한 DRX 연동 구성은 DRX 파일복제 구성의 내용을 참고하세요.