所有快照操作都可限定于给定的池或项目。快照操作也可限定于文件系统或 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} 开头
|
列出设备上的可用快照。列表可包含项目快照、文件系统快照或 LUN 快照,具体取决于请求 URI。
|
请求示例:
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-"Snapshot",当前快照名称
请求正文-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 运行产生不利影响。有关更多信息,请参见Working with NDMP in Oracle ZFS Storage Appliance Administration Guide, Release 2013.1.5.0。
示例
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" } ] }