Oracle® ZFS Storage Appliance RESTful API 指南,发行版 2013.1.5.0

退出打印视图

更新时间: 2016 年 2 月
 
 

复制数据包

复制源和数据包命令。

表 95  复制源和数据包命令
请求
/api/storage/v1
描述
GET
/replication/sources
列出复制源
GET
/replication/sources/<source>
列出复制源详细信息
GET
/replication/sources/<source> /packages/<package>
获取指定的复制数据包
PUT
/replication/sources/<source> /packages/<package>
修改指定的复制数据包
DELETE
/replication/sources/<source> /packages/<package>
销毁指定的复制数据包
PUT
/replication/sources/<source> /packages/<package> /cancelupdate
对指定的数据包运行 cancelupdate
PUT
/replication/sources/<source> /packages/<package>/sever
对指定的数据包运行 sever
PUT
/replication/sources/<source> /packages/<package>/reverse
对指定的数据包运行 reverse
PUT
/replication/sources/<source> /packages/<package>/clone
克隆指定的数据包
GET
/replication/sources/<source> /packages/<package>/clone /conflicts
列出共享资源属性冲突
GET
/replication/sources/<source> /packages/<package>/projects
列出数据包项目
GET
/replication/sources/<source> /packages/<package>/projects /<project>
获取数据包项目
PUT
/replication/sources/<source> /packages/<package>/projects /<project>
修改数据包项目
GET
/replication/sources/<source> /packages/<package>/projects /<project>/usage/groups
获取数据包项目组的使用情况
GET
/replication/sources/<source> /packages/<package>/projects /<project>/usage/users
获取数据包项目用户的使用情况
POST
/replication/sources/<source> /packages/<package>/projects /<project>/snapshots
创建新快照
GET
/replication/sources/<source> /packages/<package>/projects /<project>/snapshots/<snapshot>
获取指定的快照属性
GET
/replication/sources/<source> /packages/<package>/projects /<project>/snapshots
列出所有快照对象
DELETE
/replication/sources/<source> /packages/<package>/projects /<project>/snapshots/<snapshot>
销毁指定的快照对象
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/snapshots/<snapshot>
重命名数据包项目快照
POST
/replication/sources/<source> /packages/<package>/projects /<project>/automatic
创建新的数据包项目自动快照
GET
/replication/sources/<source> /packages/<package>/projects /<project>/automatic /<automatic>
获取指定的数据包项目自动快照属性
GET
/replication/sources/<source> /packages/<package>/projects /<project>/automatic
列出所有数据包项目自动快照对象
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/automatic /<automatic>
修改指定的数据包项目自动快照对象
DELETE
/replication/sources/<source> /packages/<package>/projects /<project>/automatic /<automatic>
销毁指定的自动对象
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems
列出数据包文件系统
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>
获取数据包文件系统
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>
修改数据包文件系统
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/usage/groups
获取数据包文件系统组的使用情况
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/usage/users
获取数据包文件系统用户的使用情况
POST
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/snapshots
创建新快照
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
获取指定的快照属性
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/snapshots
列出所有快照对象
DELETE
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
销毁指定的快照对象
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/snapshots /<snapshot>
重命名数据包文件系统快照
POST
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/automatic
创建新的数据包文件系统自动快照
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
获取指定的数据包文件系统自动快照属性
GET
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/automatic
列出所有数据包文件系统自动快照对象
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
修改指定的数据包文件系统自动快照对象
DELETE
/replication/sources/<source> /packages/<package>/projects /<project>/filesystems /<filesystem>/automatic /<automatic>
销毁指定的自动对象
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns
列出数据包 LUN
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>
获取数据包 LUN
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>
修改数据包 LUN
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/usage /groups
获取数据包 LUN 组的使用情况
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/usage /users
获取数据包 LUN 用户的使用情况
POST
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/snapshots
创建新快照
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/snapshots /<snapshot>
获取指定的快照属性
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/snapshots
列出所有快照对象
DELETE
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/snapshots /<snapshot>
销毁指定的快照对象
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/snapshots /<snapshot>
重命名数据包 LUN 快照
POST
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/automatic
创建新的数据包 LUN 自动快照
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/automatic /<automatic>
获取指定的数据包 LUN 自动快照属性
GET
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/automatic
列出所有数据包 LUN 自动快照对象
PUT
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/automatic /<automatic>
修改指定的数据包 LUN 自动快照对象
DELETE
/replication/sources/<source> /packages/<package>/projects /<project>/luns/<lun>/automatic /<automatic>
销毁指定的自动对象

