Versions Compared

Key

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

개요

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

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

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

  • 모든 설정은 기본적으로 운영 중 동적 적용 가능합니다.(필수 속성 등 일부 설정 제외)

REST-API

모든 REST-API는 gRPC 기반으로 제작되었으며, JSON-RPC over HTTP 형태로 동작합니다. 감시를 위한 기능은 지속적인 데이터 전달이 필요하므로 gRPC만 제공됩니다.

...

분류

...

항목

...

REST-API

...

동작

...

비고

...

설정

...

시스템 설정 조회

...

Status
titleGET

...

/api/v1/config

...

동작 중인 설정을 반환

...

-

...

시스템 설정 조회 (파일)

...

Status
titleGET

...

/api/v1/config/dump

...

파일을 읽어 반환

...

-

...

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

...

Status
titleGET

...

/api/v1/config/dump-xml

...

파일을 읽어 XML로 반환

...

-

...

시스템 설정 변경

...

Status
colourPurple
titlePUT

...

/api/v1/config

...

파일에 저장

...

-

...

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

...

Status
colourPurple
titlePUT

...

/api/v1/config/update

...

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

...

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

...

시스템 설정 갱신

...

Status
colourBlue
titlePOST

...

/api/v1/config/adjust

...

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

...

-

...

리소스 목록 조회

...

Status
titleGET

...

/api/v1/resources

...

리소스 ID 목록 반환

...

필요성 점검 필요

...

개별 리소스 설정 조회

...

Status
titleGET

...

/api/v1/resource/{ID}

...

동작 중인 설정을 반환

...

all 사용 가능

...

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

...

Status
titleGET

...

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

...

파일을 읽어 반환

...

all 사용 가능

...

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

...

Status
titleGET

...

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

...

파일을 읽어 XML로 반환

...

all 사용 가능

...

개별 리소스 설정 변경

...

Status
colourPurple
titlePUT

...

/api/v1/resource/{ID}

...

파일에 저장

...

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

...

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

...

Status
colourPurple
titlePUT

...

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

...

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

...

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

...

개별 리소스 설정 갱신

...

Status
colourBlue
titlePOST

...

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

...

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

...

all 사용 가능

...

개별 리소스 설정 삭제

...

Status
colourRed
titleDELETE

...

/api/v1/resource/{ID}

...

파일 삭제

...

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

...

제어

...

메타 데이터 생성

...

Status
colourBlue
titlePOST

...

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

...

리소스 메타 데이터 생성

...

all 사용 가능

...

메타 데이터 삭제

...

Status
colourBlue
titlePOST

...

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

...

리소스 메타 데이터 삭제

...

all 사용 가능

...

메타 데이터 정리

...

Status
colourBlue
titlePOST

...

/api/v1/resource/cleanup-meta

...

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

...

-

...

리소스 추가

...

Status
colourBlue
titlePOST

...

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

...

리소스 파일을 읽어 적재

...

all 사용 가능

...

리소스 삭제

...

Status
colourBlue
titlePOST

...

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

...

리소스를 목록에서 제거

...

all 사용 가능

...

리소스 파일 적재

...

Status
colourBlue
titlePOST

...

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

...

리소스에 파일 적재

...

all 사용 가능

...

리소스 파일 분리

...

Status
colourBlue
titlePOST

...

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

...

리소스에서 파일 분리

...

all 사용 가능

...

리소스 기동

...

Status
colourBlue
titlePOST

...

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

...

리소스를 적재하여 실행

...

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

...

리소스 중지

...

Status
colourBlue
titlePOST

...

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

...

리소스의 연결을 끊고 분리

...

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

...

승격

...

Status
colourBlue
titlePOST

...

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

...

Primary로 승격 시도

...

-

...

강등

...

Status
colourBlue
titlePOST

...

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

...

Secondary로 강등

...

-

...

연결

...

Status
colourBlue
titlePOST

...

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

...

Connecting 상태로 변경

...

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

...

연결 해제

...

Status
colourBlue
titlePOST

...

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

...

Standalone 상태로 변경

...

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

...

동기화 시작

...

Status
colourBlue
titlePOST

...

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

...

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

...

all 사용 가능

...

원격 동기화 시작

...

