...
최초 리소스를 기동할 경우 메타 데이터를 생성하는 초기화 과정을 수행합니다. 메타 데이터 초기화는 리소스 최초 기동시 한번 만 수행해야 합니다.
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... |
연결 상태
복제 상태
파일 상태
성능 조회
다음의 명령을 통해 성능을 조회할 수 있습니다.
...