JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle® ZFS Storage Appliance RESTful API 指南,发行版 2013.1.3.0
Oracle 技术网
文档库
PDF
打印视图
反馈
search filter icon
search icon

文档信息

Oracle ZFS Storage Appliance RESTful API 入门

使用 RESTful API

RESTful API 警报服务

Analytics 服务

硬件服务

日志命令

网络命令

RESTful API 问题服务

RESTful API 角色服务

RESTful API SAN 服务

服务命令

RESTful API 存储服务

存储池操作

列出池

获取池

配置池

向池中添加存储

池清理

取消配置池

项目操作

列出项目

获取项目属性

创建项目

修改项目

删除项目

项目使用情况

文件系统操作

列出文件系统

获取文件系统

创建文件系统

修改文件系统

删除文件系统

文件系统配额和使用情况

LUN 操作

列出 LUN

获取 LUN

创建新的 LUN

修改 LUN

删除 Lun

快照和克隆操作

列出快照

获取快照

创建快照

重命名快照

克隆快照

回滚快照

删除快照

列出快照相关项

模式

列出属性

获取属性

创建属性

修改属性

删除属性

复制

获取复制服务

修改复制服务状态

复制目标

列出复制目标

获取复制目标

创建复制目标

删除复制目标

复制操作

列出复制操作

获取复制操作

创建复制操作

修改复制操作

取消更新

发送更新

删除复制操作

复制数据包

列出复制源

列出复制数据包

修改数据包

删除数据包

取消更新

克隆数据包

提供数据包

反转数据包

系统命令

RESTful API 用户服务

工作流命令

RESTful 客户机

快照和克隆操作

所有快照操作都可限定于给定的池或项目。快照操作也可限定于文件系统或 LUN 级别。

表 12-24  快照和克隆命令
请求
路径 /api/storage/v1
描述
GET
/snapshots
列出所有本地快照
GET
/pools/<pool>/projects /<project>/snapshots
列出所有项目快照
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
列出所有文件系统快照
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
列出所有 LUN 快照
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot>
获取项目快照详细信息
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
获取文件系统快照详细信息
GET
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
获取 LUN 快照详细信息
POST
/pools/<pool>/projects /<project>/snapshots
创建项目快照
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots
创建文件系统快照
POST
/pools/<pool>/projects /<project>/luns/<lun> /snapshots
创建 LUN 快照
PUT
/pools/<pool>/projects /<project>/snapshots/<snapshot>
修改项目快照
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
修改文件系统快照
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
修改 LUN 快照
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/clone
克隆文件系统快照
PUT
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>/clone
克隆 LUN 快照
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/rollback
将数据回滚到给定文件系统快照
PUT
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot>/rollback
将数据回滚到给定 LUN 快照
DELETE
/pools/<pool>/projects /<project>/snapshots/<snapshot>
销毁项目快照
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
销毁文件系统快照
DELETE
/pools/<pool>/projects /<project>/luns/<lun> /snapshots/<snapshot>
销毁 LUN 快照
GET
/pools/<pool>/projects /<project>/snapshots/<snapshot> /dependents
列出项目快照相关项
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>/dependents
列出文件系统快照相关项
GET
/pools/<pool>/projects /<project>/lun/<lun> /snapshots/<snapshot> /dependents
列出 LUN 快照相关项
POST
/pools/<pool>/projects /<project>/automatic
创建新项目自动快照
GET
/pools/<pool>/projects /<project>/automatic /<automatic>
获取指定的项目自动快照属性
GET
/pools/<pool>/projects /<project>/automatic
列出所有项目自动快照对象
PUT
/pools/<pool>/projects /<project>/automatic /<automatic>
修改指定的项目自动快照对象
DELETE
/pools/<pool>/projects /<project>/automatic /<automatic>
销毁指定的自动对象
POST
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
创建新文件系统自动快照
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
获取指定的文件系统自动快照属性
GET
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic
列出所有文件系统自动快照对象
PUT
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
修改指定的文件系统自动快照对象
DELETE
/pools/<pool>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
销毁指定的自动对象
POST
/pools/<pool>/projects /<project>/luns/<lun>/automatic
创建新的 LUN 自动快照
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
获取指定的 LUN 自动快照属性
GET
/pools/<pool>/projects /<project>/luns/<lun>/automatic
列出所有 LUN 自动快照对象
PUT
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
修改指定的 LUN 自动快照对象
DELETE
/pools/<pool>/projects /<project>/luns/<lun>/automatic /<automatic>
销毁指定的自动对象

列出快照

列出设备上的可用快照。列表可包含项目快照、文件系统快照或 LUN 快照,具体取决于请求 URI。

表 12-25  列出快照命令表单
命令
/api/storage/v1/pools/{pool}/projects/{project}
列出项目快照
/snapshots
列出文件系统快照
/filesystems/{share}/snapshots
列出 lun 快照
/lun/{share}/snapshots

请求示例:

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 /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"
    }
}

重命名快照

重命名现有快照。

请求示例:

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
表 12-26  URI 参数
参数
描述
pool
源池名称
project
源项目名称
filesystem
源共享资源名称(适用于文件系统快照)
lun
源共享资源名称(适用于 LUN 快照)
snapshot
源快照名称

请求正文包含带以下属性的 JSON 对象。

表 12-27  克隆快照属性
类型
名称
描述
字符串
pool
目标克隆池名称
字符串
project
目标克隆项目名称
字符串
lun
目标 LUN 名称(适用于 LUN 快照)

请求示例:

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
表 12-28  URI 参数
参数
描述
pool
源池名称
project
源项目名称
filesystem
源文件系统名称(适用于文件系统快照)
lun
源 LUN 名称(适用于 LUN 快照)
snapshot
源快照名称

请求示例:

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"
    }
}

删除快照

删除快照命令可用于从系统中删除项目快照、文件系统快照或 LUN 快照。

请求示例:

PUT /pools/gold/projects/default/filesystems/fs-01/
    snapshots/initial-backup HTTP/1.1

成功删除后将返回 HTTP 状态 204 (not Content)。

HTTP/1.1 204 No-Content

列出快照相关项

列出文件系统或卷的相关项。

表 12-29  列出快照相关项命令表单
命令
/api/storage/v1/pools/{pool}/projects/{project}
列出文件系统相关项
/filesystems/{share}/snapshots/{snapshot}/dependents
列出卷相关项
lun/{lun}/snapshots/{snapshot}/dependents
表 12-30  URI 参数
参数
描述
pool
系统存储池的名称
project
项目名称
filesystem
文件系统的名称
lun
LUN 名称

请求示例:

GET /apistorage/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"
        }
    ]
}