모든 스냅샷 작업의 범위는 지정된 풀 또는 프로젝트로 지정됩니다. 또한 스냅샷 작업의 범위를 파일 시스템 또는 LUN 레벨로 설정할 수 있습니다.
모든 프로젝트 기반 스냅샷 작업에 대한 URI는 /api/storage/v1/pools/{pool}/projects/{project}로 시작됩니다.
모든 파일 시스템 기반 스냅샷 작업에 대한 URI는 /api/storage/v1/pools/{pool}/projects/{project}/filesystems/{filesystem}으로 시작됩니다.
모든 LUN 기반 스냅샷 작업에 대한 URI는 /api/storage/v1/pools/{pool}/projects/{project}/luns/{lun}으로 시작됩니다.
|
어플라이언스에서 사용할 수 있는 어플라이언스를 나열합니다. 요청 URI에 따라 목록은 프로젝트, 파일 시스템 또는 LUN 스냅샷을 포함합니다.
|
요청 예:
GET /api/storage/v1/pools/gold/projects/default/snapshots Accept: application/json
응답 예:
HTTP/1.1 200 OK Content-Type: application/json { "snapshots": [{ "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5", "display_name": "snap-001", “display_description": "Daily backup", "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c", "status": "available", "size": 30, "created_at": "2012-02-29T03:50:07Z" }, { "id": "e479997c-650b-40a4-9dfe-77655818b0d2", "display_name": "snap-002", "display_description": "Weekly backup", "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358", "status": "available", "size": 25, "created_at": "2012-03-19T01:52:47Z" }] }
단일 스냅샷에 대한 모든 정보를 봅니다. 성공 시 HTTP 상태 200(OK)을 반환합니다.
요청 예:
GET /api/storage/v1/pools/gold/projects/default/snapshots/snap-001 Accept: application/json
응답 예:
HTTP/1.1 200 OK Content-Type: application/json { "snapshot": { "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5", "display_name": "snap-001", "display_description": "Daily backup", "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c", "status": "available", "size": 30, "created_at": "2012-02-29T03:50:07Z" } }
스냅샷 만들기 명령은 프로젝트, 파일 시스템 또는 LUN에 대한 스냅샷을 만듭니다.
프로젝트 스냅샷 만들기 – POST /pools/{pool}/projects/{project}/snapshots
파일 시스템 스냅샷 만들기 – POST /pools/{pool}/projects/{project}/filesystems/{share}/snapshots
볼륨 스냅샷 만들기 – POST /pools/{pool}/projects/{project}/luns/{lun}/snapshots
요청 예:
POST /api/storage/v1/pools/gold/projects/default/snapshots Content-Type: application/json {"name": "initial-backup"}
응답 예:
HTTP/1.1 201 Created Content-Type: application/json Location: /pools/gold/projects/default/ snapshot/initial-backup { "snapshot": { "name": "initial-backup", "numclones": 0, "creation": "20130610T21:00:49", "collection": "local", "project": "default", "canonical_name": "gold/local/default@initial-backup", "usage": { "unique": 0.0, "loading": false, "data": 145408.0 }, "type": "snapshot", "id": "a26abd24-e22b-62b2-0000-000000000000", "pool": "gold" } }
기존 스냅샷의 이름을 바꿉니다.
요청 URI - 스냅샷, 현재 스냅샷 이름
요청 본문 - 새 스냅샷 이름을 포함하는 name 매개변수의 JSON 객체
요청 예:
PUT /api/storage/v1/pools/gold/projects/default/snapshots/initial-snapshot Content-Type: application/json Accept: application/json {“name”:”old-snapshot”}
응답 예:
HTTP/1.1 202 Accepted Content-Type: application/json Location: /pools/gold/projects/default/snapshot/initial-backup
기존 스냅샷에서 새 파일 시스템 또는 LUN을 만듭니다.
요청 URI 복제 파일 시스템:
PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/clone
볼륨 복제:
PUT /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/clone
|
요청 본문은 다음 등록 정보가 있는 JSON 객체를 포함합니다.
|
요청 예:
PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs01/ snapshots/snap01/clone {"project":"rest", "share":"snap01clone01", "compression": "gzip-9"}
응답 예:
HTTP/1.1 201 Created Content-Length: 2035 X-Zfssa-Storage-Api: 1.0 Location: /api/storage/v1/pools/gold/projects/rest/filesystem/snap01clone01 Content-Type: application/json; charset=utf-8 { "filesystem": { "origin": { "project": "default", "share": "fs01", "snapshot": "snap01", "pool": "gold", "collection": "local" }, "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01", "mountpoint": "/export/snap01clone01", "compression": "gzip-9", "source": { "compression": "local", ... }, ... "canonical_name": "gold/local/rest/snap01clone01" } }
스냅샷을 롤백하면 스냅샷이 사용되었을 때 소스 파일 시스템 또는 LUN이 해당 상태로 다시 수정됩니다. 성공한 응답은 HTTP 상태 202(Accepted) 및 JSON 형식의 스냅샷 등록 정보를 반환합니다.
파일 시스템 스냅샷 롤백:
PUT /pools/{pool}/projects/{project}/filesystems/{share}/snapshots/{snap}/rollback
LUN 스냅샷 롤백:
PUT /pools/{pool}/projects/{project}/luns/{lun}/snapshots/{snapshot}/rollback
|
요청 예:
PUT /api/storage/v1/pools/gold/projects/default/filesystems/fs-01 /snapshots/initial-backup/rollback
응답 예:
HTTP/1.1 202 Accepted Location: /pools/gold/projects/default/filesystems/fs-01/snapshot/fs-01-initial-clone Content-Type: application/json { "snapshot": { "name": "fs-01-initial-clone", "numclones": 0, "creation": "20130610T21:00:49", "filesystem": "fs-01", "collection": "local", "project": "default", "canonical_name": "gold/local/default/ fs-01@fs-01-initial-clone", "usage": { "unique": 0.0, "loading": false, "data": 31744.0 }, "type": "snapshot", "id": "5c9bda07-21c1-2238-0000-000000000000", "pool": "gold" } }
스냅샷 DELETE 명령은 시스템에서 프로젝트, 파일 시스템 또는 LUN 스냅샷을 삭제합니다.
|
|
스냅샷에 NDMP 보류가 있는 경우 ?confirm=true를 DELETE 명령에 추가해야 합니다. 하지만 이렇게 하면 NDMP 작업에 부정적인 영향이 미칠 수 있습니다. 자세한 내용은 Oracle ZFS Storage Appliance 관리 설명서, 릴리스 OS8.6.x 의 NDMP 구성을 참조하십시오.
예
DELETE /pools/gold/projects/default/filesystems/fs-01/snapshots/initial-backup?confirm=true
스냅샷에 NDMP 보류가 존재할 때 ?confirm=true가 추가되지 않으면 명령이 실패하고 다음과 같은 출력이 표시됩니다.
HTTP/1.1 409 Conflict
{"fault": {"message": "request requires confirm=true to complete (confirmation needed for scripted command(scripted commands must be prefixed with \"confirm\" to automatically confirm or \"deny\" to automatically deny) (encountered while attempting to run command \"confirm destroy snap\"))", "code": 409, "name": "ERR_CONFIRM_REQUIRED"}}
파일 시스템 또는 볼륨에 대한 종속 항목을 나열합니다.
|
|
요청 예:
GET /api/storage/v1/pools/gold/projects/default/filesystems/fs01/snapshots/snap01/dependents Accept: application/json
응답 예:
HTTP/1.1 200 OK X-Zfssa-Storage-Api: 1.0 Content-Type: application/json; charset=utf-8 X-Zfssa-Api-Version: 1.0 { "dependents": [ { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone01", "share": "snap01clone01" }, { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone02", "share": "snap01clone02" }, { "project": "rest", "href": "/api/storage/v1/pools/gold/projects/rest/filesystems/snap01clone03", "share": "snap01clone03" } ] }