列出复制源

列出所有可用的复制源。

请求示例:

GET /api/storage/v1/replication/sources HTTP/1.1
Host: zfs-storage.example.com
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/v1/replication/sources/zfssa-repl-host",
        "ip_address": "10.80.231.58:216",
        "name": "zfssa-repl-host",
        "source": "source-000"
    }]
}

列出复制数据包

列出指定的复制源中的所有复制数据包。

请求示例:

GET /api/storage/v1/replication/sources/zfssa-repl/packages HTTP/1.1
Host: zfs-storage.example.com
Accept: application/json

结果示例:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529

{
    "packages": [{
        "enabled": true,
        "href": "/api/v1/storage/replication/sources/zfssa-repl/packages/package-008",
        "id": "b2d8b35a-a5a0-6c74-f7e9-b75c357e841f",
        "last_result": "unknown",
        "last_sync": "unknown",
        "last_try": "unknown",
        "state": "idle",
        "state_description": "Idle (no update in progress)"
    }, {
        "enabled": true,
        "href": "/api/storage/v1/replication/sources/zfssa-repl/packages/package-009",
        "id": "2643a0eb-648d-6ad7-d405-b690d06f6cf6",
        "last_result": "success",
        "last_sync": "Wed Jul 31 2013 21:58:02 GMT+0000 (UTC)",
        "last_try": "Wed Jul 31 2013 21:58:02 GMT+0000 (UTC)",
        "state": "idle",
        "state_description": "Idle (no update in progress)",
        "project": "gold/nas-rr-2643a0eb-648d-6ad7-d405-b690d06f6cf6/default",
    }
]}

修改数据包

修改数据包属性。

表 96  修改数据包属性
类型
名称
描述
布尔型
enabled
复制更新的当前状态

请求示例:

PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
    8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json

{"enabled": false}

结果示例:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

删除数据包

销毁复制数据包。

请求示例:

DELETE /api/storage/v1/replication/sources/zfssa-repl/packages
       /8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

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

响应示例:

HTTP/1.1 204 No-Content
X-Zfssa-Replication-Api: 1.0

取消更新

取消此数据包正在进行的更新。

请求示例:

PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
    8373d331-de60-e590-90e8-9ad69fcb4aec/cancelupdate HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

如果未进行更新,将返回 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/v1/storage/replication/sources/zfssa-repl/packages/
    8373d331-de60-e590-90e8-9ad69fcb4aec/clone HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

响应示例:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

克隆成功返回 HTTP 状态 202 (Accepted)。帮助命令可用于确定克隆操作是否出现冲突。

克隆冲突请求示例:

GET /api/storage/v1/replication/sources/zfssa-repl/packages/
    8373d331-de60-e590-90e8-9ad69fcb4aec/clone/conflicts HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

克隆/冲突返回冲突:

HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 58

{
    "conflicts": "There are no conflicts.\n"
}

属性:

Default settings:
            target_project = (unset)
       original_mountpoint = /export
       override_mountpoint = false
                mountpoint =

提供数据包

提供复制连接并将数据包内容移到新项目中。此操作永久性提供此数据包以及其在源系统中的复制的共享资源,使它们成为此系统上的本地项目。任何方向的后续复制更新都需要定义新操作和发送完整更新。

请求示例:

PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
    8373d331-de60-e590-90e8-9ad69fcb4aec/sever HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

{"projname":"restsev"}

成功响应:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0

反转数据包

反转复制方向。此操作禁用此数据包的复制,并将此数据包内容移到配置用于复制回源的新本地项目。当新项目首次复制回源后,自上次成功更新后对源所做的所有元数据或数据更改都将丢失。

请求示例:

PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
    8373d331-de60-e590-90e8-9ad69fcb4aec/reverse HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=

{"projname":"restrev"}

成功响应:

HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0