Versions Compared

Key

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

...

복제 운영은 리소스 단위로 수행합니다.

리소스 기동

최초 리소스를 기동할 경우 기동하기 전에 메타 데이터를 생성하는 초기화 과정을 수행합니다수행해야 합니다. 메타 데이터 초기화는 리소스 최초 기동시 한번 만 수행해야 수행 합니다.

fsradm create-meta [리소스명] {–force | -f}

...

적재 된 리소스는 아직 상대 노드와 연결을 시도하지 않고 있는 상태이므로 않는 중립 상태입니다. 연결 명령을 실행해야 합니다통해 복제 연결을 시도합니다.

fsradm connect [리소스명] [상대노드명]

통상 up 명령으로 리소스를 기동합니다. up은 적재와 연결 명령을 모두 순차적으로 수행합니다up 명령을 통해 attach 와 connect 를 순차적으로 수행할 수 있습니다. 보통 리소스를 기동할 때 up 명령을 사용합니다.

fsradm up [리소스명]


리소스 중지

리소스의 연결은 연결을 disconnect 명령으로 해제할 수 있습니다.

...

연결이 해제된 리소스를 분리합니다.

fsradm detach [리소스명]

통상 down 으로 리소스를 중지합니다. down은 연결 해제와 분리 명령을 모두 순차적으로 수행합니다down 명령으로 disconnect 와 detach 를 순차적으로 수행할 수 있습니다. 보통 리소스 중지는 down 명령을 사용합니다.

fsradm down [리소스명]


동기화

초기동기화

소스와 타깃 양노드의 리소스를 기동하여 복제 연결을 성립하면 동기화를 시작하기 전 상태로 대기 합니다. 초기 동기화의 방향이 결정되지 않은 평형상태 입니다. 이 상태에서 소스가 될 노드의 리소스 역할을 Primary로 승격하여 초기 동기화를 시작합니다. 동기화가 시작됨과 동시에 소스 측 데이터의 변경분이 발생하면 해당 변경분에 대해서도 실시간 복제합니다. FSR은 기본적으로 동기화와 복제를 동시에 수행합니다. 

...

fsradm primary [리소스명]


초기 동기화 시점의 로컬 파일의 상태는 파일은 양노드 정합성이 맞지 않는 상태(Inconsistent)를 않은 Inconsistent 상태를 초기값으로 하기 때문에 기본적으로 승격이 거부됩니다. 그래서 초기 승격 시에는 강제(-f 옵션) 승격을 통해 사용자가 해당 리소스를 소스로 하겠다는 명시적 승격을 수행해야 하겠다고 명시적으로 알려야 합니다.

Code Block
c:\>fsradm primary r0
declined
  r0: not up to date

c:\>fsradm primary r0 -f
done

강제 승격이 성공한 이후성공하면, 소스 노드는 자신의 파일 상태를 UpToDate로 변경하고 자신과 연결된 타깃 노드들을 대상으로 초기동기화를 시작합니다.

초기 동기화는 전체 복제 파일셋을 대상으로 진행하지만 한번 동기화가 완료된 이후에 재동기화를 후 다시 동기화를 할 경우에는 소스 측의 변경분에 대해서만 부분적으로 부분 동기화 합니다. 예를 들어 초기 동기화 이후 복제 연결이 단절되었다가 재연결될 경우 부분적인 재동기화가 수행될 수 있습니다부분 동기화로 진행됩니다.

동기화가 진행되는 도중에 타깃의 파일상태는 Inconsistent이며 동기화가 완료되면 소스와 타깃의 정합성이 일치하는 UptoDate 상태가 됩니다. Inconsistent 상태는 최신의 데이터가 아니므로 복제 운영 측면에선 가능한 Inconsistent 상태를 짧게 유지하는게 바람직합니다.

수동 동기화

운영 도중 동기화를 수동으로 해야할 경우에 다음의 invalidate-remote 명령을 통해 수행합니다. 로컬을 소스로  소스로 하여 피어노드를 동기화 합니다하는 명령입니다.

Code Block
c:\>fsradm invalidate-remote r0

피어를 invalidate 명령은 피어노드를 소스로  하여 동기화 합니다동기화하는 명령입니다.

Code Block
c:\>fsradm invalidate r0

...

Secondary 노드가 승격되어 동기화가 시작됨과 동시에 함께 소스노드의 데이터에 실시간 변경분이 발생할 경우 변경분에 대한 반영을 자동으로 복제도 병행합니다. 복제는 로컬 데이터의 실시간 변경 분을 타깃으로 실시간 반영하는 동작으로 정의 되며 Primary 노드에서 Secondary 노드의 방향으로 진행됩니다. 

동기화와 복제가 진행되는 도중에도 각 노드의 Role 은 사용자 명령에 의해 수동으로 변경될 수 있으며, 승격된 노드를 강등할 경우 Primary 노드가 강등되면 복제는 중단됩니다.

승격된 리소스를 강등 시키기 위한 명령은 다음과 같습니다.

...

복제는 Primary 역할로 승격된 노드를 소스로 하지만 동기화는 역할에 관계없이 동기화가 필요할 경우 수행됩니다. 복제할 변경분이 없거나 강등에 의해 복제가 중단되더라도 동기화는 지속될 수 있습니다동기화가 진행중이었다면 완료될 때 까지 동기화는 지속됩니다.


Info
title누락파일

동기화가 완료된 후 복제를 수행하는 동기화를 끝내고 복제를 수행하던 도중에 복제대상에 없었던 파일이 갑자기 복제대상 경로에 포함될 수 있습니다. 이러한 파일을 누락파일이라고 하며 다음과 같은 운영상황에서 발생할 수 있습니다.

  • 복제 대상에 포함되지 않았던 동일 볼륨 장치 경로에 있었던 파일이 파일 이동(move) 연산을 통해 복제 대상 경로로 유입되는 경우
  • 제외패턴으로 제외되었던 파일이 제외패턴 정책 변경으로 인해 복제 대상에 다시 포함되는 경우

첫 번째의 경우 FSR은 해당 파일에 대한 Filesystem I/O를 캡처할 수 없으며 단지 파일경로에 대한 이름 변경(rename)만 수신하게 되어 복제로 처리할 수 없습니다. 이런 경우 FSR 은 일단 복제상태를 유지하고 이와 동시에 해당 누락파일에 대해서 개별적으로 동기화를 수행하여 처리합니다. 두 번째 제외패턴 변경에 따른 누락의 경우는 파일시스템 I/O 연산이 없는 상태에서 복제 대상만 변경된 경우이기 때문에 기본적으로 재동기화로 처리합니다.

...