Versions Compared

Key

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

...

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

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

메타 데이터가 생성된 리소스를 복제 대상으로 적재합니다.

fsradm resource attach [리소스명]

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

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

통상 up 명령으로 리소스를 기동합니다. up은 적재와 연결 명령을 모두 순차적으로 수행합니다.

fsradm resource up [리소스명]


리소스 중지

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

fsradm resource disconnect [리소스명] [상대노드명]

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

fsradm resource detach [리소스명]

통상 down 으로 리소스를 중지합니다. down은 연결 해제와 분리 명령을 모두 순차적으로 수행합니다.

fsradm resource down [리소스명]


동기화

복제 구성을 한 이후 소스와 타깃 양노드의 리소스가 기동하여 복제 연결이 성립되면 동기화와 복제를 시작하기 전 상태로 대기 합니다. 이 상태에서 소스가 될 노드의 리소스 역할을 Primary로 승격하여 초기 동기화를 시작합니다. 이 시점에 복제도 동시에 시작됩니다.

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

fsradm resource promote primary [리소스명]


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

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

c:\>fsradm resource promoteprimary r0 -f
done

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

...

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

fsradm resource demote secondary [리소스명]


복제는 Primary 역할로 승격된 노드를 소스로 하여 수행되지만 동기화는 역할에 관계없이 동기화가 필요할 경우 수행됩니다. 복제가 중단되더라도 동기화는 지속될 수 있으며 동기화와 복제의 동작방식이 여기에서 차이가 있습니다.

...

소스노드에서 리소스를 강등합니다.

Code Block
c:\>fsradm resource demotesecondary r0
done

타깃노드의 리소스를 승격합니다.

Code Block
c:\>fsradm resourceprimary promote r0
done

승격이 성공하면 절체 완료로 간주합니다.

...

Info

고려사항

절체 시 타깃노드의 리소스 파일상태는 UpToDate 상태일 때 복제 정합성이 보장됩니다. 만약 복제 연결이 단절되어 타깃이 최신 데이터를 가지지 못한 경우 이거나 타깃노드의 리소스가 동기화 중인 Inconsistent 상태일 경우에는 소스와 정합하지 않은 상태이므로 절체를 제한해야 합니다.


조회

상태 조회

FSR의 상태를 다음의 fsradm status 명령을 통해 조회할 수 있습니다.<상태 조회 스크랩>

Code Block
λ fsradm status all
r0 role:primary file:up_to_date pending:0 locked:false
  node2 state:repl_source peer-state:repl_target role:secondary file:up_to_date
    last-synced:2019-10-24T15:30:12+09:00
  node3 state:connecting peer-state:unknown role:secondary file:unknown
    last-synced:none

r1 role:secondary file:inconsistent pending:0 locked:false
  node2 state:connecting peer-state:unknown role:secondary file:unknown
    last-synced:none

상세 출력 옵션을 사용하면 더 많은 상태 정보를 조회할 수 있습니다.<상태 상세 조회 스크랩>

Code Block
λ fsradm status -v
r0:node1 role:primary file:up_to_date pending:0 locked:false
  last-promoted:2020-06-10T09:40:32+09:00
  node2 state:repl_source peer-state:repl_target role:secondary file:up_to_date
    repl-started:2020-06-10T09:40:32+09:00 last-synced:2020-06-10T09:40:33+09:00
  node3 state:connecting peer-state:unknown role:secondary file:unknown
    repl-started:2020-04-09T09:50:38+09:00 last-synced:2020-04-09T09:50:53+09:00

상태 조회를 지속하고 싶다면 --watch(-w) 와 --interval(-i) 옵션을 사용하여 상태를 모니터링할 수 있습니다.

Code Block
λ fsradm status all -w -i 1
r0 role:secondary file:inconsistent locked:false
  node2 state:established peer-state:established role:secondary file:inconsistent
    last-synced:none
  node3 state:connecting peer-state:unknown role:secondary file:unknown
    last-synced:none

r1 role:secondary file:inconsistent locked:false
  node2 state:connecting peer-state:unknown role:secondary file:unknown
    last-synced:none

update every 1.0s. current executions: 84
press 'q' or 'ctrl+c' to quit...


연결 상태

복제 상태

파일 상태

성능 조회

다음의 명령을 통해 성능을 조회할 수 있습니다.

...