Status
colourBlue
titlePOST

...

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

...

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

...

all 사용 가능

...

정합성 검증 시작

...

Status
colourBlue
titlePOST

...

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

...

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

...

all 사용 가능

...

일시 중지

...

Status
colourBlue
titlePOST

...

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

...

동기화 또는 복제 일시 중지

...

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

...

재개

...

Status
colourBlue
titlePOST

...

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

...

동기화 또는 복제 재개

...

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

...

파일 보호

...

Status
colourBlue
titlePOST

...

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

...

파일 보호 시작

...

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

...

파일 보호 해제

...

Status
colourBlue
titlePOST

...

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

...

파일 보호 해제

...

all 사용 가능

...

RID 갱신

...

Status
colourBlue
titlePOST

...

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

...

리소스의 RID 갱신 (Rotate)

...

-

...

RID 강제 설정

...

Status
colourBlue
titlePOST

...

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

...

리소스의 RID를 변경

...

-

...

열려있는 파일 닫기

...

Status
colourBlue
titlePOST

...

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

...

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

...

all 사용 가능

...

네트워크 대역폭 변경

...

Status
colourPurple
titlePUT

...

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

...

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

...

all 사용 가능

...

네트워크 대역폭 되돌리기

...

Status
colourRed
titleDELETE

...

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

...

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

...

all 사용 가능

...

조회

...

리소스 상태 조회

...

Status
titleGET

...

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

...

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

...

all 사용 가능

...

리소스 성능 조회

...

Status
titleGET

...

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

...

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

...

all 사용 가능

...

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

...

Status
titleGET

...

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

...

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

...

-

...

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

...

Status
titleGET

...

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

...

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

...

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

...

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

...

Status
titleGET

...

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

...

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

...

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

...

RID 조회

...

Status
titleGET

...

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

...

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

...

all 사용 가능

...

RID 조회 (전체)

...

Status
titleGET

...

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

...

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

...

all 사용 가능

...

EFS

...

인증서 목록 조회

...

Status
titleGET

...

/api/v1/efs/cert

...

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

...

-

...

인증서 내보내기

...

Status
colourBlue
titlePOST

...

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

...

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

...

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

...

인증서 가져오기

...

Status
colourBlue
titlePOST

...

/api/v1/efs/cert

...

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

...

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

...

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

...

Status
colourBlue
titlePOST

...

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

...

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

...

-

...

인증서 삭제

...

Status
colourRed
titleDELETE

...

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

...

지정 인증서 삭제

...

-

...

관리

...

FSR 정보 조회

...

Status
titleGET

...

/api/v1/system

...

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

...

-

...

FSR 재시작

...

Status
colourBlue
titlePOST

...

/api/v1/system/restart

...

FSR 프로세스 재시작

...

-

...

FSR 중지

...

Status
colourBlue
titlePOST

...

/api/v1/system/stop

...

FSR 프로세스 중지

...

-

...

도구

...

RID 비교

...

Status
colourBlue
titlePOST

...

/api/v1/tool/rid_compare

...

두 RID 비교

...

-

...

라이선스

...

라이선스 조회

...

Status
titleGET

...

/api/v1/license

...

라이선스 상태 조회

...

-

...

라이선스 설정

...

Status
colourPurple
titlePUT

...

/api/v1/license

...

라이선스 설정

...

-

리소스 ID 확장

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

리소스ID:노드명

  • 호스트명을 인식하여 자신의 노드로 인식되는 노드만 지정 할 수 있습니다.

  • 노드명을 생략하여 리소스 ID만 지정하면 자신의 모든 노드에 일괄 적용합니다.

    • 단, 다음의 명령은 노드가 1개인 경우에만 노드명을 생략 할 수 있습니다.

      • 승격, 강등, 동기화/정합성 검증 시작

사용 예)

  • 노드명 지정: 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 명령이 기본 명령으로 지정되어 있으므로 생략하고 하위 명령을 바로 사용 할 수 있습니다.

