Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

Overview

  • 사용자/복제 콘솔 응용은 FSR에 CLI 명령어를 전달하여 FSR의 운영과 관련한 모든 동작을 수행할 수 있습니다.

  • FSR CLI 는 모두 REST-API 로 제공합니다.

  • 노드 별 개별 설정은 각 노드상에서 명령어로 설정하거나 제어합니다.(클러스터 단위의 제어명령은 제공하지 않는다)

  • 모든 설정은 기본적으로 운영 중 동적 적용 가능합니다.(필수 속성 등 일부 설정 제외A user/replication console application can pass CLI commands to the FSR to perform any action related to the operation of the FSR.

  • The FSR CLI is all provided as a REST-API.

  • Node-specific settings are set or controlled by commands on each node (no cluster-wide control commands are provided).

  • All settings are dynamically adaptable by default during operation (except for some settings such as required attributes)

REST-API

모든 All REST-API는 gRPC 기반으로 제작되었으며, APIs are built on gRPC and operate as JSON-RPC over HTTP 형태로 동작합니다. 감시를 위한 기능은 지속적인 데이터 전달이 필요하므로 gRPC만 제공됩니다. The functionality for surveillance requires continuous data passing, so only gRPC is provided.

분류

항목

REST-API

동작

비고

1

설정config

시스템 설정 조회

Status
titleGET

/api/v1/config

동작 중인 설정을 반환

-

2

시스템 설정 조회 (파일)

Status
titleGET

/api/v1/config/dump

파일을 읽어 반환

-

3

시스템 설정 조회 (파일, XML)

Status
titleGET

/api/v1/config/dump-xml

파일을 읽어 XML로 반환

-

4

시스템 설정 변경

Status
colourPurple
titlePUT

/api/v1/config

파일에 저장

-

5

시스템 설정 변경 (업데이트)

Status
colourPurple
titlePUT

/api/v1/config/update

설정을 적용하고 파일에 저장

변경할 부분만 받아 처리함
adjust 호출 필요 없음

6

시스템 설정 갱신

Status
colourBlue
titlePOST

/api/v1/config/adjust

파일로부터 읽어 동작 중인 설정을 갱신

-

7

리소스 목록 조회

Status
titleGET

/api/v1/resources

리소스 ID 목록 반환

필요성 점검 필요

8

개별 리소스 설정 조회

Status
titleGET

/api/v1/resource/{ID}

동작 중인 설정을 반환

all 사용 가능

9

개별 리소스 설정 조회 (파일)

Status
titleGET

/api/v1/resource/{ID}/dump

파일을 읽어 반환

all 사용 가능

10

개별 리소스 설정 조회 (파일, XML)

Status
titleGET

/api/v1/resource/{ID}/dump-xml

파일을 읽어 XML로 반환

all 사용 가능

11

개별 리소스 설정 변경

Status
colourPurple
titlePUT

/api/v1/resource/{ID}

파일에 저장

없는 ID 지정 시 새 리소스 파일 생성

12

개별 리소스 설정 변경 (업데이트)

Status
colourPurple
titlePUT

/api/v1/resource/{ID}/update

설정을 적용하고 파일에 저장

변경할 부분만 받아 처리함
adjust 호출 필요 없음

13

개별 리소스 설정 갱신

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/adjust

파일로부터 읽어 동작 중인 설정을 갱신

all 사용 가능

14

개별 리소스 설정 삭제

Status
colourRed
titleDELETE

/api/v1/resource/{ID}

파일 삭제

동작 중인 리소스에는 영향이 없다

15

제어control

메타 데이터 생성

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/create-meta

리소스 메타 데이터 생성

all 사용 가능

16

메타 데이터 삭제

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/delete-meta

리소스 메타 데이터 삭제

all 사용 가능

17

메타 데이터 정리

Status
colourBlue
titlePOST

/api/v1/resource/cleanup-meta

사용되지 않는 메타 데이터 삭제

-

18

리소스 추가

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/add

리소스 파일을 읽어 적재

all 사용 가능

19

리소스 삭제

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/delete

리소스를 목록에서 제거

all 사용 가능

20

리소스 파일 적재

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/attach

리소스에 파일 적재

all 사용 가능

21

리소스 파일 분리

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/detach

리소스에서 파일 분리

all 사용 가능

22

리소스 기동

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/up

리소스를 적재하여 실행

all 사용 가능.
add, attach, connect 동작

23

리소스 중지

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/down

리소스의 연결을 끊고 분리

all 사용 가능.
disconnect, detach, del 동작

24

승격

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/primary

Primary로 승격 시도

-

25

강등

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/secondary

Secondary로 강등

-

26

연결

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/connect/{PEER}

Connecting 상태로 변경

all 사용 가능. peer 생략 시 전체 연결

27

연결 해제

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/disconnect/{PEER}

Standalone 상태로 변경

all 사용 가능. peer 생략 시 전체 연결 해제

28

동기화 시작

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/resync/{PEER}

상대 노드를 소스로 동기화 시작

all 사용 가능

29

원격 동기화 시작

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/resync-remote/{PEER}

이 노드를 소스로 동기화 시작

all 사용 가능

30

정합성 검증 시작

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/verify/{PEER}

상대 노드를 소스로 정합성 검증 시작

all 사용 가능

31

일시 중지

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/pause

동기화 또는 복제 일시 중지

all 사용 가능. peer 생략 시 전체 일시 중지

32

재개

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/resume

동기화 또는 복제 재개

all 사용 가능. peer 생략 시 전체 재개

33

파일 보호

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/lock/{LEVEL}

파일 보호 시작

all 사용 가능. 쓰기 방지, 읽기/쓰기 방지

34

파일 보호 해제

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/unlock

파일 보호 해제

all 사용 가능

35

RID 갱신

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/rid/update

리소스의 RID 갱신 (Rotate)

-

36

RID 강제 설정

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/rid

리소스의 RID를 변경

-

37

열려있는 파일 닫기

Status
colourBlue
titlePOST

/api/v1/resource/{ID}/close-files

복제를 위해 열려있는 파일을 모두 닫음

all 사용 가능

38

네트워크 대역폭 변경

Status
colourPurple
titlePUT

/api/v1/resource/{ID}/override/network-limit/{PEER}

네트워크 대역폭을 임의로 변경

all 사용 가능

39

네트워크 대역폭 되돌리기

Status
colourRed
titleDELETE

/api/v1/resource/{ID}/override/network-limit/{PEER}

네트워크 대역폭을 구성 값으로 되돌리기

all 사용 가능

40

조회Inqury

리소스 상태 조회

Status
titleGET

/api/v1/resource/{ID}/status

리소스와 연결의 상태 값 목록 반환

all 사용 가능

41

리소스 성능 조회

Status
titleGET

/api/v1/resource/{ID}/perf

BAB, 소켓 등의 성능 정보 반환

all 사용 가능

42

정합성 검증/동기화 결과 조회 (요약)

Status
titleGET

/api/v1/resource/{ID}/result

동기화 또는 정합성 검증의 결과 요약 내용 반환

-

43

정합성 검증/동기화 결과 조회 (범위)

Status
titleGET

/api/v1/resource/{ID}/result/batch/{index}/{count}

동기화 또는 정합성 검증의 파일 결과 반환

시작 인덱스와 요청 개수 지정

44

정합성 검증/동기화 결과 조회 (파일)

Status
titleGET

/api/v1/resource/{ID}/result/file/{dir}/{name}

동기화 또는 정합성 검증의 파일 결과 반환

디렉토리 인덱스와 파일명 지정

45

RID 조회

Status
titleGET

/api/v1/resource/{ID}/rid

리소스의 RID 값 반환 (Old ULID 축약)

all 사용 가능

46

RID 조회 (전체)

Status
titleGET

/api/v1/resource/{ID}/rid-long

리소스의 RID 값 반환 (전체 Old ULID)

all 사용 가능

47

EFS

인증서 목록 조회

Status
titleGET

/api/v1/efs/cert

실행 계정의 인증서 목록 반환

-

48

인증서 내보내기

Status
colourBlue
titlePOST

/api/v1/efs/cert/{Thumbprint}/export

지정 인증서를 pfx 포맷으로 반환

인증서 내용은 base64 인코딩으로 전달

49

인증서 가져오기

Status
colourBlue
titlePOST

/api/v1/efs/cert

인증서를 스토어로 가져오기

인증서 내용은 base64 인코딩으로 전달

50

암호화를 위한 현재 인증서 지정

Status
colourBlue
titlePOST

/api/v1/efs/cert/{Thumbprint}/set-current

지정 인증서를 현재 인증서로 지정

-

51

인증서 삭제

Status
colourRed
titleDELETE

/api/v1/efs/cert/{Thumbprint}

지정 인증서 삭제

-

52

관리Manage

FSR 정보 조회

Status
titleGET

/api/v1/system

버전 등의 일반적인 정보 반환

-

53

FSR 재시작

Status
colourBlue
titlePOST

/api/v1/system/restart

FSR 프로세스 재시작

-

54

FSR 중지

Status
colourBlue
titlePOST

/api/v1/system/stop

FSR 프로세스 중지

-

55

도구Tool

RID 비교

Status
colourBlue
titlePOST

/api/v1/tool/rid_compare

두 RID 비교

-

56

라이선스License

라이선스 조회

Status
titleGET

/api/v1/license

라이선스 상태 조회

-

57

라이선스 설정

Status
colourPurple
titlePUT

/api/v1/license

라이선스 설정

-

리소스 ID 확장

0.7에서 로컬 복제 기능이 추가되면서 하나의 리소스 파일에 두 개 이상의 노드가 로컬에 적재 될 수 있게 되었습니다. 이런 경우 리소스 ID만으로는 노드를 구분할 수 없으므로 다음과 같이 노드명을 추가로 지정해야 합니다.

...

  • 노드명 지정: fsradm up r0:node1

  • 노드명 생략: fsradm up r0

조회 명령의 출력 내용

리소스 상태 조회

  • Resources(Array)

    • id: 리소스 ID

    • node: 자신의 노드명

    • role: 역할

    • file_state: 파일 상태

    • lock: 파일 잠금 상태

    • last_promoted: 마지막으로 승격된 시간

    • pending: 다운로드 중인 파일 개수

    • connections(Array): 상대 노드와의 연결 목록

      • peer: 상대 노드명

      • state: 내 상태

      • role: 상대 노드의 역할

      • peer_state: 상대 노드 상태

      • file_state: 상대 노드 파일 상태

      • repl_started: 복제가 시작된 시간

      • last_synced: 최근 동기화 완료 시간

      • out_of_sync: 타겟에 적용되지 않았고 버퍼링 되지 않은 데이터량

      • sync_errors: 동기화 오류 발생 수

      • sync: 동기화 상태. 진행 중인 아니면 NULL

        • message: 상태 메시지

        • errored_files: 오류가 발생한 파일 수

        • bytes_done: 동기화 완료된 바이트 수

        • bytes_total: 동기화 해야하는 총 바이트 수

        • progress: 진행률 (0~100%)

리소스 성능 조회

  • Resources(Array)

    • id: 리소스 ID

    • node: 자신의 노드명

    • connections(Array): 상대 노드와의 연결 목록

      • peer: 상대 노드명

      • bytes_in: 초당 수신량

      • bytes_out: 초당 전송량

      • memory_buffer: 메모리 버퍼 상태

        • usage: 사용량

        • size: 크기

      • file_buffer: 파일 버퍼 상태

        • usage: 사용량

        • limit: 제한

명령어

fsradm의 모든 기능은 gRPC와 REST-API를 통해 동작합니다.
control 명령이 기본 명령으로 지정되어 있으므로 생략하고 하위 명령을 바로 사용 할 수 있습니다.

...

시간 값의 경우 다음과 같이 단위를 같이 기입 할 수 있습니다. 기본 단위는 '초'입니다.

  • 100ms, 0.1s, 1m, 1h

설정

명령어

옵션

옵션 설명

사용 API

설명

1

system config dump
sys conf dump

-

-

Status
titleGET
/api/v1/config/dump

시스템 구성 파일의 내용을 JSON으로 출력.

2

system config dump-xml
sys conf dump-xml

-

-

Status
titleGET
/api/v1/config/dump-xml

시스템 구성 파일의 내용을 XML로 출력.

3

system config show
sys conf show

-

-

Status
titleGET
/api/v1/config

동작 중인 시스템 구성 내용을 JSON으로 출력.

4

system config adjust
sys conf adjust

-

-

Status
colourBlue
titlePOST
/api/v1/config/adjust

시스템 구성 파일의 내용을 동작 중인 리소스에 적용하고 활성화한다.

5

system config edit
sys conf edit

-u, -user

텍스트 에디터로 수정

Status
titleGET
/api/v1/config
Status
colourPurple
titlePUT
/api/v1/config
Status
colourBlue
titlePOST
/api/v1/config/adjust

시스템 구성 내용을 대화형으로 편집하고 적용한다.

6

system config property get {key}
sys conf prop get {key}

-

-

Status
titleGET
/api/v1/config

시스템 구성 파일의 지정 속성 값을 출력한다.

7

system config property set <key> <value>
sys conf prop set <key> <value>

--adjust
-a

리소스에 적용한다

Status
titleGET
/api/v1/config
Status
colourPurple
titlePUT
/api/v1/config
Status
colourBlue
titlePOST
/api/v1/config/adjust

시스템 구성 파일의 지정 속성 값을 변경한다.

8

system config property unset <key>
sys conf prop unset <key>

-

-

상동

시스템 구성 파일의 지정 속성을 기본 값으로 변경한다.

9

control config dump <id|all>
conf dump <id>

-

-

Status
titleGET
/api/v1/resource/{ID}/dump

리소스 구성 파일의 내용을 JSON으로 출력.

10

control config dump-xml <id|all>
conf dump-xml <id>

-

-

Status
titleGET
/api/v1/resource/{ID}/dump-xml

리소스 구성 파일의 내용을 XML로 출력.

11

control config show <id|all>
conf show <id|all>

-

-

Status
titleGET
/api/v1/resource/{ID}

동작 중인 리소스 구성 내용을 JSON으로 출력.

12

control config adjust <id|all>
conf adjust <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/adjust

리소스 구성 파일의 내용을 동작 중인 리소스에 적용하고 활성화한다.

13

control config add <id>
conf add <id>

--force
-f

강제로 덮어 씌우기

Status
colourPurple
titlePUT
/api/v1/resource/{ID}

리소스 구성 파일을 추가한다.

14

--interactive
-i

대화형 설정 모드

15

control config del <id>
conf del <id>

--force
-f

강제 삭제

Status
colourRed
titleDELETE
/api/v1/resource/{ID}

리소스 구성 파일을 삭제한다.

16

control config edit <id>
conf edit <id>

--user
-u

텍스트 에디터로 수정

Status
titleGET
/api/v1/resource/{ID}
Status
colourPurple
titlePUT
/api/v1/resource/{ID}
Status
colourBlue
titlePOST
/api/v1/resource/{ID}/adjust

리소스 구성 내용을 대화형으로 편집하고 적용한다.

17

control config property get <id> {key}
conf prop get <id> {key}

-

-

Status
titleGET
/api/v1/resource/{ID}

리소스 구성 파일의 지정 속성 값을 출력한다.

18

control config property add <id> <key> <value>
conf prop add <id> <key> <value>

--adjust
-a

리소스에 적용한다

Status
titleGET
/api/v1/resource/{ID}
Status
colourPurple
titlePUT
/api/v1/resource/{ID}
Status
colourBlue
titlePOST
/api/v1/resource/{ID}/adjust

리소스 구성의 지정 속성에 값을 추가한다.
목록 형태의 속성에만 유효하다.

19

--index <숫자>

  • i

<숫자>

지정 인덱스에 삽입

20

control config property del <id> <key>
conf prop del <id> <key>

--adjust
-a

리소스에 적용한다

상동

리소스 구성의 지정 속성을 삭제한다.
목록 형태의 속성에만 유효하다.

21

control config property set <id> <key> <value>
conf prop set <id> <key> <value>

상동

상동

상동

리소스 구성 파일의 지정 속성 값을 변경한다.

22

control config property unset <id> <key>
conf prop unset <id> <key>

상동

상동

상동

리소스 구성 파일의 지정 속성을 기본 값으로 변경한다.

개별 속성 설정

속성을 가르키는 key 값은 다음과 같은 방식으로 작성하며, 설정 가능한 모든 속성은 속성 명령(property)의 도움말에 출력됩니다.

  • 구성 파일의 포맷에서 속성의 위치를 경로 형태로 작성합니다.

    Code Block
    λ fsradm conf prop get r0 network/ping_interval
    10 
  • 배열 형태의 속성은 인덱스 번호로 접근합니다.

    Code Block
    λ fsradm conf prop get r0 nodes/0/directories/0/path
    e:/test/local/main
  • 노드명을 사용하는 속성의 경우 노드명을 통한 접근도 지원합니다.

    • 노드 목록

      Code Block
      λ fsradm conf prop get r0 nodes/node1/url
      192.168.35.151:9890
    • 연결 목록
      두 노드의 순서가 바뀌어도 정상 접근됩니다.

      Code Block
      λ fsradm conf prop get r0 connections/node1,node2/buffer
      size: 100
  • 배열 형태의 속성에 값을 추가 할 때는 속성에 맞는 문자열 값을 입력 합니다.
    이미 존재하는 값일 경우 오류가 발생하지 않고 무시됩니다.

    • 노드 목록

      Code Block
      λ fsradm conf prop add r0 nodes node3
      done
    • 연결 목록

      Code Block
      λ fsradm conf prop add r0 connections node1,node3
      done
    • 디렉토리

      Code Block
      λ fsradm conf prop add r0 nodes/node3/directories e:/test/local/main
      done
    • 제외 필터

      Code Block
      λ fsradm conf prop add r0 options/exclude_patterns *.temp
      done
  • 배열 형태의 속성에서 값을 제거 할 경우에도 인덱스 번호와 노드명을 사용할 수 있습니다.

    Code Block
    λ fsradm conf prop del r0 connections/node1,node3
    done
    
    λ fsradm conf prop del r0 nodes/2
    done

제어

명령어

옵션

옵션 설명

사용 API

설명

1

control meta create <id|all>
meta create <id|all>

--force
-f

강제로 덮어 씌우기

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/create-meta

리소스 메타 데이터 생성.
리소스가 분리된 상태에서만 수행 가능하다.

2

control meta delete <id|all>
meta delete <id|all>

--force
-f

강제로 삭제

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/delete-meta

리소스 메타 데이터 삭제.
리소스가 분리된 상태에서만 수행 가능하다.

3

control meta cleanup
meta cleanup

-

-

Status
colourBlue
titlePOST
/api/v1/resource/cleanup-meta

사용하지 않는 메타 데이터 정리.

4

control add <id|all>
add <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/add

리소스 구성 파일을 읽어 리소스 목록에 적재.

5

control del <id|all>
del <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/delete

적재 된 리소스를 목록에서 제거.

6

control attach <id|all>
attach <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/attach

리소스 파일 적재.

7

control detach <id|all>
detach <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/detach

리소스 파일 분리.

8

control up <id|all>
up <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/up

리소스 활성화. (적재, 파일 적재, 연결)

9

control down <id|all>
down <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/down

리소스 비활성화. (연결 종료, 파일 분리, 분리)

10

control primary <id|all>
primary <id|all>

--force
-f

강제 승격

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/primary

리소스를 Primary로 승격.

11

--unlock
-u

파일 잠금 해제

12

control secondary <id|all>
secondary <id|all>

--timeout <숫자>
-t <숫자>

시간 제한

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/secondary

리소스를 Secondary로 강등.
시간 제한 값이 있으면 해당 시간 동안 버퍼가 비워지는 것을 대기한다. 해당 시간 이후 버퍼를 강제로 비우고 강등한다.

--read-only 옵션은 --lock 옵션과 함께 사용해야한다.

13

--lock
-l

파일 잠금

14

--read-only

읽기 전용으로 잠금

15

control connect <id|all> {peer|all}
connect <id|all> {peer|all}

--discard-my-data

내 데이터를 버림

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/connect/{PEER}

리소스를 상대 노드에 연결. connecting 상태로 변경 된다.

16

control disconnect <id|all> {peer|all}
disconnect <id|all> {peer|all}

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/disconnect/{PEER}

상대 노드와의 연결 해제. standalone 상태로 변경 된다.

17

control invalidate <id|all> {peer}
invalidate <id|all> {peer}

--level <숫자>
-l <숫자>

동기화 수준

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/resync/{PEER}

상대 노드를 소스로 동기화 시작.

18

--report <모드>

보고서 생성 범위

19

control invalidate-remote <id|all> {peer|all}
invalidate-remote <id|all> {peer|all}

--level <숫자>
-l <숫자>

동기화 수준

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/resync-remote/{PEER}

이 노드를 소스로 동기화 시작.

20

--report <모드>

보고서 생성 범위

21

control verify <id|all> {peer}
verify <id|all> {peer}

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/verify/{PEER}

상대 노드를 소스로 정합성 검증 시작.

22

control pause <id|all> {peer|all}
pause <id|all> {peer|all}

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/pause

동기화 또는 복제 일시 중지.

23

control resume <id|all> {peer|all}
resume <id|all> {peer|all}

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/resume

동기화 또는 복제 재개.

24

control lock <id|all>
lock <id|all>

--read-only

읽기 전용으로 잠금

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/lock/{LEVEL}

파일 보호 시작.

25

control unlock <id|all>
unlock <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/unlock

파일 보호 해제.

26

control close-files <id|all>
close-files <id|all>

-

-

Status
colourBlue
titlePOST
/api/v1/resource/{ID}/close-files

복제를 위해 열려있는 파일의 핸들을 닫는다.

27

control override network-limit <res-id|all> <peer-node|all> <value>
override network-limit <res-id|all> <peer-node|all> <value>

-

-

Status
colourPurple
titlePUT
/api/v1/resource/{ID}/override/network-limit/{PEER}

네트워크 대역폭을 임의로 변경한다.

28

control restore network-limit <res-id|all> {peer-node|all}
restore network-limit <res-id|all> {peer-node|all}

-

-

Status
colourRed
titleDELETE
/api/v1/resource/{ID}/override/network-limit/{PEER}

네트워크 대역폭을 구성 값으로 되돌린다.

동기화 옵션

  • 동기화 수준

    • 0: 해시 비교 없이 모든 파일을 동기화 한다. 이전의 -f 옵션과 같습니다.

    • 1: 속성이 완전히 같으면 파일 내용도 같은 것으로 판단합니다. (기본 값)

      • 대부분의 경우 이 옵션이면 충분하지만 다음과 같이 속성을 유지하면서 파일 내용만 변경하는 경우 동기화되지 않습니다.

        1. 파일의 용량 변화 없이 내용을 수정

        2. 파일의 수정 시간을 내용 변경 전의 값으로 원복

    • 2: 속성이 같아도 해시 비교를 수행합니다.

  • 보고서 생성 범위

    • nothing: 보고서를 생성하지 않습니다.

      • 이전에 생성 된 보고서가 그대로 유지됩니다.

      • 동기화 명령 없이 자동으로 이루어지는 동기화는 모두 이 옵션으로 동작합니다.

    • summary: 요약 정보만 생성합니다.

    • full: 파일 단위의 정보까지 모두 생성합니다.

조회

명령어

옵션

옵션 설명

사용 API

설명

1

system info
sys info

-

-

Status
titleGET
/api/v1/system

엔진 정보 출력.

2

control status {id|all}
status {id|all}

--verbose
-v

상세 출력

Status
titleGET
/api/v1/resource/{ID}/status

리소스와 연결의 상태 출력.

3

--watch
-w

모니터링

4

--interval <시간>
-i <시간>

모니터링 시 갱신 주기

5

control perf {id|all}
perf {id|all}

--verbose
-v

상세 출력

Status
titleGET
/api/v1/resource/{ID}/perf

리소스 연결의 버퍼와 네트워크 등의 성능 통계 출력.

6

--watch
-w

모니터링

7

--interval <시간>
-i <시간>

모니터링 시 갱신 주기

8

control result <id> {dir-index} {filename}
result <id> {dir-index} {filename}

--verbose
-v

상세 출력

Status
titleGET
/api/v1/resource/{ID}/result

가장 최근의 동기화 또는 정합성 검증의 결과 출력.
결과는 타겟에 저장되므로 타겟에서만 출력 가능하다.
디렉토리 및 파일명을 지정하면 요약 정보를 생략하고 지정한 파일의 결과를 출력한다.

9

control rid show <id|all>
rid show <id|all>

--verbose
-v

상세 출력

Status
titleGET
/api/v1/resource/{ID}/rid

리소스의 RID 출력.
기본적으로 Old ULID를 2개만 출력하며, 긴 버전 옵션이 지정된 경우에는 32개를 모두 출력한다.

10

--long
-l

긴 버전의 RID 출력

11

events
ev

--json
-j

JSON 포맷으로 출력

Status
colourYellow
titlegRPC
SubscribeEvents

이벤트 모니터링.
동기화 진행률과 성능 통계는 기본적으로 갱신 주기 마다 전달되지만, 이전 데이터와 변화가 없는 경우 생략된다.

12

--sync

동기화 진행률 포함

13

--perf

성능 통계 포함

14

--interval <시간>
-i <시간>

동기화 진행률과 성능 통계 갱신 주기

15

log
l

--home <경로>

엔진 홈 경로

Status
colourYellow
titlegRPC
SubscribeEvents

로그 파일의 내용을 출력한다.
tail 명령과 유사하게 동작하며, 엔진의 시스템 구성 파일을 직접 읽어 로그 파일의 위치를 파악하므로 엔진이 종료되어 있어도 사용 가능하다.
gRPC를 통해 리소스 적재 이벤트를 받아 출력해야 하는 로그 파일을 실시간으로 변경한다.

16

--lines <숫자>
-n <숫자>

출력 할 라인 수

17

--resource <id>
-t <id>

리소스 지정

18

--no-main

메인 로그 비활성화

19

--no-resource

리소스 로그 비활성화

20

--no-color

생상을 입히지 않음

21

--follow
-f

지속 출력

22

perfmon {id|all}
p {id|all}

--json <파일명>
-j <파일명>

JSON 파일로 내보내기

Status
colourYellow
titlegRPC
SubscribePerfs

성능 모니터의 정보를 출력한다.
JSON이나 CSV로 내보내는 옵션을 사용하지 않으면 콘솔 화면에 출력한다.

--display 옵션을 사용하면 파일로 내보내면서 화면에도 출력이 가능하다.

23

--csv <파일명>
-c <파일명>

CSV 파일로 내보내기

24

--interval <시간>
-i <시간>

정보 갱신 주기

25

--display
-d

콘솔 화면에 출력

26

--watch
-w

모니터링 모드

동기화 및 정합성 결과 조회

실행 인수 지정에 따라 다음과 같이 동작합니다.

  • 리소스명만 지정 (예: fsradm result r0)

    • 보고서의 요약 정보만 출력합니다.

    • 동기화 시 보고서 생성 범위를 nothing로 지정한 경우 갱신되지 않으므로 이전에 생성 된 정보가 출력됩니다.

  • 디렉토리 인덱스 지정 (예: fsradm result r0 0)

    • 해당 복제 대상의 파일 결과 목록을 모두 출력합니다.

    • 동기화 시 보고서 생성 범위를 full로 지정한 경우에만 이 정보가 생성되며, summary로 수행 한 경우 아무것도 출력되지 않습니다.

    • 디렉토리 인덱스는 구성 파일에 작성한 복제 대상 – files 항목 – 에 정의된 복제 대상 경로의 번호입니다. 첫번째 복제 대상 경로가 0번이며 정의 된 순서대로 1씩 증가합니다.

  • 파일 경로 지정 (예: fsradm result r0 0 data/)

    • 지정 경로와 그 하위 파일 결과 목록을 모두 출력합니다.

    • 파일 경로는 복제 대상 경로에 대하여 상대 경로로 입력합니다.

    • 정확한 파일명을 입력하면 해당 파일에 대한 결과만 출력되며, 파일명 뒤에 경로 구분자인 /를 입력하면 해당 디렉토리 하위의 모든 파일 결과를 출력합니다.

이벤트 목록

이벤트 조회를 시작하면 각 리소스의 분류 별 최근 이벤트가 전달됩니다. 이런 이벤트의 경우 occur 필드를 통해 해당 이벤트의 발생시간을 얻을 수 있습니다.

분류

타입명

필드

데이터 범위

비고

1

RPC 연결 상태

rpc

state

연결 상태

connected, disconnected

-

2

cause

오류 내용

disconnected 상태에서만 사용 됨

3

프로그램 기동/종료

program

state

프로그램 기동 상태

started, exit

-

4

cause

오류 내용

exit 상태에서만 사용 됨

5

시스템 설정 갱신

system_updated

-

-

adjust 수행 시 발생한다

-

6

리소스 추가

added

resource

리소스 ID

-

-

7

node

자신의 노드명

-

8

리소스 삭제

deleted

resource

리소스 ID

-

-

9

node

자신의 노드명

-

10

리소스 상대 노드 추가

peer_added

resource

리소스 ID

-

-

11

node

자신의 노드명

-

12

peer

상대 노드명

-

13

리소스 상대 노드 제거

peer_deleted

resource

리소스 ID

-

-

14

node

자신의 노드명

-

15

peer

상대 노드명

-

16

리소스 노드명 변경

renamed

resource

리소스 ID

-

-

17

node

자신의 노드명

-

18

value

새로운 노드명

-

19

리소스 노드명 변경 (상대)

peer_renamed

resource

리소스 ID

-

-

20

node

자신의 노드명

-

21

peer

상대 노드명

-

22

value

상대의 새로운 노드명

-

23

리소스 설정 갱신

updated

resource

리소스 ID

adjust 수행 시 발생한다

-

24

node

자신의 노드명

-

25

리소스 연결 상태

state

resource

리소스 ID

-

-

26

node

자신의 노드명

-

27

peer

상대 노드명

-

28

value

상태 값

standalone, established 등

29

리소스 연결 상태 (상대)

peer_state

resource

리소스 ID

-

-

30

node

자신의 노드명

-

31

peer

상대 노드명

-

32

value

상태 값

standalone, established 등

33

리소스 파일 상태

file_state

resource

리소스 ID

-

34

node

자신의 노드명

-

35

value

상태 값

inconsistent, consistent 등

36

리소스 파일 상태 (상대)

peer_file_state

resource

리소스 ID

-

-

37

node

자신의 노드명

-

38

peer

상대 노드명

-

39

value

상태 값

inconsistent, consistent 등

40

리소스 역할

role

resource

리소스 ID

-

-

41

node

자신의 노드명

-

42

value

역할 값

primary, secondary

43

리소스 역할 (상대)

peer_role

resource

리소스 ID

-

-

44

node

자신의 노드명

-

45

peer

상대 노드명

-

46

value

역할 값

primary, secondary

47

노드 연결 동작

connection

resource

리소스 ID

-

-

48

node

자신의 노드명

-

49

peer

상대 노드명

-

50

state

연결 상태

connected, accepted, disconnected

51

url

IP:Port

상대 노드의 주소

52

cause

오류 내용

disconnected에서만 사용 됨

53

상대 노드로부터 연결이 거부 됨

refuse

resource

리소스 ID

-

-

54

node

자신의 노드명

-

55

peer

상대 노드명

-

56

cause

거부 이유

irrelevance(관계 없는 노드), split-brain
two-primary, invalid-direction

57

younger

younger 노드명

-

58

쓰기 오류

write_error

resource

리소스 ID

-

-

59

node

자신의 노드명

-

60

filename

파일명

절대 경로

61

cause

오류 내용

-

62

디스크 공간 상태

diskspace

resource

리소스 ID

-

-

63

node

자신의 노드명

-

64

state

공간 상태

not_enough, enough

65

remain

남은 용량

바이트 단위. 문자열 형식

66

성능 정보

perf

resource

리소스 ID

-

--perf 옵션 필요

67

node

자신의 노드명

-

68

peer

상대 노드명

-

69

perf

성능 정보

REST-API의 성능 정보와 같다.

70

동기화 상태

sync

resource

리소스 ID

-

--sync 옵션 필요

71

node

자신의 노드명

-

72

peer

상대 노드명

-

73

status

동기화 상태

REST-API의 동기화 상태와 같다.

74

파일 잠금

file_lock

resource

리소스 ID

-

-

75

state

잠금 상태

REST-API의 파일 잠금 상태와 같다.

76

node

자신의 노드명

-

77

RID

rid

resource

리소스 ID

-

78

node

자신의 노드명

79

value

RID 값

80

consistency

플래그

파일 상태가 Consistent 이상인 경우 true

81

outdated

플래그

파일 상태가 Outdated인 경우 true

82

primary

플래그

승격된 경우 true

83

crashed_primary

플래그

Primary 상태에서 비정상 종료된 경우 true

84

파일 버퍼 사용량 경고

file_buf_warn

resource

리소스 ID

-

0.9.1

85

node

자신의 노드명

-

86

peer

상대 노드명

-

87

버퍼 넘침

overflowed

resource

리소스 ID

-

0.9.1

88

node

자신의 노드명

-

89

peer

상대 노드명

-

90

라이선스 상태

license

status

라이선스 상태

invalid, expired, not exist, valid

-

91

license-type

라이선스 유형

temporary, permanent

92

expires-at

기간 제한 (날짜)

년-월-일 (예: 2020-11-30)

93

expires-in

기간 제한 (남은 일자)

-

EFS

윈도 전용 명령어로 리눅스에서는 사용 할 수 없습니다.

분석

명령어

옵션

옵션 설명

사용 API

설명

1

efs analyze dir <dir…>
efs analyze by-dir <dir…>

--json
-j

JSON 포맷으로 출력

Status
colourYellow
titlegRPC
EFSAnalyze

지정한 디렉토리 하위의 암호화 된 파일을 조회하여 복호화에 필요한 인증서 목록과 설치 상태를 분석한다.

2

--verbose
-v

상세 출력

3

efs analyze resource <id>
efs analyze by-res <id>

--json
-j

JSON 포맷으로 출력

Status
colourYellow
titlegRPC
EFSAnalyze

지정한 리소스의 복제 경로 하위의 암호화 된 파일을 조회하여 복호화에 필요한 인증서 목록과 설치 상태를 분석한다.

4

--verbose
-v

상세 출력

엔진 실행 계정 스토어 제어

명령어

옵션

옵션 설명

사용 API

설명

1

efs cert list

-

-

Status
titleGET
/api/v1/efs/cert

인증서 스토어의 인증서 목록을 출력한다.

2

efs cert export <thumbprint> <file>

--password <password>
-p <password>

인증서 비밀번호

Status
colourBlue
titlePOST
/api/v1/efs/cert/{Thumbprint}/export

지정한 리소스의 복제 경로 하위의 암호화 된 파일을 조회하여 복호화에 필요한 인증서 목록과 설치 상태를 분석.

3

efs cert import <file>

--password <password>
-p <password>

인증서 비밀번호

Status
colourBlue
titlePOST
/api/v1/efs/cert

지정 파일의 인증서를 가져와 인증서 스토어에 등록

4

--set-current
-c

현재 인증서로 지정

5

efs cert set-current <thumbprint>

-

-

Status
colourBlue
titlePOST
/api/v1/efs/cert/{Thumbprint}/set-current

인증서 스토어의 지정 인증서를 암호화를 위한 현재 인증서로 지정

6

efs cert delete <thumbprint>

-

-

Status
colourRed
titleDELETE
/api/v1/efs/cert/{Thumbprint}

인증서 스토어에서 지정 인증서 삭제

CLI 실행 계정 스토어 제어

명령어

옵션

옵션 설명

사용 API

설명

1

efs usercert list

-

-

Status
titleGET
/api/v1/efs/cert

인증서 스토어의 인증서 목록을 출력한다.

2

efs usercert export <thumbprint> <file>

--password <password>
-p <password>

인증서 비밀번호

Status
colourBlue
titlePOST
/api/v1/efs/cert/{Thumbprint}/export

지정한 리소스의 복제 경로 하위의 암호화 된 파일을 조회하여 복호화에 필요한 인증서 목록과 설치 상태를 분석.

3

efs usercert import <file>

--password <password>
-p <password>

인증서 비밀번호

Status
colourBlue
titlePOST
/api/v1/efs/cert

지정 파일의 인증서를 가져와 인증서 스토어에 등록

4

--set-current
-c

현재 인증서로 지정

5

efs usercert set-current <thumbprint>

-

-

Status
colourBlue
titlePOST
/api/v1/efs/cert/{Thumbprint}/set-current

인증서 스토어의 지정 인증서를 암호화를 위한 현재 인증서로 지정

6

efs usercert delete <thumbprint>

-

-

Status
colourRed
titleDELETE
/api/v1/efs/cert/{Thumbprint}

인증서 스토어에서 지정 인증서 삭제

관리

driver 명령은 윈도 전용으로 리눅스에서는 사용할 수 없습니다.

분류

명령어

옵션

옵션 설명

사용 API

설명

1

드라이버 설치

driver install

--force
-f

강제 설치

-

드라이버를 설치한다. 드라이버가 적재 중일때는 실패한다.
강제 설치 옵션 사용 시 적재 중인 드라이버를 분리 한 뒤 설치한다.

2

드라이버 제거

driver uninstall

--force
-f

강제 제거

-

드라이버를 제거한다. 드라이버가 적재 중일때는 실패한다.
강제 설치 옵션 사용 시 적재 중인 드라이버를 분리 한 뒤 제거한다.

3

엔진 재시작

system restart
sys restart

-

Status
colourBlue
titlePOST
/api/v1/system/restart

현재 프로세스 PID는 유지하면서 엔진의 동작 전체를 재시작한다.

4

엔진 종료

system stop
sys stop

-

Status
colourBlue
titlePOST
/api/v1/system/stop

실행 중인 엔진에 종료 명령을 전달하여 스스로 종료하도록 한다. 서비스로 실행중이면 자동으로 재 시작 된다.

도구

분류

명령어

옵션

옵션 설명

사용 API

설명

1

RID 비교

control rid compare <rid1> <rid2>
rid compare <rid1> <rid2>

-

-

Status
colourBlue
titlePOST
/api/v1/tool/rid_compare

두 RID의 비교 결과를 출력한다.

2

서포트 파일
생성

system support
sys su

--dump <file>
-d <file>

포함할 덤프 파일 지정

서포트 파일 생성

라이선스

분류

명령어

옵션

사용 API

설명

1

설정

license set <license-file>

-

Status
colourPurple
titlePUT
/api/v1/license

지정한 파일을 읽어 라이선스를 설정한다.

2

조회

license show

-

Status
titleGET
/api/v1/license

현재 라이선스 상태를 출력한다.

...