Go to main content

Oracle® ZFS Storage Appliance RESTful API 설명서, 릴리스 OS8.8.x

인쇄 보기 종료

업데이트 날짜: 2021년 8월
 
 

복제 패키지

이 절에서는 복제 패키지 및 소스 명령에 대해 자세히 설명합니다.

표 65  복제 패키지 명령
요청
경로 /api/storage/v{1|2}/replication에 추가
설명
GET
/packages
모든 복제 패키지를 나열합니다.
GET
/packages/package
지정된 복제 패키지를 가져옵니다.
PUT
/packages/package
지정된 복제 패키지를 수정합니다.
DELETE
/packages/package
지정된 복제 패키지를 삭제합니다.
PUT
/packages/package/cancelupdate
지정된 패키지에 대한 cancelupdate를 실행합니다.
PUT
/packages/package/sever
지정된 패키지에 대한 sever를 실행합니다.
PUT
/packages/package/pkgreverse
지정된 패키지에 대한 reverse를 실행합니다.
PUT
/packages/package/clone
지정된 패키지를 복제합니다.
GET
/packages/package/clone/conflicts
공유 등록 정보 충돌을 나열합니다.
GET
/packages/package/projects
패키지 프로젝트를 나열합니다.
GET
/packages/package/projects/project
패키지 프로젝트를 가져옵니다.
PUT
/packages/package/projects/project
패키지 프로젝트를 수정합니다.
GET
/packages/package/projects/project/usage/groups
패키지 프로젝트 그룹 사용량을 가져옵니다.
GET
/packages/package/projects/project/usage/users
패키지 프로젝트 사용자 사용량을 가져옵니다.
GET
/packages/package/projects/project/snapshots
모든 스냅샷 객체를 나열합니다.
GET
/packages/package/projects/project/snapshots/snapshot
지정된 스냅샷 등록 정보를 가져옵니다.
DELETE
/packages/package/projects/project/snapshots/snapshot
지정된 스냅샷 객체를 삭제합니다.
PUT
/packages/package/projects/project/snapshots/snapshot
패키지 프로젝트 스냅샷의 이름을 바꿉니다.
GET
/packages/package/projects/project/automatic
모든 패키지 프로젝트 자동 스냅샷 객체를 나열합니다.
GET
/packages/package/projects/project/automatic/automatic
지정된 패키지 프로젝트 자동 스냅샷 등록 정보를 가져옵니다.
GET
/packages/package/projects/project/filesystems
패키지 파일 시스템을 나열합니다.
GET
/packages/package/projects/project/filesystems/filesystem
패키지 파일 시스템을 가져옵니다.
PUT
/packages/package/projects/project/filesystems/filesystem
패키지 파일 시스템을 수정합니다.
GET
/packages/package/projects/project/filesystems/filesystem/usage/groups
패키지 파일 시스템 그룹 사용량을 가져옵니다.
GET
/packages/package/projects/project/filesystems/filesystem/usage/users
패키지 파일 시스템 사용자 사용량을 가져옵니다.
GET
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
지정된 스냅샷 등록 정보를 가져옵니다.
GET
/packages/package/projects/project/filesystems/filesystem/snapshots
모든 스냅샷 객체를 나열합니다.
DELETE
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
지정된 스냅샷 객체를 삭제합니다.
PUT
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
패키지 파일 시스템 스냅샷의 이름을 바꿉니다.
GET
/packages/package/projects/project/filesystems/filesystem/automatic
모든 패키지 파일 시스템 자동 스냅샷 객체를 나열합니다.
GET
/packages/package/projects/project/filesystems/filesystem/automatic/automatic
지정된 패키지 파일 시스템 자동 스냅샷 등록 정보를 가져옵니다.
GET
/packages/package/projects/project/luns
패키지 LUN을 나열합니다.
GET
/packages/package/projects/project/luns/lun
패키지 LUN을 가져옵니다.
PUT
/packages/package/projects/project/luns/lun
패키지 LUN을 수정합니다.
GET
/packages/package/projects/project/luns/lun/usage/groups
패키지 LUN 그룹 사용량을 가져옵니다.
GET
/packages/package/projects/project/luns/lun/usage/users
패키지 LUN 사용자 사용량을 가져옵니다.
GET
/packages/package/projects/project/luns/lun/snapshots/snapshot
지정된 스냅샷 등록 정보를 가져옵니다.
GET
/packages/package/projects/project/luns/lun/snapshots
모든 스냅샷 객체를 나열합니다.
DELETE
/packages/package/projects/project/luns/lun/snapshots/snapshot
지정된 스냅샷 객체를 삭제합니다.
PUT
/packages/package/projects/project/luns/lun/snapshots/snapshot
패키지 LUN 스냅샷의 이름을 바꿉니다.
GET
/packages/package/projects/project/luns/lun/automatic
모든 패키지 LUN 자동 스냅샷 객체를 나열합니다.
GET
/packages/package/projects/project/luns/lun/automatic/automatic
지정된 패키지 LUN 자동 스냅샷 등록 정보를 가져옵니다.