명령어 구조:

  • control, ctl: 리소스 관련 제어

    • config, conf: 리소스 구성 파일 제어

      • property, prop: 개별 속성 제어

    • meta: 메타 데이터 제어

    • rid: RID 제어

  • driver: 드라이버 제어 (윈도 전용)

  • efs: NTFS EFS 분석 및 인증서 제어 (윈도 전용)

    • cert: FSR 엔진 인증서 제어

    • usercert: 사용자 인증서 제어

  • events, ev: 이벤트 모니터링

  • license: 라이선스 제어

  • log, l: 로그 모니터링

  • perfmon, p: 성능 모니터

  • system, sys: 시스템 제어

    • config, conf: 시스템 구성 파일 제어

      • property, prop: 개별 속성 제어

이 문서에서 사용하는 명령어의 인수과 표기 방법은 다음과 같습니다.

  • 생략 가능한 인수: {arg}

  • 필수 인수: <arg>

  • 리소스 ID: <id>

  • 리소스 ID 또는 all: <id|all>

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

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

설정

...

명령어

...

옵션

...

옵션 설명

...

사용 API

...

설명

...

system config dump
sys conf dump

...

-

...

-

...

Status
titleGET
/api/v1/config/dump

...

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

...

system config dump-xml
sys conf dump-xml

...

-

...

-

...

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

...

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

...

system config show
sys conf show

...

-

...

-

...

Status
titleGET
/api/v1/config

...

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

...

system config adjust
sys conf adjust

...

-

...

-

...

Status
colourBlue
titlePOST
/api/v1/config/adjust

...

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

...

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

...

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

...

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

...

-

...

-

...

Status
titleGET
/api/v1/config

...

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

...

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

...

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

...

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

...

-

...

-

...

상동

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

control config add <id>
conf add <id>

...

--force
-f

...

강제로 덮어 씌우기

...

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

...

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

...

--interactive
-i

...

대화형 설정 모드

...

control config del <id>
conf del <id>

...

--force
-f

...

강제 삭제

...

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

...

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

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

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

...

--index <숫자>

  • i

<숫자>

...

지정 인덱스에 삽입

...

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

...

--adjust
-a

...

리소스에 적용한다

...

상동

...

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

...

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

...

상동

...

상동

...

상동

...

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

...

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

...

설명

...

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

...

--force
-f

...

강제로 덮어 씌우기

...

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

...

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

...

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

...

--force
-f

...

강제로 삭제

...

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

...

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

...

control meta cleanup
meta cleanup

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

리소스 파일 적재.

...

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

...

-

...

-

...

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

...

리소스 파일 분리.

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

--force
-f

...

강제 승격

...

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

...

리소스를 Primary로 승격.

...

--unlock
-u

...

파일 잠금 해제

...

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

...

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

...

시간 제한

...

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

...

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

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

...

--lock
-l

...

파일 잠금

...

--read-only

...

읽기 전용으로 잠금

...

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

...

--discard-my-data

...

내 데이터를 버림

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

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

...

동기화 수준

...

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

...

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

...

--report <모드>

...

보고서 생성 범위

...

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}

...

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

...

--report <모드>

...

보고서 생성 범위

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

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

...

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

...

-

...

-

...

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

...

동기화 또는 복제 재개.

...

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

...

--read-only

...

읽기 전용으로 잠금

...

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

...

파일 보호 시작.

...

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

...

-

...

-

...

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

...

파일 보호 해제.

...

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

...

-

...

-

...

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

...

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

...

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}

...

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

...

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

...

설명

...

system info
sys info

...

-

...

-

...

Status
titleGET
/api/v1/system

...

엔진 정보 출력.

...

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

...

--verbose
-v

...

상세 출력

...

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

...

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

...

--watch
-w

...

모니터링

...

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

...

모니터링 시 갱신 주기

...

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

...

--verbose
-v

...

상세 출력

...

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

...

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

...

--watch
-w

...

모니터링

...

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

...

모니터링 시 갱신 주기

...

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

...

--verbose
-v

...

상세 출력

...

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

...

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

...

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

...

--verbose
-v

...

상세 출력

...

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

...

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

...

--long
-l

...

긴 버전의 RID 출력

...

events
ev

...

--json
-j

...

JSON 포맷으로 출력

...

Status
colourYellow
titlegRPC
SubscribeEvents

...

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

...

--sync

...

동기화 진행률 포함

...

--perf

...

성능 통계 포함

...

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

...

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

...

