复制数据包
本节详述了复制数据包和源命令。
表 80 复制数据包命令
|
|
|
GET
|
/packages
|
列出所有复制数据包
|
GET
|
/packages/package
|
获取指定的复制数据包
|
PUT
|
/packages/package
|
修改指定的复制数据包
|
DELETE
|
/packages/package
|
销毁指定的复制数据包
|
PUT
|
/packages/package/cancelupdate
|
对指定的数据包运行 cancelupdate
|
PUT
|
/packages/package/sever
|
对指定的数据包运行 sever
|
PUT
|
/packages/package/pkgreverse
|
对指定的数据包运行 reverse
|
PUT
|
/packages/package/clone
|
克隆指定的数据包
|
GET
|
/packages/package/clone/conflicts
|
列出共享资源属性冲突
|
GET
|
/packages/package/projects
|
列出数据包项目
|
GET
|
/packages/package/projects/project
|
获取数据包项目
|
PUT
|
/packages/package/projects/project
|
修改数据包项目
|
GET
|
/packages/package/projects/project/usage/groups
|
获取数据包项目组的使用情况
|
GET
|
/packages/package/projects/project/usage/users
|
获取数据包项目用户的使用情况
|
GET
|
/packages/package/projects/project/snapshots
|
列出所有快照对象
|
GET
|
/packages/package/projects/project/snapshots/snapshot
|
获取指定的快照属性
|
DELETE
|
/packages/package/projects/project/snapshots/snapshot
|
销毁指定的快照对象
|
PUT
|
/packages/package/projects/project/snapshots/snapshot
|
重命名数据包项目快照
|
GET
|
/packages/package/projects/project/automatic
|
列出所有数据包项目自动快照对象
|
GET
|
/packages/package/projects/project/automatic/automatic
|
获取指定的数据包项目自动快照属性
|
GET
|
/packages/package/projects/project/filesystems
|
列出数据包文件系统
|
GET
|
/packages/package/projects/project/filesystems/filesystem
|
获取数据包文件系统
|
PUT
|
/packages/package/projects/project/filesystems/filesystem
|
修改数据包文件系统
|
GET
|
/packages/package/projects/project/filesystems/filesystem/usage/groups
|
获取数据包文件系统组的使用情况
|
GET
|
/packages/package/projects/project/filesystems/filesystem/usage/users
|
获取数据包文件系统用户的使用情况
|
GET
|
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
|
获取指定的快照属性
|
GET
|
/packages/package/projects/project/filesystems/filesystem/snapshots
|
列出所有快照对象
|
DELETE
|
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
|
销毁指定的快照对象
|
PUT
|
/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
|
重命名数据包文件系统快照
|
GET
|
/packages/package/projects/project/filesystems/filesystem/automatic
|
列出所有数据包文件系统自动快照对象
|
GET
|
/packages/package/projects/project/filesystems/filesystem/automatic/automatic
|
获取指定的数据包文件系统自动快照属性
|
GET
|
/packages/package/projects/project/luns
|
列出数据包 LUN
|
GET
|
/packages/package/projects/project/luns/lun
|
获取数据包 LUN
|
PUT
|
/packages/package/projects/project/luns/lun
|
修改数据包 LUN
|
GET
|
/packages/package/projects/project/luns/lun/usage/groups
|
获取数据包 LUN 组的使用情况
|
GET
|
/packages/package/projects/project/luns/lun/usage/users
|
获取数据包 LUN 用户的使用情况
|
GET
|
/packages/package/projects/project/luns/lun/snapshots/snapshot
|
获取指定的快照属性
|
GET
|
/packages/package/projects/project/luns/lun/snapshots
|
列出所有快照对象
|
DELETE
|
/packages/package/projects/project/luns/lun/snapshots/snapshot
|
销毁指定的快照对象
|
PUT
|
/packages/package/projects/project/luns/lun/snapshots/snapshot
|
重命名数据包 LUN 快照
|
GET
|
/packages/package/projects/project/luns/lun/automatic
|
列出所有数据包 LUN 自动快照对象
|
GET
|
/packages/package/projects/project/luns/lun/automatic/automatic
|
获取指定的数据包 LUN 自动快照属性
|
|
复制源及其相应的数据包还可以使用下面的命令来访问。
表 81 复制源命令
|
|
|
GET
|
仅使用 /api/storage/v1/replication/sources
|
列出复制源
|
GET
|
/source
|
列出复制源详细信息
|
GET
|
/source/packages/package
|
获取指定的复制数据包
|
PUT
|
/source/packages/package
|
修改指定的复制数据包
|
DELETE
|
/source/packages/package
|
销毁指定的复制数据包
|
PUT
|
/source/packages/package/cancelupdate
|
对指定的数据包运行 cancelupdate
|
PUT
|
/source/packages/package/sever
|
对指定的数据包运行 sever
|
PUT
|
/source/packages/package/pkgreverse
|
对指定的数据包运行 reverse
|
PUT
|
/source/packages/package/clone
|
克隆指定的数据包
|
GET
|
/source/packages/package/clone/conflicts
|
列出共享资源属性冲突
|
GET
|
/source/packages/package/projects
|
列出数据包项目
|
GET
|
/source/packages/package/projects/project
|
获取数据包项目
|
PUT
|
/source/packages/package/projects/project
|
修改数据包项目
|
GET
|
/source/packages/package/projects/project/usage/groups
|
获取数据包项目组的使用情况
|
GET
|
/source/packages/package/projects/project/usage/users
|
获取数据包项目用户的使用情况
|
GET
|
/source/packages/package/projects/project/snapshots/snapshot
|
获取指定的快照属性
|
GET
|
/source/packages/package/projects/project/snapshots
|
列出所有快照对象
|
DELETE
|
/source/packages/package/projects/project/snapshots/snapshot
|
销毁指定的快照对象
|
PUT
|
/source/packages/package/projects/project/snapshots/snapshot
|
重命名数据包项目快照
|
GET
|
/source/packages/package/projects/project/automatic
|
列出所有数据包项目自动快照对象
|
GET
|
/source/packages/package/projects/project/automatic/automatic
|
获取指定的数据包项目自动快照属性
|
GET
|
/source/packages/package/projects/project/filesystems
|
列出数据包文件系统
|
GET
|
/source/packages/package/projects/project/filesystems/filesystem
|
获取数据包文件系统
|
PUT
|
/source/packages/package/projects/project/filesystems/filesystem
|
修改数据包文件系统
|
GET
|
/source/packages/package/projects/project/filesystems/filesystem/usage/groups
|
获取数据包文件系统组的使用情况
|
GET
|
/source/packages/package/projects/project/filesystems/filesystem/usage/users
|
获取数据包文件系统用户的使用情况
|
GET
|
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
|
获取指定的快照属性
|
GET
|
/source/packages/package/projects/project/filesystems/filesystem/snapshots
|
列出所有快照对象
|
DELETE
|
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
|
销毁指定的快照对象
|
PUT
|
/source/packages/package/projects/project/filesystems/filesystem/snapshots/snapshot
|
重命名数据包文件系统快照
|
GET
|
/source/packages/package/projects/project/filesystems/filesystem/automatic
|
列出所有数据包文件系统自动快照对象
|
GET
|
/source/packages/package/projects/project/filesystems/filesystem/automatic/automatic
|
获取指定的数据包文件系统自动快照属性
|
GET
|
/source/packages/package/projects/project/luns
|
列出数据包 LUN
|
GET
|
/source/packages/package/projects/project/luns/lun
|
获取数据包 LUN
|
PUT
|
/source/packages/package/projects/project/luns/lun
|
修改数据包 LUN
|
GET
|
/source/packages/package/projects/project/luns/lun/usage/groups
|
获取数据包 LUN 组的使用情况
|
GET
|
/source/packages/package/projects/project/luns/lun/usage/users
|
获取数据包 LUN 用户的使用情况
|
GET
|
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
|
获取指定的快照属性
|
GET
|
/source/packages/package/projects/project/luns/lun/snapshots
|
列出所有快照对象
|
DELETE
|
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
|
销毁指定的快照对象
|
PUT
|
/source/packages/package/projects/project/luns/lun/snapshots/snapshot
|
重命名数据包 LUN 快照
|
GET
|
/source/packages/package/projects/project/luns/lun/automatic
|
列出所有数据包 LUN 自动快照对象
|
GET
|
/source/packages/package/projects/project/luns/lun/automatic/automatic
|
获取指定的数据包 LUN 自动快照属性
|
|
列出复制源
列出所有可用的复制源。
请求示例:
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/zfs-repl-host",
"ip_address": "ipaddr-1",
"name": "zfs-repl-host",
"source": "source-000"
}]
}
列出复制数据包
列出所有复制数据包。
请求示例:
GET /api/storage/v1/replication/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": [
{
"href": "/api/storage/v1/replication/packages/0efaab49-7b22-4d4a-def8-813c27780894",
"id": "0efaab49-7b22-4d4a-def8-813c27780894",
"source_name": "sourceA",
"source_asn": "8a22f6e0-4ee4-4b85-f141-e152f5fac961",
"source_ip": "ipaddr-1",
"source_pool": "poolA",
"target_pool": "poolA",
"replica_of": "projTest",
"enabled": true,
"state": "idle",
"state_description": "Idle (no update in progress)",
"offline": false,
"import_path": "",
"data_timestamp": "2017-03-09T22:36:12Z",
"last_sync": "2017-03-09T22:36:22Z",
"last_try": "2017-03-09T22:36:22Z",
"last_result": "success"
}
]
}
修改数据包
修改数据包属性。
|
|
|
enabled
|
boolean
|
复制更新的当前状态
|
|
请求示例:
PUT /api/storage/v1/replication/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
请求示例:
PUT /api/storage/v1/replication/packages/8373d331-de60-e590-90e8-9ad69fcb4aec/pkgreverse HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json
{"new_project_name":"restrev", "enable_action_upon_reversal":"true"}
结果示例:
HTTP/1.1 202 Accepted
X-Zfssa-Replication-Api: 1.0
删除数据包
销毁复制数据包。
请求示例:
DELETE /api/storage/v1/replication/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/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/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/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."
}
属性:
Default settings:
target_project = (unset)
original_mountpoint = /export
override_mountpoint = false
mountpoint =
提供数据包
提供复制连接并将数据包内容移到新项目中。此操作永久性提供此数据包以及其在源系统中的复制的共享资源,使它们成为此系统上的本地项目。任何方向的后续复制更新都需要定义新操作和发送完整更新。
请求示例:
PUT /api/storage/v1/replication/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/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