다음 명령을 사용하여 복제 소스 및 해당하는 패키지에도 액세스할 수 있습니다.

표 66  복제 소스 명령
요청
경로 /api/storage/v{1|2}/replication/sources에 추가
설명
GET
/api/storage/v{1|2}/replication/sources만 사용
복제 소스를 나열합니다.
GET
/source
복제 소스 세부정보를 나열합니다.
GET
/source/packages/package
지정된 복제 패키지를 가져옵니다.
PUT
/source/packages/package
지정된 복제 패키지를 수정합니다.
DELETE
/source/packages/package
지정된 복제 패키지를 삭제합니다.
PUT
/source/packages/package/cancelupdate
지정된 패키지에 대한 cancelupdate를 실행합니다.
PUT
/source/packages/package/sever
지정된 패키지에 대한 sever를 실행합니다.
PUT
/source/packages/package/pkgreverse
지정된 패키지에 대한 reverse를 실행합니다.
PUT
/source/packages/package/clone
지정된 패키지를 복제합니다.
GET
/source/packages/package/clone/conflicts
공유 등록 정보 충돌을 나열합니다.
GET
/source/packages/package/projects
패키지 프로젝트를 나열합니다.
GET
/source/packages/package/projects/project
패키지 프로젝트를 가져옵니다.
PUT
/source/packages/package/projects/project
패키지 프로젝트를 수정합니다.
GET
/source/packages/package/projects/project/usage/groups
패키지 프로젝트 그룹 사용량을 가져옵니다.
GET
/source/packages/package/projects/project/usage/users
패키지 프로젝트 사용자 사용량을 가져옵니다.
GET
/source/packages/package/projects/project/snapshots/snapshot
지정된 스냅샷 등록 정보를 가져옵니다.
GET
/source/packages/package/projects/project/snapshots
모든 스냅샷 객체를 나열합니다.
DELETE
/source/packages/package/projects/project/snapshots/snapshot
지정된 스냅샷 객체를 삭제합니다.
PUT
/source/packages/package/projects/project/snapshots/snapshot
패키지 프로젝트 스냅샷의 이름을 바꿉니다.
GET
/source/packages/package/projects/project/automatic
모든 패키지 프로젝트 자동 스냅샷 객체를 나열합니다.
GET
/source/packages/package/projects/project/automatic/automatic
지정된 패키지 프로젝트 자동 스냅샷 등록 정보를 가져옵니다.
GET
/source/packages/package/projects/project/filesystems
패키지 파일 시스템을 나열합니다.
GET
/source/packages/package/projects/project/filesystems/filesystem
패키지 파일 시스템을 가져옵니다.
PUT
/source/packages/package/projects/project/filesystems/filesystem
패키지 파일 시스템을 수정합니다.
GET
/source/packages/package/projects/project/filesystems/filesystem/usage/groups
패키지 파일 시스템 그룹 사용량을 가져옵니다.
GET
/source/packages/package/projects/project/filesystems/filesystem/usage/users
패키지 파일 시스템 사용자 사용량을 가져옵니다.
GET
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
지정된 스냅샷 등록 정보를 가져옵니다.
GET
/source/packages/package/projects/project/filesystems/filesystem/snapshots
모든 스냅샷 객체를 나열합니다.
DELETE
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
지정된 스냅샷 객체를 삭제합니다.
PUT
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
패키지 파일 시스템 스냅샷의 이름을 바꿉니다.
GET
/source/packages/package/projects/project/filesystems/filesystem/automatic
모든 패키지 파일 시스템 자동 스냅샷 객체를 나열합니다.
GET
/source/packages/package/projects/project/filesystems/filesystem/automatic/automatic
지정된 패키지 파일 시스템 자동 스냅샷 등록 정보를 가져옵니다.
GET
/source/packages/package/projects/project/luns
패키지 LUN을 나열합니다.
GET
/source/packages/package/projects/project/luns/lun
패키지 LUN을 가져옵니다.
PUT
/source/packages/package/projects/project/luns/lun
패키지 LUN을 수정합니다.
GET
/source/packages/package/projects/project/luns/lun/usage/groups
패키지 LUN 그룹 사용량을 가져옵니다.
GET
/source/packages/package/projects/project/luns/lun/usage/users
패키지 LUN 사용자 사용량을 가져옵니다.
GET
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
지정된 스냅샷 등록 정보를 가져옵니다.
GET
/source/packages/package/projects/project/luns/lun/snapshots
모든 스냅샷 객체를 나열합니다.
DELETE
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
지정된 스냅샷 객체를 삭제합니다.
PUT
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
패키지 LUN 스냅샷의 이름을 바꿉니다.
GET
/source/packages/package/projects/project/luns/lun/automatic
모든 패키지 LUN 자동 스냅샷 객체를 나열합니다.
GET
/source/packages/package/projects/project/luns/lun/automatic/automatic
지정된 패키지 LUN 자동 스냅샷 등록 정보를 가져옵니다.