log
l

...

--home <경로>

...

엔진 홈 경로

...

Status
colourYellow
titlegRPC
SubscribeEvents

...

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

...

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

...

출력 할 라인 수

...

--resource <id>
-t <id>

...

리소스 지정

...

--no-main

...

메인 로그 비활성화

...

--no-resource

...

리소스 로그 비활성화

...

--no-color

...

생상을 입히지 않음

...

--follow
-f

...

지속 출력

...

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

...

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

...

JSON 파일로 내보내기

...

Status
colourYellow
titlegRPC
SubscribePerfs

...

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

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

...

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

...

CSV 파일로 내보내기

...

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

...

정보 갱신 주기

...

--display
-d

...

콘솔 화면에 출력

...

--watch
-w

...

모니터링 모드

동기화 및 정합성 결과 조회

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

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

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

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

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

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

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

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

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

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

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

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

이벤트 목록

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

...

분류

...

타입명

...

필드

...

...

데이터 범위

...

비고

...

RPC 연결 상태

...

rpc

...

state

...

연결 상태

...

connected, disconnected

...

-

...

cause

...

오류 내용

...

disconnected 상태에서만 사용 됨

...

프로그램 기동/종료

...

program

...

state

...

프로그램 기동 상태

...

started, exit

...

-

...

cause

...

오류 내용

...

exit 상태에서만 사용 됨

...

시스템 설정 갱신

...

system_updated

...

-

...

-

...

adjust 수행 시 발생한다

...

-

...

리소스 추가

...

added

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

리소스 삭제

...

deleted

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

리소스 상대 노드 추가

...

peer_added

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

리소스 상대 노드 제거

...

peer_deleted

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

리소스 노드명 변경

...

renamed

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

value

...

새로운 노드명

...

-

...

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

...

peer_renamed

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

value

...

상대의 새로운 노드명

...

-

...

리소스 설정 갱신

...

updated

...

resource

...

리소스 ID

...

adjust 수행 시 발생한다

...

-

...

node

...

자신의 노드명

...

-

...

리소스 연결 상태

...

state

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

value

...

상태 값

...

standalone, established 등

...

리소스 연결 상태 (상대)

...

peer_state

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

value

...

상태 값

...

standalone, established 등

...

리소스 파일 상태

...

file_state

...

resource

...

리소스 ID

...

-

...

node

...

자신의 노드명

...

-

...

value

...

상태 값

...

inconsistent, consistent 등

...

리소스 파일 상태 (상대)

...

peer_file_state

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

value

...

상태 값

...

inconsistent, consistent 등

...

리소스 역할

...

role

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

value

...

역할 값

...

primary, secondary

...

리소스 역할 (상대)

...

peer_role

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

value

...

역할 값

...

primary, secondary

...

노드 연결 동작

...

connection

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

state

...

연결 상태

...

connected, accepted, disconnected

...

url

...

IP:Port

...

상대 노드의 주소

...

cause

...

오류 내용

...

disconnected에서만 사용 됨

...

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

...

refuse

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

cause

...

거부 이유

...

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

...

younger

...

younger 노드명

...

-

...

쓰기 오류

...

write_error

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

filename

...

파일명

...

절대 경로

...

cause

...

오류 내용

...

-

...

디스크 공간 상태

...

diskspace

...

resource

...

리소스 ID

...

-

...

-

...

node

...

자신의 노드명

...

-

...

state

...

공간 상태

...

not_enough, enough

...

remain

...

남은 용량

...

바이트 단위. 문자열 형식

...

성능 정보

...

perf

...

resource

...

리소스 ID

...

-

...

--perf 옵션 필요

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

perf

...

성능 정보

...

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

...

동기화 상태

...

sync

...

resource

...

리소스 ID

...

-

...

--sync 옵션 필요

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

status

...

동기화 상태

...

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

...

파일 잠금

...

file_lock

...

resource

...

리소스 ID

...

-

...

-

...

state

...

잠금 상태

...

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

...

node

...

자신의 노드명

...

-

...

RID

...

rid

...

resource

...

리소스 ID

...

-

...

node

...

자신의 노드명

...

value

...

RID 값

...

consistency

...

플래그

...

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

...

outdated

...

플래그

...

