모든 스냅샷 작업의 범위는 지정된 풀 또는 프로젝트로 지정됩니다. 또한 스냅샷 작업의 범위를 파일 시스템 또는 LUN 레벨로 설정할 수 있습니다.
모든 프로젝트 기반 스냅샷 작업에 대한 URI는 /api/storage/v{1|2}/pools/pool/projects/project로 시작합니다.
모든 파일 시스템 기반 스냅샷 작업에 대한 URI는 /api/storage/v{1|2}/pools/pool/projects/project/filesystems/filesystem으로 시작합니다.
모든 LUN 기반 스냅샷 작업에 대한 URI는 /api/storage/v{1|2}/pools/pool/projects/project/luns/lun으로 시작합니다.
클라우드에 스냅샷을 백업하거나 어플라이언스에 새 공유로 스냅샷 백업을 복원하려면 RESTful API 클라우드 서비스를 참조하십시오.
|
어플라이언스에서 사용할 수 있는 어플라이언스를 나열합니다. 요청 URI에 따라 목록은 프로젝트, 파일 시스템 또는 LUN 스냅샷을 포함합니다.
|
요청 예:
GET /api/storage/v1/pools/p1/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/p1/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/p1/projects/default/snapshots Content-Type: application/json {"name": "initial-backup"}
결과 예:
HTTP/1.1 201 Created Content-Type: application/json Location: /pools/p1/projects/default/ snapshot/initial-backup { "snapshot": { "name": "initial-backup", "numclones": 0, "creation": "20130610T21:00:49", "collection": "local", "project": "default", "canonical_name": "zfs-storage-1/local/default@initial-backup", "usage": { "unique": 0.0, "loading": false, "data": 145408.0 }, "type": "snapshot", "id": "a26abd24-e22b-62b2-0000-000000000000", "pool": "p1" } }
기존 스냅샷의 이름을 바꿉니다.
요청 URI – 스냅샷, 현재 스냅샷 이름
요청 본문 – 새 스냅샷 이름을 포함하는 name 매개변수의 JSON 객체
요청 예:
PUT /api/storage/v1/pools/p1/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/p1/projects/default/snapshot/initial-backup
기존 스냅샷에서 새 파일 시스템 또는 LUN을 만듭니다.
다음 URI 매개변수가 사용됩니다.
소스 풀 이름
소스 프로젝트 이름
파일 시스템 스냅샷에 대한 소스 공유 이름
LUN 스냅샷에 대한 소스 공유 이름
소스 스냅샷 이름
파일 시스템 복제:
PUT /pools/pool/projects/project/filesystems/share/snapshots/snapshot/clone
볼륨 복제:
PUT /pools/pool/projects/project/luns/lun/snapshots/snapshot/clone
요청 본문은 다음 등록 정보가 있는 JSON 객체를 포함합니다.
|
요청 예:
PUT /api/storage/v1/pools/p1/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/p1/projects/rest/filesystem/snap01clone01 Content-Type: application/json; charset=utf-8 { "filesystem": { "origin": { "project": "default", "share": "fs01", "snapshot": "snap01", "pool": "p1", "collection": "local" }, "href": "/api/storage/v1/pools/p1/projects/rest/filesystems/snap01clone01", "mountpoint": "/export/snap01clone01", "compression": "gzip-9", "source": { "compression": "local", ... }, ... "canonical_name": "zfs-storage-1/local/rest/snap01clone01" } }
스냅샷을 롤백하면 스냅샷이 사용되었을 때 소스 파일 시스템 또는 LUN이 해당 상태로 다시 수정됩니다. 성공한 응답은 HTTP 상태 202(Accepted) 및 JSON 형식의 스냅샷 등록 정보를 반환합니다.
다음 URI 매개변수가 사용됩니다.
소스 풀 이름
소스 프로젝트 이름
파일 시스템 스냅샷에 대한 소스 파일 시스템 이름
LUN 스냅샷에 대한 소스 LUN 이름
소스 스냅샷 이름
파일 시스템 스냅샷 롤백:
PUT /pools/pool/projects/project/filesystems/filesystem/snapshots/snapshot/rollback
LUN 스냅샷 롤백:
PUT /pools/pool/projects/project/luns/lun/snapshots/snapshot/rollback
요청 예:
PUT /api/storage/v1/pools/p1/projects/default/filesystems/fs-01 /snapshots/initial-backup/rollback
결과 예:
HTTP/1.1 202 Accepted Location: /pools/p1/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": "zfs-storage-1/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": "p1" } }
스냅샷 DELETE 명령은 시스템에서 프로젝트, 파일 시스템 또는 LUN 스냅샷을 삭제합니다.
다음 URI 매개변수가 사용됩니다.
소스 풀 이름
소스 프로젝트 이름
소스 파일 시스템 이름
LUN 이름
소스 스냅샷 이름
프로젝트 스냅샷 삭제:
DELETE /api/storage/v1/pools/pool/projects/project/snapshots/snapshot
파일 시스템 스냅샷 삭제:
DELETE /api/storage/v1/pools/pool/projects/project/filesystems/filesystem/snapshots/snapshot
파일 시스템 LUN 삭제:
DELETE /api/storage/v1/pools/pool/projects/projectsnapshot
스냅샷에 NDMP 보류가 있는 경우 ?confirm=true를 DELETE 명령에 추가합니다. 하지만 이렇게 하면 NDMP 작업에 부정적인 영향이 미칠 수 있습니다. 자세한 내용은 NDMP Configuration in Oracle ZFS Storage Appliance Administration Guide, Release OS8.8.x을 참조하십시오.
요청 예:
DELETE /pools/p1/projects/default/filesystems/fs-01/snapshots/initial-backup?confirm=true
?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"}}
파일 시스템 또는 볼륨에 대한 종속 항목을 나열합니다. 다음 URI 매개변수가 사용됩니다.
시스템 스토리지 풀 이름
프로젝트 이름
파일 시스템 이름
LUN 이름
스냅샷 이름
파일 시스템 종속 항목을 나열합니다.
GET /api/storage/v1/pools/pool/projects/project/filesystems/filesystem/snapshots/snapshot/dependents
볼륨 종속 항목을 나열합니다.
GET /api/storage/v1/pools/pool/projects/project/lun/lun/snapshots/snapshot/dependents
요청 예:
GET /api/storage/v1/pools/p1/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/p1/projects/rest/filesystems/snap01clone01", "share": "snap01clone01" }, { "project": "rest", "href": "/api/storage/v1/pools/p1/projects/rest/filesystems/snap01clone02", "share": "snap01clone02" }, { "project": "rest", "href": "/api/storage/v1/pools/p1/projects/rest/filesystems/snap01clone03", "share": "snap01clone03" } ] }