복제 소스 나열

사용 가능한 모든 복제 소스를 나열합니다.

요청 예:

GET /api/storage/v2/replication/sources HTTP/1.1
Host: zfs-storage.example.com:215
Accept: application/json

출력 예:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
    "sources": [{
        "asn": "314d252e-c42b-e844-dab1-a3bca680b563",
        "href": "/api/storage/v2/replication/sources/zfs-repl-host",
        "ip_address": "ipaddr-1",
        "name": "zfs-repl-host",
        "source": "source-000"
    }]
}

복제 패키지 나열

모든 복제 패키지를 나열합니다.

요청 예:

GET /api/storage/v2/replication/packages HTTP/1.1
Host: zfs-storage.example.com:215
Accept: application/json

결과 예:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
  "packages": [
    {
      "href": "/api/storage/v2/replication/packages/0efaab49-7b22-4d4a-def8-813c27780894",
      "id": "0efaab49-7b22-4d4a-def8-813c27780894",
      "source_name": "sourceA",
      "source_asn": "8a22f6e0-4ee4-4b85-f141-e152f5fac961",
      "source_ip": "ipaddr-1",
      "source_pool": "poolA",
      "target_pool": "poolA",
      "replica_of": "projTest",
      "enabled": true,
      "state": "idle",
      "state_description": "Idle (no update in progress)",
      "offline": false,
      "import_path": "",
      "data_timestamp": "2017-03-09T22:36:12Z",
      "last_sync": "2017-03-09T22:36:22Z",
      "last_try": "2017-03-09T22:36:22Z",
      "last_result": "success"
    }
  ]
}

패키지 수정

패키지 등록 정보를 수정합니다.

등록 정보
유형
설명
enabled
boolean
복제 업데이트의 현재 상태

요청 예:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json

{"enabled": false}

결과 예:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

요청 예:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/pkgreverse HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json

{"new_project_name":"restrev", "enable_action_upon_reversal":"true"}

결과 예:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

패키지 삭제

복제 패키지를 삭제합니다.

요청 예:

DELETE /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

성공한 삭제는 HTTP 상태 204(No Content)를 반환합니다.

결과 예:

HTTP/1.1 204 No-Content
X-Zfssa-Replication-Api: 1.0

업데이트 취소

이 패키지에 대한 진행 중인 업데이트를 취소합니다.

요청 예:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/cancelupdate HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

진행 중인 업데이트가 없는 경우 HTTP 상태 409(Conflict)가 반환됩니다.

결과 예:

HTTP/1.1 409 Conflict
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 137

{
    "cancelupdate": {
        "AKSH_ERROR": "EAK_NAS_REPL_BADSTATE",
        "message": "operation illegal for state"
    }
}

결과 예:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

패키지 복제

패키지 프로젝트를 복제합니다.

요청 예:

PUT /api/v2/storage/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/clone HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

결과 예:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

성공한 복제는 HTTP 상태 202(Accepted)를 반환합니다. 도우미 명령은 복제 작업과의 충돌이 있는지 확인하는 데 사용될 수 있습니다.

복제 충돌 요청 예:

GET /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/clone/conflicts HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

복제/충돌에서 충돌 반환:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 58

{
    "conflicts": "There are no conflicts."
}

등록 정보:

Default settings:
            target_project = (unset)
       original_mountpoint = /export
       override_mountpoint = false
                mountpoint =

패키지 단절

복제 연결을 단절하고 패키지 내용을 새 프로젝트로 이동합니다. 이 작업은 이 패키지 및 복제된 해당 공유를 소스 시스템과 영구적으로 단절하여 이러한 항목을 이 시스템에서 로컬 프로젝트로 만듭니다. 어느 한 방향의 후속 복제 업데이트 시 새 작업을 정의하고 전체 업데이트를 전송해야 합니다.

요청 예:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/sever HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

{"projname":"restsev"}

성공 응답:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

패키지 방향 바꾸기

복제의 방향을 바꿉니다. 이 작업은 이 패키지에 대한 복제를 사용 안함으로 설정하고 이 패키지의 내용을 소스로 다시 복제하도록 구성된 새 로컬 프로젝트로 이동합니다. 새 프로젝트가 처음으로 소스로 다시 복제될 때 마지막 성공한 업데이트 이후 소스에서 수행된 모든 메타데이터 또는 데이터 변경사항이 손실됩니다.

요청 예:

PUT /api/storage/v2/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/reverse HTTP/1.1
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=

{"projname":"restrev"}

성공 응답:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0