파일 상태가 Outdated인 경우 true

...

primary

...

플래그

...

승격된 경우 true

...

crashed_primary

...

플래그

...

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

...

파일 버퍼 사용량 경고

...

file_buf_warn

...

resource

...

리소스 ID

...

-

...

0.9.1

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

버퍼 넘침

...

overflowed

...

resource

...

리소스 ID

...

-

...

0.9.1

...

node

...

자신의 노드명

...

-

...

peer

...

상대 노드명

...

-

...

라이선스 상태

...

license

...

status

...

라이선스 상태

...

invalid, expired, not exist, valid

...

-

...

license-type

...

라이선스 유형

...

temporary, permanent

...

expires-at

...

기간 제한 (날짜)

...

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

...

expires-in

...

기간 제한 (남은 일자)

...

-

EFS

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

분석

...

명령어

...

옵션

...

옵션 설명

...

사용 API

...

설명

...

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

...

--json
-j

...

JSON 포맷으로 출력

...

Status
colourYellow
titlegRPC
EFSAnalyze

...

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

...

--verbose
-v

...

상세 출력

...

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

...

--json
-j

...

JSON 포맷으로 출력

...

Status
colourYellow
titlegRPC
EFSAnalyze

...

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

...

--verbose
-v

...

상세 출력

엔진 실행 계정 스토어 제어

...

명령어

...

옵션

...

옵션 설명

...

사용 API

...

설명

...

efs cert list

...

-

...

-

...

Status
titleGET
/api/v1/efs/cert

...

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

...

efs cert export <thumbprint> <file>

...

--password <password>
-p <password>

...

인증서 비밀번호

...

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

...

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

...

efs cert import <file>

...

--password <password>
-p <password>

...

인증서 비밀번호

...

Status
colourBlue
titlePOST
/api/v1/efs/cert

...

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

...

--set-current
-c

...

현재 인증서로 지정

...

efs cert set-current <thumbprint>

...

-

...

-

...

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

...

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

...

efs cert delete <thumbprint>

...

-

...

-

...

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

...

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

CLI 실행 계정 스토어 제어

...

명령어

...

옵션

...

옵션 설명

...

사용 API

...

설명

...

efs usercert list

...

-

...

-

...

Status
titleGET
/api/v1/efs/cert

...

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

...

efs usercert export <thumbprint> <file>

...

--password <password>
-p <password>

...

인증서 비밀번호

...

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

...

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

...

efs usercert import <file>

...

--password <password>
-p <password>

...

인증서 비밀번호

...

Status
colourBlue
titlePOST
/api/v1/efs/cert

...

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

...

--set-current
-c

...

현재 인증서로 지정

...

efs usercert set-current <thumbprint>

...

-

...

-

...

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

...

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

...

efs usercert delete <thumbprint>

...

-

...

-

...

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

...

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

관리

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

...

분류

...

명령어

...

옵션

...

옵션 설명

...

사용 API

...

설명

...

드라이버 설치

...

driver install

...

--force
-f

...

강제 설치

...

-

...

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

...

드라이버 제거

...

driver uninstall

...

--force
-f

...

강제 제거

...

-

...

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

...

엔진 재시작

...

system restart
sys restart

...

-

...

Status
colourBlue
titlePOST
/api/v1/system/restart

...

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

...

엔진 종료

...

system stop
sys stop

...

-

...

Status
colourBlue
titlePOST
/api/v1/system/stop

...

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

도구

...

분류

...

명령어

...

옵션

...

옵션 설명

...

사용 API

...

설명

...

RID 비교

...

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

...

-

...

-

...

Status
colourBlue
titlePOST
/api/v1/tool/rid_compare

...

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

...

서포트 파일
생성

...

system support
sys su

...

--dump <file>
-d <file>

...

포함할 덤프 파일 지정

...

서포트 파일 생성

라이선스

...

분류

...

명령어

...

옵션

...

사용 API

...

설명

...

설정

...

license set <license-file>

...

-

...

Status
colourPurple
titlePUT
/api/v1/license

...

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

...

조회

...

license show

...

-

...

Status
titleGET
/api/v1/license

...

Include Page
FSR:연계 정의서 1.2
FSR:연계 정의서 1.2