복제 패키지
이 절에서는 복제 패키지 및 소스 명령에 대해 자세히 설명합니다.
표 65 복제 패키지 명령
|
|
|
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 복제 소스 명령
|
|
|
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